Application Programming Interface forums

0 Aanmeldingen

3 Onderwerpen

4902 Gesprekken

Area for questions and answers about SuperOffice API's.

push_pin lock

Number allocation when issuing POST call

Hello Everyone, I have a problem when issuing a API POST call to either the Person or Contact entity. Both entities make use of a so-called number allocation , but I seemingly cannot tap into  this functionality when issuing the call.  I have tried: Not specifying the field in the body that I post, hoping that the (next) number would be allocated automatically. It did not, unfortunately. It left the field blank, even though the settings specifies that the field cannot be blank. Specifying the field and its value in the body. I did this by first making a POST call to the GetRefCountEntity agent and getting the current value of the specific RefCountId then adding 1 to that number ("Number2") - the body would look like this (abbreviated): {   "Name": "MitTestFirma",   "OrgNr": "12341234",   "Number2": 35067,   "Emails": [     { ... etc etc } This method is not working either: When I query the GetRefCountEntity agent again after posting, the value has not changed for the specific entity. Does anyone have a suggestion on how to get this to work - if possible.   Thank you in advance and merry Christmas. Henrik
Henrik Povlsen
2
3
3 u, 3 m geleden | 10:19 a.m.
Onderwerp:
Online development and web service API's

Laatste antwoord

Hi Henrik, Yes, but i would recommend that you use the full response of the /default call, and modify that based on your needs, since the /default call will do more then just the Number2 field (will also set default values from custom fields for example)
by David Hollegien
2 u, 48 m geleden | 10:34 a.m.
push_pin lock

Getting MergeMoveLog data

An app I have to update is written with use of primary id for person and contact, stored in an external system. It was done to speed things up, and to have an exact is instead of e.g. a name. So thats were things are now. But when a company is merge into another company or a person is moved, the id no longer exists of cause and I have to get the new id somehow. In SQL that is easy, somehow loop the mergemovelog table until the bottom starting with the old id, and getting the new id, and do it again until null if found. I can't find any api entry for the table, I could use the dynamic provider, and that is easy enough, but is there a api get for that table? (Maybe I could wish for a mergemovelog helper, with old id that returns the new id) So can someone help me and tell me if it is possible to make an api rest call for the table mergemovelog? Regards Martin
Martin Andersen
2
1
19 dec 2024 | 04:00 p.m.
Onderwerp:
Online development and web service API's

Laatste antwoord

No, there isn't an dedicated api/archive provider for the mergemovelog table, so this should be done with a dynamic query like you mentioned.
by David Hollegien
20 dec 2024 | 08:42 a.m.
push_pin lock

Format number with thousandseparator?

Hi, I'm going to print out a lot of big numbers on a custom screen in CS, and would like to include a thousandseparator to make the formatting prettier. For example, instead of printing "100000000" I'd like it to be "100 000 000". Does anyone have a codesnippet for doing this?
Frode Lillerud
3
3
20 aug 2012 | 12:00 a.m.
Onderwerp:
Service and CRMScript Discussion

Laatste antwoord

Hi, I don't know if this is of any use to anyone, but I have created two functions for this base on Sverre's code above, one for an Integer number, and one for a Float. #setLanguageLevel 4; String FormatIntegerWithThousandSeparator(Integer inputNumber, String thousandSeperator) { //Convert The Number Into A String String strInputNumber = inputNumber.toString(); //Loop Back In Blocks Of Three, And Add Thousand Seperators Integer len = strInputNumber.getLength() - 3; while (len > 0) { strInputNumber = strInputNumber.subString(0, len) + thousandSeperator + strInputNumber.subString(len, strInputNumber.getLength() - len); len -= 3; } //Return Formatted Number Return strInputNumber; } String FormatFloatWithThousandSeparator(Float inputNumber, String thousandSeperator, Integer noOfDecimalPlaces) { //Split The Number Into A Whole Number And It's Decimals Integer inputNumberWholeNumber = inputNumber.floor(); Float remainingValue = inputNumber - inputNumberWholeNumber; String strRemainingValue = remainingValue.toString(noOfDecimalPlaces); //Format The Whole Number Into The Thousand Seperators And Add Back The Decimals Return FormatIntegerWithThousandSeparator(inputNumberWholeNumber, thousandSeperator) + strRemainingValue.subString(1, strRemainingValue.getLength()); } //Test Functions print(FormatIntegerWithThousandSeparator(123456789, ",") + ' '); print(FormatFloatWithThousandSeparator(123456789.99, ",", 2) + ' '); print(FormatIntegerWithThousandSeparator(325233585, ",") + ' '); print(FormatFloatWithThousandSeparator(325233585.22, ",", 2) + ' '); print(FormatFloatWithThousandSeparator(325233585.00, ",", 2) + ' '); Trevor
by Trevor Sharp
19 dec 2024 | 03:01 p.m.
push_pin lock

SuperOffice forms and hidden field

Hi, I have created a hidden field that I would like to populate depending on where the link for the form is used: https://online4.superoffice.com/CustXX/CS/scripts/customer.fcgi?action=formFrame&formId=xxxxx&field_company=Test&field_myHidden=FormText   The URL looks good in the webpage where I have published it(when hover over it) field_company is filled in properly when form is posted and Eventdata, while field_myHidden is empty in the eventdata.   If I give the hidden field a default value in the form builder this value is properly passed through.   Any ideas what the issue can be?   Thanks!
Johan Friberg
3
9
16 dec 2024 | 01:40 p.m.
Onderwerp:
Service and CRMScript Discussion

Laatste antwoord

Perfect, glad my input helped you to resolve the issue.
by Anders Larsson
18 dec 2024 | 01:28 p.m.
push_pin lock

Stopping and starting the clock on a request via CRM Script

Hi All, I am trying to stop the clock on a request, when an internal user replies to the request and Continue the clock when the customer replies to the request, either by email or by the portal.  Support have confirmed this cannot be done in the standard system, and have suggested that I might be able to do this via a CRM Script.   I assume I can use the "New internal message on request" and "New external message on request" events, to either start or stop the clock, but I cannot find how to stop and start the clock via CRM Script.  Is this possible to do via scripting?   Many thanks,   Trevor
Trevor Sharp
1
2
12 dec 2024 | 12:30 p.m.
Onderwerp:
Service and CRMScript Discussion

Laatste antwoord

Hi Sverre, Thank you for your reply, hope you are well. So if I set the request to a status that has a "Track Time As" to "None" or "Externally", would that mean that the Escalation Levels would be paused, because I only want to escalate the request if the once the time spent internally reaches the time specified in the escalation event. Also does time spent "In Queue" affect the escalation levels. Many thanks, Trevor
by Trevor Sharp
17 dec 2024 | 09:25 a.m.
push_pin lock

WebTools auto login not working due to download service being offline/unavailable

We are having an issue with webtools auto login (double click on the owl in the tray area), it doesnt work and the log file shows the following: Error    2024-04-30T09:02:31.15    SuperOffice.TrayApp.Server.TrayAppServer>Execute<TRequest, TResponse> SuperOffice.TrayApp.TrayApp2.GetAlarmsRequest SuperOffice.TrayApp.Server.TrayAppServer+OnExecute`2[SuperOffice.TrayApp.TrayApp2.GetAlarmsRequest,SuperOffice.TrayApp.TrayApp2.GetAlarmsResponse] MSSQL - 12 \\\ 1501235947 SuperOffice 10.3.3 NetServer 10.3 Release (Build: Release_OnSite_10.3.3_2024.04.17-01) 10.3.0.0 10.3.3.617 Release_OnSite_10.3.3_2024.04.17-01 Default ACRMWEB02 NetServer        TrayAppServer.Execute implementation failed SuperOffice.TrayApp.TrayApp2.GetAlarmsRequest DH (1993) - Authorized (Employee)Gebruikersniveau 0+:  MSSQL - 12 \\ACRMSQL10\SuperOffice_AllCRM (crm_AllCRM), Database serial #: 1501235947, Database Expiration Date: Friday, July 12, 2024 ACRMSQL10 SuperOffice_AllCRM 1501235947 SuperOffice 10.3.3 NetServer 10.3 Release (Build: Release_OnSite_10.3.3_2024.04.17-01) 10.3.0.0 10.3.3.617 Release_OnSite_10.3.3_2024.04.17-01 Default ACRMWEB02 NetServer Response status code does not indicate success: 502 (Bad Gateway).    at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()    at SuperOffice.Util.HttpHelper.GetObjectFromHttpSyncWithContent[T](String url, HttpServiceJwtConfig config, RequestType requestType, HttpContent content)    at SuperOffice.DCF.Web.WebTools.WebToolsVersionService.GetVersionResponse(String clientVersion)    at SuperOffice.TrayApp.Server.TrayAppServer.ApplyVersioningRules[TResponse,TRequest](TResponse response, TRequest request)    at SuperOffice.TrayApp.Server.TrayAppServer.Execute[TRequest,TResponse](TRequest request, OnExecute`2 implementation) System.Net.Http           Exception Message:Response status code does not indicate success: 502 (Bad Gateway).       Exception Source:System.Net.Http       Exception Target:System.Net.Http.HttpResponseMessage EnsureSuccessStatusCode()          at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()          at SuperOffice.Util.HttpHelper.GetObjectFromHttpSyncWithContent[T](String url, HttpServiceJwtConfig config, RequestType requestType, HttpContent content)          at SuperOffice.DCF.Web.WebTools.WebToolsVersionService.GetVersionResponse(String clientVersion)          at SuperOffice.TrayApp.Server.TrayAppServer.ApplyVersioningRules[TResponse,TRequest](TResponse response, TRequest request)          at SuperOffice.TrayApp.Server.TrayAppServer.Execute[TRequest,TResponse](TRequest request, OnExecute`2 implementation)   The download service is offline, so i guess that is the underyling issue (https://www3-superoffice-com.azurewebsites.net/DownloadService/) WebTools should still work when this isn't available... SuperOffice Version: SuperOffice CRM OnSite 10.3 Release_OnSite_10.3.3_2024.04.17-01 WebTools version:   
David Hollegien
1
7
30 apr 2024 | 07:05 a.m.
Onderwerp:
Online development and web service API's

Laatste antwoord

New day, new Web tools service dependency that is not available...
by David Hollegien
17 dec 2024 | 08:58 a.m.
push_pin lock

NSUserDefinedFieldInfoAgent function Publish only works once from script

I have tried to create some Userdefined fields through crmscripts with the publish function in the NSUserDefinedFieldInfoAgent. This works once, but when I try to create another field on the same entity does nothing happen.  The publish function runs but the field is not created.  If i remove the first field and try to create a new one does the creation process work. The version variable is fetched and the ProgId is unique. Is there something else i can try?  One thing that is a bit weird is that the new field is not displayed at the bottom in the userdefined fieldlist in the admin view.

FL

Fredrik Larsson
1
0
13 dec 2024 | 02:52 p.m.
Onderwerp:
Service and CRMScript Discussion
push_pin lock

Trigger dialog for "opening telephone application" via EventDataDialog

Is there a way to trigger the "open telephone application" dialog through the EventDataDialog?  I have tried using the markup element to add an link,but it seems like it only works with weblinks or is there some other way i could be able to trigger this while being in the dialog flow? 

FL

Fredrik Larsson
3
5
12 dec 2024 | 11:41 a.m.
Onderwerp:
Online development and web service API's

Laatste antwoord

Hi Fredrik, Yeah that sounds like a method which should at least work. Another alternative 'might' be to link it to a button in the request header - which redirects to a CRMscript - which then redirects to a tel-hyperlink. Probably you would have to use the "Action = Open website" logic then (and link it to your script which contains the HTML-redirect-logic), instead of executing a CRMscript.
by Bas Kreijveld
13 dec 2024 | 07:54 a.m.
push_pin lock

cannot fetch all Tickets data from Message in SearchEngine

Hi, I cannot fetch all Tickets data from Message, could Someone check this? Thanks!
Jianchun You
2
2
12 dec 2024 | 02:52 p.m.
Onderwerp:
Service and CRMScript Discussion

Laatste antwoord

Hi Eivind, I am sorry that's my wrong typing. Thanks!
by Jianchun You
12 dec 2024 | 06:47 p.m.
push_pin lock

Linking to minipanel

We want to link to minipanel in two different scenarios: Scenario 1: We are in the company screen, on a one of our webpanels. We want to open the project minipanel on click of something, without navigating away from the company screen. Scenario 2:  Still on a tab in the company screen, and we now want to open some custom web panel with some parameters in the minipanel. Using ClientCrossMessaging with something like this superoffice:sidepanel.testpage?contactid=123 seems to activate the correct panel, but it will no reload. And not every time... How to do it properly ?

IT

Inge Simon Thorbjørnsen
1
0
10 dec 2024 | 04:28 p.m.
Onderwerp:
Online development and web service API's