<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Efficy Overflow Q&amp;A - Recent questions and answers in Remote API (JSON, SOAP, Node)</title>
<link>https://overflow.efficy.io/?qa=qa/developers/customizing-efficy/microsoft-net-soap-proxy</link>
<description>Powered by Question2Answer</description>
<item>
<title>Answered: Last version of Efficy.Net.dll</title>
<link>https://overflow.efficy.io/?qa=6999/last-version-of-efficy-net-dll&amp;show=7003#a7003</link>
<description>&lt;p&gt;Hi, it is possible for the Efficy Team to update the online documentation  ?     &lt;br&gt;
At &lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.io/edn/projectguides/soap_integrations_documentation#soap-url&quot;&gt;&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.io/edn/projectguides/soap_integrations_documentation#soap-url&quot;&gt;https://help.efficy.io/edn/projectguides/soap_integrations_documentation#soap-url&lt;/a&gt;&lt;br&gt;
nor &lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.io/edn/rpcfunctions&quot;&gt;&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.io/edn/rpcfunctions&quot;&gt;https://help.efficy.io/edn/rpcfunctions&lt;/a&gt;&lt;br&gt;
there is no mention of this argument :-( ...&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=6999/last-version-of-efficy-net-dll&amp;show=7003#a7003</guid>
<pubDate>Thu, 30 Nov 2023 10:28:51 +0000</pubDate>
</item>
<item>
<title>Answered: SOAP API Security</title>
<link>https://overflow.efficy.io/?qa=6825/soap-api-security&amp;show=6852#a6852</link>
<description>&lt;p&gt;Hi there. Sorry for the late answer.&lt;/p&gt;

&lt;p&gt;The security model of Efficy is identical between the UI and the RPC operations (SOAP, JSON requests).&lt;/p&gt;

&lt;p&gt;Could it be that the query with the e-mail parameter is SQL and the one for opportunities in Efficy format. The latter one will have the security clause included and will filter only by the permissions of the current user (defined by the groups of SOAP User)&lt;/p&gt;

&lt;p&gt;You could write them both in SQL and only share the queries with the SOAP Group and don't give any further table rights on other entities.&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=6825/soap-api-security&amp;show=6852#a6852</guid>
<pubDate>Thu, 30 Mar 2023 06:18:19 +0000</pubDate>
</item>
<item>
<title>Edit specific detail from SOAP API when K_RELATION exists</title>
<link>https://overflow.efficy.io/?qa=6839/edit-specific-detail-from-soap-api-when-krelation-exists</link>
<description>&lt;p&gt;when using the soap interface, the customer wants to update a detail (contact) on a relation where K_RELATION is present. &lt;/p&gt;

&lt;p&gt;This is his request &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;SOAP-ENV:Envelope xmlns:efficy=http://www.efficy.com xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope&amp;gt;
            &amp;lt;SOAP-ENV:Body&amp;gt;
                           &amp;lt;efficy:edit key=&quot;734871&quot; entity=&quot;POLI&quot;&amp;gt;
                                           &amp;lt;updatedetail detailkey=&quot;27963&quot; detail=&quot;CONT&quot;&amp;gt;
                                                           &amp;lt;f_role&amp;gt;2&amp;lt;/f_role&amp;gt;
                                           &amp;lt;/updatedetail&amp;gt;
                           &amp;lt;/efficy:edit&amp;gt;
            &amp;lt;/SOAP-ENV:Body&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;and this the response :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;SOAP-ENV:Envelope xmlns:efficy=http://www.efficy.com xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope&amp;gt;
&amp;lt;SOAP-ENV:Body&amp;gt;
    &amp;lt;efficy:edit key=&quot;734871&quot; entity=&quot;POLI&quot; edithandle=&quot;4&quot; error=&quot;true&quot;&amp;gt;
        &amp;lt;updatedetail detailkey=&quot;27963&quot; detail=&quot;CONT&quot;&amp;gt;
            &amp;lt;f_role&amp;gt;2&amp;lt;/f_role&amp;gt;
        &amp;lt;/updatedetail&amp;gt;
    &amp;lt;/efficy:edit&amp;gt;
    &amp;lt;SOAP-ENV:Fault&amp;gt;
        &amp;lt;faultcode&amp;gt;EEfficyException&amp;lt;/faultcode&amp;gt;
        &amp;lt;faultstring&amp;gt;Cannot find detail with key &quot;27963&quot;, relation &quot;1&quot;&amp;lt;/faultstring&amp;gt;
        &amp;lt;faultid/&amp;gt;
        &amp;lt;Detail&amp;gt;CORE-1332&amp;lt;/Detail&amp;gt;
    &amp;lt;/SOAP-ENV:Fault&amp;gt;
&amp;lt;/SOAP-ENV:Body&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;does he need to search for the specific detail with the detail or is there a better way to obtain the K_RELATION to edit the correct detail ?&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=6839/edit-specific-detail-from-soap-api-when-krelation-exists</guid>
<pubDate>Wed, 15 Mar 2023 13:53:11 +0000</pubDate>
</item>
<item>
<title>Answered: (API) How to send fax and sms from Efficy as it exists for emails notifications ?</title>
<link>https://overflow.efficy.io/?qa=6755/api-how-send-fax-and-from-efficy-exists-emails-notifications&amp;show=6756#a6756</link>
<description>&lt;p&gt;See &lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.io/edn/projectguides/integration_sms_avmUp&quot;&gt;https://help.efficy.io/edn/projectguides/integration_sms_avmUp&lt;/a&gt; for something we have done before.&lt;/p&gt;

&lt;p&gt;Sending a fax? That's a joke I hope :-)&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=6755/api-how-send-fax-and-from-efficy-exists-emails-notifications&amp;show=6756#a6756</guid>
<pubDate>Thu, 10 Nov 2022 11:13:09 +0000</pubDate>
</item>
<item>
<title>Answered: What is WebHookDispatch service used for?</title>
<link>https://overflow.efficy.io/?qa=6727/what-is-webhookdispatch-service-used-for&amp;show=6728#a6728</link>
<description>&lt;p&gt;Hum I found the information in EDN : &lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.io/edn/admin/crft_2021_otherchanges&quot;&gt;https://help.efficy.io/edn/admin/crft_2021_otherchanges&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WebHookDispatch (builds greater than 26325)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There was already a schedulable process that group several database cleaning operations.&lt;/p&gt;

&lt;p&gt;Now the process has been converted to two services:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;WebHookDispatchAdmin / WebHookDispatcService: it handles only the WebHook part of the DBMaintenance process&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In addition, the new WebHookDispatch has some new features:&lt;br&gt;
- Within the selected databases, it checks the ones having active WebHooks and cache the list during 4 hours (configurable)&lt;br&gt;
- A new field OWNEREMAIL has been added in the WebHook configuration in the designer, to notify the responsible of the hook when there is an issue. A mail will be sent once a day when there are more then 10 consecutive errors or when the pending messages stored into the database growed up to 1 Mb&lt;/p&gt;

&lt;p&gt;If you want to know more about WebHooks you can also check this projectGuide: &lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.io/edn/projectguides/webhooks&quot;&gt;&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.io/edn/projectguides/webhooks&quot;&gt;https://help.efficy.io/edn/projectguides/webhooks&lt;/a&gt;&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=6727/what-is-webhookdispatch-service-used-for&amp;show=6728#a6728</guid>
<pubDate>Wed, 19 Oct 2022 15:17:27 +0000</pubDate>
</item>
<item>
<title>Answered: Is there a way to send mutlivalue fields values through the API ?</title>
<link>https://overflow.efficy.io/?qa=6705/is-there-way-to-send-mutlivalue-fields-values-through-the-api&amp;show=6706#a6706</link>
<description>&lt;p&gt;R&amp;amp;D answer : &lt;/p&gt;

&lt;p&gt;These translated values are not returned by the query. The interface that consumes the data is responsible to translate them, in Efficy this is done by &amp;lt;%GetDataGrid()%&amp;gt; using getMultiValueLabels.&lt;/p&gt;

&lt;p&gt;You need to create a virtual field with a SQL stored procedure like &lt;code&gt;GET_OPPORTUNI_COMPETITORS_VAL&lt;/code&gt;.&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=6705/is-there-way-to-send-mutlivalue-fields-values-through-the-api&amp;show=6706#a6706</guid>
<pubDate>Thu, 06 Oct 2022 13:31:44 +0000</pubDate>
</item>
<item>
<title>How to manage SOAP requests WSSE (open spec) authentication in JS ?</title>
<link>https://overflow.efficy.io/?qa=6700/how-to-manage-soap-requests-wsse-open-spec-authentication-in</link>
<description>&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;Some context: I have a customer who want me to query the KBO OpenData API.&lt;br&gt;
They use SOAP along with the WSSE open standard, for the authentication.&lt;/p&gt;

&lt;p&gt;Do we have a library / tool / projutil to handle the generation of a WSSE header (given a password and username) ?&lt;/p&gt;

&lt;p&gt;I swear I have looked around, but alas didn't find such tool&lt;/p&gt;

&lt;p&gt;Thank you&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=6700/how-to-manage-soap-requests-wsse-open-spec-authentication-in</guid>
<pubDate>Tue, 04 Oct 2022 14:16:14 +0000</pubDate>
</item>
<item>
<title>Efficy Entreprise Remote API and Sessions : does the SS_ID is working with the JSON API and the API Key ?</title>
<link>https://overflow.efficy.io/?qa=6423/efficy-entreprise-remote-sessions-does-ssid-working-json</link>
<description>&lt;p&gt;On &lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.io/edn/dev/dnsp_efficysessionclass&quot;&gt;EDN efficysessionclass&lt;/a&gt; it is written that we can use the &lt;code&gt;SS_ID&lt;/code&gt; parameter in order to create has many sessions we want with the SOAP api.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I suppose it works, but does this &lt;code&gt;SS_ID&lt;/code&gt; parameter is working with the JSON API?&lt;/li&gt;
&lt;li&gt;I also suppose that it works, but does this &lt;code&gt;SS_ID&lt;/code&gt; parameter is working when we use an Efficy API KEY?&lt;/li&gt;
&lt;li&gt;Do we have any limitation of the number of sessions that we can open/managed?&lt;/li&gt;
&lt;li&gt;Do we have to manage a cookie for each session we open with the SS_ID?&lt;/li&gt;
&lt;li&gt;I suppose we need to do it, but do we have to close each sessions once all the calls are finished?&lt;/li&gt;
&lt;li&gt;If we don't use the SS_ID parameter is it possible to launch several Efficy API calls at the same time? if yes, how many simultaneous call can we do?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I know it is a lot of question, but I could not find any answer in EDN.&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=6423/efficy-entreprise-remote-sessions-does-ssid-working-json</guid>
<pubDate>Wed, 05 Jan 2022 15:32:12 +0000</pubDate>
</item>
<item>
<title>Answered: Alphanumeric field gives bizarre error in JSON API request</title>
<link>https://overflow.efficy.io/?qa=6318/alphanumeric-field-gives-bizarre-error-in-json-api-request&amp;show=6319#a6319</link>
<description>&lt;p&gt;Hi Stijn&lt;/p&gt;

&lt;p&gt;I tested it in 2021, 11.3 and there is no issue. But indeed, with 11.2 I can replicate the same error as you have with the following code snippet from the Browser console.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;var body = [{
        &quot;@name&quot;: &quot;Edit&quot;,
        &quot;entity&quot;: &quot;Docu&quot;,
        &quot;commit&quot;: &quot;true&quot;,
        &quot;closecontext&quot;: &quot;true&quot;,
        &quot;@func&quot;: [{
                &quot;@name&quot;: &quot;update&quot;,
                &quot;@data&quot;: {
                    &quot;NAME&quot;: &quot;220309282357&quot;,
                }
            }
        ]
    }
]

fetch(&quot;json&quot;, {
    body: JSON.stringify(body),
    method: &quot;POST&quot;,
    headers: {
        &quot;Content-Type&quot;: &quot;application/json; charset=UTF-8&quot;,
        &quot;Accept&quot;: &quot;application/json&quot;
    }
}).then(response =&amp;gt; response.json()).then(data =&amp;gt; {
    users = data;
    console.log(users);
});
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It's a known issue in 11.2 that was patched in 11.3&lt;/p&gt;

&lt;p&gt;APIs: use stricter ISO-8601 date value conversion for JSON date values (&lt;strong&gt;CFT-2020-115852&lt;/strong&gt;).&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=6318/alphanumeric-field-gives-bizarre-error-in-json-api-request&amp;show=6319#a6319</guid>
<pubDate>Fri, 15 Oct 2021 07:26:57 +0000</pubDate>
</item>
<item>
<title>Answered: is there a way to get the session ID</title>
<link>https://overflow.efficy.io/?qa=6121/is-there-a-way-to-get-the-session-id&amp;show=6123#a6123</link>
<description>&lt;p&gt;Logging a session ID is a security weakness and described by &lt;a rel=&quot;nofollow&quot; href=&quot;https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html&quot;&gt;OWASP here&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Sensitive data like the session ID should not be included in the logs in order to protect the session logs against session ID local or remote disclosure or unauthorized access. However, some kind of session-specific information must be logged in order to correlate log entries to specific sessions. It is recommended to &lt;strong&gt;log a salted-hash of the session ID&lt;/strong&gt; instead of the session ID itself in order to allow for session-specific log correlation without exposing the session ID.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;As example, this ServerJs snippet returns a hash of the Efficy SessionID (&lt;code&gt;cookie&lt;/code&gt; property) salted with the Efficy license name.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;return hashSha256(Request.cookie + Efficy.databaseLicenseName());
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;E.g. &lt;code&gt;71d4732d8119aacbc67b671598e3d6bc270fec141372ca6b07f811b91cb3cc57&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Each request of this session with have the same returned string, that allows you to uniquely identify and group session related information, without giving up security.&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=6121/is-there-a-way-to-get-the-session-id&amp;show=6123#a6123</guid>
<pubDate>Tue, 25 May 2021 07:01:17 +0000</pubDate>
</item>
<item>
<title>Answered: How to pass parameters to executeDatabaseQuery?</title>
<link>https://overflow.efficy.io/?qa=6074/how-to-pass-parameters-to-executedatabasequery&amp;show=6102#a6102</link>
<description>&lt;p&gt;After testing and checking the code, it appears that the retrieval of arguments of a SOAP node always assumes that the argument names in the XML should be lowercase, as they are for all XML generated by the DataSync Remote.&lt;/p&gt;

&lt;p&gt;Therefore, the solution is quite easy :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;queryParameters.values(&quot;param&quot; + (index + 1)) = param;
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=6074/how-to-pass-parameters-to-executedatabasequery&amp;show=6102#a6102</guid>
<pubDate>Mon, 17 May 2021 19:24:54 +0000</pubDate>
</item>
<item>
<title>Answered: Can we know the IP address of the sender of a node request?</title>
<link>https://overflow.efficy.io/?qa=5915/can-we-know-the-ip-address-of-the-sender-of-a-node-request&amp;show=5931#a5931</link>
<description>&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;A trick could be that when a user logon. You do an ajax call from the CRM client side to an external service.&lt;br&gt;
Example:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;$.getJSON('&lt;a rel=&quot;nofollow&quot; href=&quot;https://api.ipify.org?format=jsonp&amp;amp;callback=?&quot;&gt;https://api.ipify.org?format=jsonp&amp;amp;callback=?&lt;/a&gt;', function(data) {&lt;br&gt;
    console.log(JSON.stringify(data, null, 2));&lt;br&gt;
  });&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then with the answer you send you ip to CRM server side and register it inside your user session &lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.io/edn/serverjs#Efficy-writeSessionString&quot;&gt;https://help.efficy.io/edn/serverjs#Efficy-writeSessionString&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then It could be accessible in every node endpoint with&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.io/edn/serverjs#Efficy-readSessionString&quot;&gt;https://help.efficy.io/edn/serverjs#Efficy-readSessionString&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For the security reason: don't forget that change your ip is maybe to most easy think to do when you want to use some security door, and alot of customer even use VPN for their business.&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5915/can-we-know-the-ip-address-of-the-sender-of-a-node-request&amp;show=5931#a5931</guid>
<pubDate>Tue, 02 Mar 2021 08:42:11 +0000</pubDate>
</item>
<item>
<title>Is there anyone who plugged Efficy into an appointment scheduling tool?</title>
<link>https://overflow.efficy.io/?qa=5599/there-anyone-plugged-efficy-into-appointment-scheduling-tool</link>
<description>&lt;p&gt;Is there anyone who plugged Efficy into an appointment scheduling tool? The need is for Efficy to send a set of diaries to the tool and for this tool to highlight the slots where people are available to make appointments, also taking into account the travel times between 2 appointments.&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5599/there-anyone-plugged-efficy-into-appointment-scheduling-tool</guid>
<pubDate>Thu, 08 Oct 2020 08:31:19 +0000</pubDate>
</item>
<item>
<title>Answered: when this log file is created ? efficy_ServerJS_YYYYDDMM.log</title>
<link>https://overflow.efficy.io/?qa=5550/when-this-log-file-is-created-efficyserverjsyyyyddmm-log&amp;show=5563#a5563</link>
<description>&lt;p&gt;Log is not synchronous. Lines are buffered and we need to explicitly flush the buffer to the file. Flush is done in the Log method, if one minute elapsed since the previous flush. This is why your file is created at the second call.&lt;br&gt;
Regards,&lt;/p&gt;

&lt;p&gt;Pascal &lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5550/when-this-log-file-is-created-efficyserverjsyyyyddmm-log&amp;show=5563#a5563</guid>
<pubDate>Wed, 09 Sep 2020 07:21:18 +0000</pubDate>
</item>
<item>
<title>Answered: Is it possible to pass a null value in JSON API request?</title>
<link>https://overflow.efficy.io/?qa=5541/is-it-possible-to-pass-a-null-value-in-json-api-request&amp;show=5547#a5547</link>
<description>&lt;p&gt;Hi Vitaly&lt;/p&gt;

&lt;p&gt;It's been a long time since we were in contact :-)&lt;br&gt;
You can't explicitly pass a NULL value, at least I don't know about it.&lt;/p&gt;

&lt;p&gt;It looks a better idea to improve the select statement that would need to make a distinction between '' and NULL. For native Efficy queries, it's handled automatically.&lt;/p&gt;

&lt;p&gt;Regards&lt;br&gt;
Kristof&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5541/is-it-possible-to-pass-a-null-value-in-json-api-request&amp;show=5547#a5547</guid>
<pubDate>Wed, 19 Aug 2020 06:39:42 +0000</pubDate>
</item>
<item>
<title>Answered: Erro 'Field must have a value' when it is filled in</title>
<link>https://overflow.efficy.io/?qa=5405/erro-field-must-have-a-value-when-it-is-filled-in&amp;show=5406#a5406</link>
<description>&lt;p&gt;Hi Bart, the &lt;code&gt;COMP_COMP&lt;/code&gt; relation is reciprocal. You have to set the relation value for both records. Here is an example of how you set the RELATION value for both relation records.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;try {
  var
    editCompComp = Efficy.openEditContextRelation2(entity, detail, 
      key, detailKey),
    dsCompComp0 = Efficy.getMasterDataset(editCompComp, 0),
    dsCompComp1 = Efficy.getMasterDataset(editCompComp, 1);

  // LK_COMP_COMP_RLT, Head Office
  dsCompComp0.edit;
  dsCompComp0.fieldByName(&quot;RELATION&quot;).asInteger =  6;  

  // LK_COMP_COMP_RLT, Subsidiary
  dsCompComp1.edit;
  dsCompComp1.fieldByName(&quot;RELATION&quot;).asInteger = 11;  

  Efficy.commitChanges(editCompComp, false);
} finally {
  Efficy.closeContext(editCompComp);
}
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5405/erro-field-must-have-a-value-when-it-is-filled-in&amp;show=5406#a5406</guid>
<pubDate>Wed, 22 Apr 2020 19:08:09 +0000</pubDate>
</item>
<item>
<title>Answered: Is it possible to filter by null values using &quot;consultmanyex&quot; function (JSON API) ?</title>
<link>https://overflow.efficy.io/?qa=5222/possible-filter-null-values-using-consultmanyex-function&amp;show=5385#a5385</link>
<description>&lt;p&gt;Hi,&lt;br&gt;
There is currently no way to pass null parameters in fields values for this method or similar methods.&lt;br&gt;
I suggest you try to achieve your need by using query and creating a system query for that purpose.&lt;br&gt;
KR,&lt;br&gt;
Yann&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5222/possible-filter-null-values-using-consultmanyex-function&amp;show=5385#a5385</guid>
<pubDate>Mon, 30 Mar 2020 15:07:14 +0000</pubDate>
</item>
<item>
<title>Answered: Remote API: Trouble linking a Case to a Document with JSON</title>
<link>https://overflow.efficy.io/?qa=5308/remote-api-trouble-linking-a-case-to-a-document-with-json&amp;show=5309#a5309</link>
<description>&lt;p&gt;Never mind. I found the problem. I had the detailkey with a capital K written. This has to be in lowercase.&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5308/remote-api-trouble-linking-a-case-to-a-document-with-json&amp;show=5309#a5309</guid>
<pubDate>Wed, 12 Feb 2020 12:48:13 +0000</pubDate>
</item>
<item>
<title>Answered: Insert an attachment through JSON?</title>
<link>https://overflow.efficy.io/?qa=5300/insert-an-attachment-through-json&amp;show=5303#a5303</link>
<description>&lt;p&gt;Hi Jeroen&lt;/p&gt;

&lt;p&gt;You can use these operations in a document edit context. First insert an attachment, secondly update the stream. The &lt;code&gt;window.btoa&lt;/code&gt; is the browsers function to Base64 encode.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;{
&quot;@name&quot;: &quot;insertAttachment&quot;,
&quot;path&quot;: this.filename
},
{&quot;@name&quot;: &quot;updateAttachment&quot;,
&quot;key&quot;: 0,
&quot;encodingkind&quot;: &quot;MIME64&quot;,
&quot;@data&quot;: window.btoa(stream)
}
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5300/insert-an-attachment-through-json&amp;show=5303#a5303</guid>
<pubDate>Wed, 12 Feb 2020 09:28:31 +0000</pubDate>
</item>
<item>
<title>Answered: OAuth2.0: Connection from serverside script</title>
<link>https://overflow.efficy.io/?qa=5050/oauth2-0-connection-from-serverside-script&amp;show=5055#a5055</link>
<description>&lt;p&gt;For the Trendstop integration, I used openUrlSecure from a ServerJS module to authenticate with OAuth2.&lt;/p&gt;

&lt;p&gt;The concepts is as followed:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Each outgoing request is wrapped in a function &lt;code&gt;_sendWebRequest&lt;/code&gt; to add the correct headers each time&lt;/li&gt;
&lt;li&gt;For each response, the statusCode is checked. In case it's a 401, the request did not have a valid access token.&lt;/li&gt;
&lt;li&gt;Using the credentials, a login request is send using &lt;code&gt;_getOAuth2&lt;/code&gt; in order to set the access_token value.&lt;/li&gt;
&lt;li&gt;The failed request is send again.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Below code snippets to give you an idea:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/*
@import format from &quot;format&quot;;
@import WebRequest from &quot;custom/utils/webrequest&quot;;
*/

function main() {
    var requestValues = {
        &quot;id&quot;: &quot;...&quot;,
        &quot;pass&quot;: &quot;...&quot;
    },
    // Remove the Windows CRLF that is added after each 76 chars wide chunks (MIME requirement)
    encodedAuthorization = encodeMime64Utf8(requestValues.id + &quot;:&quot; + requestValues.pass).replace(/\r\n/,'');    
    postObject = {
        &quot;grant_type&quot;: &quot;client_credentials&quot;,
        &quot;scope&quot;: &quot;company structure:read fields:read structure:write fields:write users:read users:write expenses:read expenses:write&quot;
    },
    requestOptions = {
        url: &quot;https://sandbox-accounts.rydoo.com/&quot;,
        headers: [&quot;Content-Type: application/x-www-form-urlencoded&quot;, 
        &quot;Authorization: Basic &quot; + encodedAuthorization].join(&quot;\n&quot;)
    },
    wr = new WebRequest(requestOptions).send(postObject, &quot;connect/token&quot;, &quot;POST&quot;);

    // 200, OK: The request has succeeded.
    if (wr.response.success &amp;amp;&amp;amp; wr.response &amp;amp;&amp;amp; wr.response.body) {
        var OAuth2 = JSON.parse(wr.response.body);
        if (!OAuth2.access_token) throw Error(&quot;Unexpected OAuth2 response received&quot;);   
        Efficy.log(OAuth2.access_token);
        return OAuth2;
    }
}
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5050/oauth2-0-connection-from-serverside-script&amp;show=5055#a5055</guid>
<pubDate>Wed, 20 Nov 2019 13:12:18 +0000</pubDate>
</item>
<item>
<title>Answered: How to use Remote Api when sso is activated</title>
<link>https://overflow.efficy.io/?qa=4914/how-to-use-remote-api-when-sso-is-activated&amp;show=4968#a4968</link>
<description>&lt;p&gt;A solution from RnD : make a second website in IIS (dedicated for api, and not configured with sso)&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=4914/how-to-use-remote-api-when-sso-is-activated&amp;show=4968#a4968</guid>
<pubDate>Tue, 29 Oct 2019 07:51:48 +0000</pubDate>
</item>
<item>
<title>Answered: Remote Api node is working but return an error in header</title>
<link>https://overflow.efficy.io/?qa=4901/remote-api-node-is-working-but-return-an-error-in-header&amp;show=4916#a4916</link>
<description>&lt;p&gt;Hello Vincent,&lt;/p&gt;

&lt;p&gt;by default the status is set to &quot;error&quot; for /json /node /rest requests at the start of the processing of the request, and only an actual explicit successful processing will switch it to &quot;success&quot;.&lt;/p&gt;

&lt;p&gt;in the case of /node, since it's always a custom script that does the work, it's your responsibility to know when you consider it a success and set the header appropriately. If this is not done in your script, the value will be the default one, which is &quot;error&quot;.&lt;/p&gt;

&lt;p&gt;In order to help you with that, you're welcome to use the standard lib &quot;http&quot; serverjs module that has some methods to automatically return a successful content or error content, check it out, and it's also used by standard node scripts. Location is \lib\serverjs\api\http.js. Here is a usage example :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/*
@import Http from &quot;http&quot;;
@import Kanban from &quot;kanban/kanban&quot;;
*/

function main() {
var req = Http.getJsonRequest(),
res;
try {
res = Kanban.modifyItem(req.content.entity, req.content.key, req.content.fields);
Http.sendJsonResponse(res);
}
catch (e) {
Http.sendHttpErrorResponse(Http.HTTP_OK, e.message);
}
}
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=4901/remote-api-node-is-working-but-return-an-error-in-header&amp;show=4916#a4916</guid>
<pubDate>Mon, 14 Oct 2019 11:59:18 +0000</pubDate>
</item>
<item>
<title>Answered: Download CONTACTS.PICTURE using api</title>
<link>https://overflow.efficy.io/?qa=4684/download-contacts-picture-using-api&amp;show=4724#a4724</link>
<description>&lt;p&gt;Here are some new topics regarding &lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.com/edn/projectguides/files_overview#pictures_and_pdf_files_in_efficy&quot;&gt;Efficy with pictures &amp;amp; PDF files&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Also some examples on how you can get the MIME64 and JSON encoded data for picture fields and files, without that special SQL function from the comments&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.com/edn/projectguides/remote_apis#consulting_a_contact_with_picture_field&quot;&gt;JSON RPC: Consulting a contact with a picture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.com/edn/projectguides/remote_apis#get_the_content_of_embedded_files&quot;&gt;JSON RPC: Get the content of embedded files&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To get the picture of a contact, use this request with &lt;code&gt;includeblobcontent=true&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[
    {
        &quot;@name&quot;: &quot;consult&quot;,
        &quot;entity&quot;: &quot;Cont&quot;,
        &quot;key&quot;: 286,
        &quot;@func&quot;: [
            {&quot;@name&quot;: &quot;master&quot;, &quot;tableview&quot;:0, &quot;includeblobcontent&quot;: true}
        ]
    }
]
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=4684/download-contacts-picture-using-api&amp;show=4724#a4724</guid>
<pubDate>Wed, 21 Aug 2019 15:40:31 +0000</pubDate>
</item>
<item>
<title>Answered: How can we get the real bytes of an attachment from the FILES.STREAM with .NET soap</title>
<link>https://overflow.efficy.io/?qa=4681/how-real-bytes-attachment-from-the-files-stream-with-net-soap&amp;show=4699#a4699</link>
<description>&lt;p&gt;Regarding the compression, more information is available here:&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://overflow.efficy.com/?qa=1263/how-do-i-read-the-content-of-the-field-stream-in-files-via-soap&amp;amp;show=1265#a1265&quot;&gt;https://overflow.efficy.com/?qa=1263/how-do-i-read-the-content-of-the-field-stream-in-files-via-soap&amp;amp;show=1265#a1265&lt;/a&gt;&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=4681/how-real-bytes-attachment-from-the-files-stream-with-net-soap&amp;show=4699#a4699</guid>
<pubDate>Tue, 13 Aug 2019 10:08:54 +0000</pubDate>
</item>
<item>
<title>Answered: Node &lt;category&gt; not allowed in TConsultRequestHandler</title>
<link>https://overflow.efficy.io/?qa=4371/node-category-not-allowed-in-tconsultrequesthandler&amp;show=4373#a4373</link>
<description>&lt;p&gt;Hi Loic&lt;/p&gt;

&lt;p&gt;The following operations works in Efficy 11.2. The &lt;code&gt;&amp;lt;datacontainer/&amp;gt;&lt;/code&gt; returns the master data.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;SOAP-ENV:Envelope xmlns:SOAP-ENV=&quot;http://schemas.xmlsoap.org/soap/envelope&quot; xmlns:efficy=&quot;http://www.efficy.com&quot;&amp;gt;
&amp;lt;SOAP-ENV:Body&amp;gt;
&amp;lt;efficy:consult entity=&quot;Comp&quot; key=&quot;2&quot; id=&quot;170&quot; closecontext=&quot;true&quot;&amp;gt;
&amp;lt;datacontainer/&amp;gt;
&amp;lt;category category=&quot;COMP$ADDRESS&quot; /&amp;gt;
&amp;lt;/efficy:consult&amp;gt;
&amp;lt;/SOAP-ENV:Body&amp;gt;
&amp;lt;/SOAP-ENV:Envelope&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;For older version, I don't believe it was exposed. Use a query instead&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=4371/node-category-not-allowed-in-tconsultrequesthandler&amp;show=4373#a4373</guid>
<pubDate>Tue, 28 May 2019 06:53:40 +0000</pubDate>
</item>
<item>
<title>Answered: How to best launch command line request?</title>
<link>https://overflow.efficy.io/?qa=4007/how-to-best-launch-command-line-request&amp;show=4008#a4008</link>
<description>&lt;p&gt;Efficy replaced all activex scripts over the years with two systems:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A protocol request, like efficy: that is mapped with Sidebar.exe and also handled by this executable&lt;/li&gt;
&lt;li&gt;Sending an http request to the Sidebar web-server&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I suggest Talk registers a protocol &quot;talk&quot; on the machine and that you work with anchors calling the protocol.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;a href=&quot;talk:12345&quot;&amp;gt;Open Talk&amp;lt;/a&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Read more about &lt;a rel=&quot;nofollow&quot; href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/Navigator/registerProtocolHandler/Web-based_protocol_handlers&quot;&gt;Web-based protocol handlers&lt;/a&gt;&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=4007/how-to-best-launch-command-line-request&amp;show=4008#a4008</guid>
<pubDate>Wed, 06 Mar 2019 14:36:45 +0000</pubDate>
</item>
<item>
<title>Answered: Authentication error using openURL</title>
<link>https://overflow.efficy.io/?qa=3887/authentication-error-using-openurl&amp;show=3889#a3889</link>
<description>&lt;p&gt;Hello there,&lt;/p&gt;

&lt;p&gt;Did you try with openUrlSecure already? I made some example usages on this &lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.com/edn/projectguides/openurlsecure&quot;&gt;guide&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;I see you are using http for the moment. That could allow you to inspect the HTTP communication send out by SOAP-UI and by Efficy, so you could compare what's going over the wire. I'm a fan of the free software Fiddler to scan network packages. Obviously, it can only inspect non-encrypted HTTP traffic.&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=3887/authentication-error-using-openurl&amp;show=3889#a3889</guid>
<pubDate>Tue, 29 Jan 2019 07:40:00 +0000</pubDate>
</item>
<item>
<title>Answered: Web service VIES - contral validity VAT number in EU via SOAP</title>
<link>https://overflow.efficy.io/?qa=3822/web-service-vies-contral-validity-vat-number-in-eu-via-soap&amp;show=3826#a3826</link>
<description>&lt;p&gt;Dear Eric,&lt;/p&gt;

&lt;p&gt;I found several implementation of it, and done differently : &lt;br&gt;
- Cushman : /dtz/trunk/js/main/edit.js (clientside implementation)&lt;br&gt;
- Silversquare : /silversquare/trunk/serverscripts/ViesVat.js (serverside implementation)&lt;br&gt;
- Beci : /beci/branches/Migration2014/serverscripts/Vat.js (serverside implementation)&lt;br&gt;
- UITP: /uitp/trunk/serverscripts/vat.js (serverside implementation done by customer)&lt;/p&gt;

&lt;p&gt;may be more of them ... ?&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=3822/web-service-vies-contral-validity-vat-number-in-eu-via-soap&amp;show=3826#a3826</guid>
<pubDate>Mon, 07 Jan 2019 22:57:52 +0000</pubDate>
</item>
<item>
<title>Answered: Failed to open an EfficySession in ASP.Net with Efficy 11</title>
<link>https://overflow.efficy.io/?qa=3624/failed-to-open-an-efficysession-in-asp-net-with-efficy-11&amp;show=3644#a3644</link>
<description>&lt;p&gt;Hello Loic,&lt;/p&gt;

&lt;p&gt;Have you tried with the following URL : &lt;a rel=&quot;nofollow&quot; href=&quot;https://geneve.efficytest.com/public/SOAP&quot;&gt;https://geneve.efficytest.com/public/SOAP&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;/Stéphane&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=3624/failed-to-open-an-efficysession-in-asp-net-with-efficy-11&amp;show=3644#a3644</guid>
<pubDate>Mon, 05 Nov 2018 14:36:29 +0000</pubDate>
</item>
<item>
<title>Answered: How to insert a project and link it to a company</title>
<link>https://overflow.efficy.io/?qa=3184/how-to-insert-a-project-and-link-it-to-a-company&amp;show=3185#a3185</link>
<description>&lt;p&gt;You have to use the &lt;code&gt;insertDetail2&lt;/code&gt; method, just like it's done in serverscripts and in the user interface.&lt;/p&gt;

&lt;p&gt;Please learn first the difference between &lt;code&gt;openeditcontextrelation&lt;/code&gt;, &lt;code&gt;addlink&lt;/code&gt; and &lt;code&gt;insertdetail&lt;/code&gt; before starting your developments. If you don't understand when to use what method, you will likely end up with a badly written integrations. Badly that it can be slow and you might risk not having a main detail.&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=3184/how-to-insert-a-project-and-link-it-to-a-company&amp;show=3185#a3185</guid>
<pubDate>Fri, 25 May 2018 14:03:10 +0000</pubDate>
</item>
<item>
<title>WebService: NullReferenceException when trying to perform a CloseContext()</title>
<link>https://overflow.efficy.io/?qa=2587/webservice-nullreferenceexception-perform-closecontext</link>
<description>&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;I am facing an issue with the efficy webservice.&lt;/p&gt;

&lt;p&gt;My webservice receives data from the customer website in order to perform several actions in Efficy such as Update/Creation of Contact/Companies.&lt;/p&gt;

&lt;p&gt;When I call the UpdateRecordWithFields method of the Record class, I received sometimes the following error:&lt;/p&gt;

&lt;p&gt;System.NullReferenceException: Object reference not set to an instance of an object.&lt;br&gt;
   at EfficyProxy.SOAPClient.GetResponse()&lt;br&gt;
   at EfficyProxy.EfficySession.ExecuteBatch()&lt;br&gt;
   at EfficyProxy.EfficySession.CloseContext(TContextHandle ContextHandle, Boolean commit)&lt;br&gt;
   at Record.UpdateRecordWithFields(EfficySession Database, Double key, Hashtable fields) in c:\inetpub\efficy\customs\custom\WebService\App_Code\Record.cs:line 231&lt;/p&gt;

&lt;p&gt;The line 231 of the Records class is the following: &lt;br&gt;
-&amp;gt;  Database.CloseContext(editContext);&lt;/p&gt;

&lt;p&gt;This error is not coming from the Efficy Worfklow because everything is well executed.&lt;/p&gt;

&lt;p&gt;The strange things are:&lt;br&gt;
-&amp;gt; It not happen all the time&lt;br&gt;
-&amp;gt; It is not linked to the sent data or code in the webservice because if the customer retry to call my webservice, it works&lt;/p&gt;

&lt;p&gt;I think this issue is maybe related to a session issue but I don't know how to troubleshoot it.&lt;/p&gt;

&lt;p&gt;Does anyone already met this issue or has an idea to solve it ?&lt;/p&gt;

&lt;p&gt;Many thanks.&lt;/p&gt;

&lt;p&gt;Best regards,&lt;br&gt;
Pierre.&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=2587/webservice-nullreferenceexception-perform-closecontext</guid>
<pubDate>Tue, 04 Jul 2017 14:54:02 +0000</pubDate>
</item>
<item>
<title>Get Product picture using SOAP Call</title>
<link>https://overflow.efficy.io/?qa=2040/get-product-picture-using-soap-call</link>
<description>&lt;p&gt;Hi Everyone,&lt;/p&gt;

&lt;p&gt;Is it possible to get product picture via SOAP CALL to display on an external page?&lt;/p&gt;

&lt;p&gt;Thx,&lt;br&gt;
Can Demirci&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=2040/get-product-picture-using-soap-call</guid>
<pubDate>Thu, 24 Nov 2016 10:47:57 +0000</pubDate>
</item>
<item>
<title>Answered: Merge using SOAP of custom entity</title>
<link>https://overflow.efficy.io/?qa=1997/merge-using-soap-of-custom-entity&amp;show=2002#a2002</link>
<description>&lt;p&gt;Dear,&lt;/p&gt;

&lt;p&gt;The error was due to a specific date value we have. A date 01/01/0001 is generating this error.&lt;br&gt;
By looking in the log: DoubleRecordMerge_YYYYMMDD.log we saw that it always stopped at the same column. By removing the date value, the merge continued.&lt;/p&gt;

&lt;p&gt;gr&lt;br&gt;
Erwin&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=1997/merge-using-soap-of-custom-entity&amp;show=2002#a2002</guid>
<pubDate>Tue, 15 Nov 2016 10:56:39 +0000</pubDate>
</item>
<item>
<title>Answered: Webhook configuration</title>
<link>https://overflow.efficy.io/?qa=1958/webhook-configuration&amp;show=1959#a1959</link>
<description>&lt;p&gt;Because the third party website/application needs to be able to respond to the URL you provided in the webhook, you're page needs to fulfill at least these requirements:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The page has to exposed over internet. Typically no issue for ASP clients&lt;/li&gt;
&lt;li&gt;It has to work with a single request, your third party application will not first logon and properly logout at the end&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So, an Efficy guest page is the best solution because it supports anonymous access. &lt;/p&gt;

&lt;p&gt;How should the callback url be constructed? Well the guest page needs to be able to identify to what user or record the async callback is related. You could for instance generate serverside a unique key (store it also in DB) and let the webhook call the guest page with this ID.&lt;/p&gt;

&lt;p&gt;Security is important, you should be sure that the webhook callbacks comes from that third party application. Check the documentation of the third party app to see what they offer.&lt;/p&gt;

&lt;p&gt;Last but not least, use HTTPS&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=1958/webhook-configuration&amp;show=1959#a1959</guid>
<pubDate>Fri, 21 Oct 2016 11:42:33 +0000</pubDate>
</item>
<item>
<title>Answered: How do I read the content of the Field STREAM with Invemaco.Efficy.Net.dll</title>
<link>https://overflow.efficy.io/?qa=1846/how-read-the-content-the-field-stream-with-invemaco-efficy-net&amp;show=1847#a1847</link>
<description>&lt;p&gt;Try using the updated version &quot;Efficy.EfficyCRM.Net.dll&quot; that you can find on the partners FTP. I believe it supports the blob data types.&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=1846/how-read-the-content-the-field-stream-with-invemaco-efficy-net&amp;show=1847#a1847</guid>
<pubDate>Thu, 08 Sep 2016 07:04:22 +0000</pubDate>
</item>
<item>
<title>Answered: updatedetail fires EStringListError</title>
<link>https://overflow.efficy.io/?qa=1804/updatedetail-fires-estringlisterror&amp;show=1809#a1809</link>
<description>&lt;p&gt;As kristoff says you didn't used the correct functionnality:&lt;/p&gt;

&lt;p&gt;here is the good code:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;
&amp;lt;SOAP-ENV:Envelope xmlns:SOAP-ENV=&quot;http://schemas.xmlsoap.org/soap/envelope&quot; xmlns:efficy=&quot;http://www.efficy.com&quot;&amp;gt;
   &amp;lt;SOAP-ENV:Body&amp;gt;
      &amp;lt;efficy:edit entity=&quot;Publ&quot; detail=&quot;Cont&quot; key=&quot;9002483&quot; detailkey=&quot;16543&quot; commit=&quot;true&quot;&amp;gt;
         &amp;lt;update tableview=&quot;0&quot;&amp;gt;
            &amp;lt;F_MEMO&amp;gt;Test&amp;lt;/F_MEMO&amp;gt;
         &amp;lt;/update&amp;gt;
      &amp;lt;/efficy:edit&amp;gt;
   &amp;lt;/SOAP-ENV:Body&amp;gt;
&amp;lt;/SOAP-ENV:Envelope&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=1804/updatedetail-fires-estringlisterror&amp;show=1809#a1809</guid>
<pubDate>Tue, 09 Aug 2016 13:06:17 +0000</pubDate>
</item>
<item>
<title>Answered: .NET C# :   EfficySession.SetImpersonate() / How to cancel impersonation</title>
<link>https://overflow.efficy.io/?qa=1685/net-efficysession-setimpersonate-how-cancel-impersonation&amp;show=1722#a1722</link>
<description>&lt;p&gt;Hi Bruno,&lt;/p&gt;

&lt;p&gt;You can find a description of this method when you show object browser and select this one.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;public void SetImpersonate(string usercode)
    Member of EfficyProxy.EfficySession
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;So in this case, you need to use an usercode and not a empty or null value.&lt;/p&gt;

&lt;p&gt;Kr,&lt;/p&gt;

&lt;p&gt;Olivier&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=1685/net-efficysession-setimpersonate-how-cancel-impersonation&amp;show=1722#a1722</guid>
<pubDate>Wed, 22 Jun 2016 08:51:07 +0000</pubDate>
</item>
<item>
<title>Set owner to a group using SOAP</title>
<link>https://overflow.efficy.io/?qa=1700/set-owner-to-a-group-using-soap</link>
<description>&lt;p&gt;Dear,&lt;/p&gt;

&lt;p&gt;I saw that we can set K_USER to a group when creating a contact .&lt;br&gt;
Will Efficy accept this?&lt;br&gt;
In the GUI we can not select a group, only users. Can we except side-effects?&lt;/p&gt;

&lt;p&gt;gr&lt;br&gt;
Erwin&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=1700/set-owner-to-a-group-using-soap</guid>
<pubDate>Sat, 11 Jun 2016 17:06:55 +0000</pubDate>
</item>
<item>
<title>Answered: SetImpersonate : SOAP Error when using SetUsers()</title>
<link>https://overflow.efficy.io/?qa=1682/setimpersonate-soap-error-when-using-setusers&amp;show=1684#a1684</link>
<description>&lt;p&gt;Ok,&lt;/p&gt;

&lt;p&gt;The solution was to call &quot;SetImpersonate(USERCODE)&quot; before creating the Action itself. &lt;/p&gt;

&lt;p&gt;The table ACTI_USER is automatically filled with the users's Securities and Rights configured in Conficy.&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=1682/setimpersonate-soap-error-when-using-setusers&amp;show=1684#a1684</guid>
<pubDate>Thu, 02 Jun 2016 08:53:02 +0000</pubDate>
</item>
<item>
<title>Answered: Disable notifications for SOAP created events</title>
<link>https://overflow.efficy.io/?qa=1677/disable-notifications-for-soap-created-events&amp;show=1680#a1680</link>
<description>&lt;p&gt;Hello Kevin.&lt;/p&gt;

&lt;p&gt;The SOAP interface does not expose a way to disable notifications. Else, that would be a security issue because then you could change something silently.&lt;/p&gt;

&lt;p&gt;However, in database workflow, you could disable the notifications for specific users after logon. To my knowledge this is a &lt;strong&gt;session setting&lt;/strong&gt;, and certainly not &quot;global&quot; or server wide as you state in your question.&lt;/p&gt;

&lt;p&gt;I have used with success the code snippet below in Database workflow to disable notifications for integration (INTGRP members) users. They all connect by SOAP&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;function AfterLogon() {
    initDisableFlags();
}

function initDisableFlags() {
    var k_IntGrp = Database.GetUserID(&quot;INTGRP&quot;);
    if (Database.isCurrentUserInGroup(k_IntGrp)) {
        Database.DisableNotifications = true;   // Disable System notications for the whole session
        Database.DisableChangeLog = true;           // Disable the generation of entries in SysChanged
    }
}
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=1677/disable-notifications-for-soap-created-events&amp;show=1680#a1680</guid>
<pubDate>Wed, 01 Jun 2016 12:38:12 +0000</pubDate>
</item>
<item>
<title>Answered: Soap: Inserting an email with attachment via Soap Call</title>
<link>https://overflow.efficy.io/?qa=1589/soap-inserting-an-email-with-attachment-via-soap-call&amp;show=1592#a1592</link>
<description>&lt;p&gt;Hello Prince.&lt;/p&gt;

&lt;p&gt;Are you sure the MIME64 encoded content from &lt;code&gt;&amp;lt;updateattachment&amp;gt;&lt;/code&gt; is OK?&lt;br&gt;
You are storing the value &quot;test&quot; in a file with extension .msg.&lt;br&gt;
This is certainly not a valid format. Imo, the issue is your content, not the SOAP construction.&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=1589/soap-inserting-an-email-with-attachment-via-soap-call&amp;show=1592#a1592</guid>
<pubDate>Tue, 10 May 2016 05:47:50 +0000</pubDate>
</item>
<item>
<title>Answered: Setting security using SOAP call</title>
<link>https://overflow.efficy.io/?qa=1514/setting-security-using-soap-call&amp;show=1520#a1520</link>
<description>&lt;p&gt;Erwin.&lt;/p&gt;

&lt;p&gt;What you need is this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;data operation=&quot;setaccountsecurity&quot; account=&quot;99999002&quot; security=&quot;271&quot;/&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;How did I trace it, well I used the DataSyncroRemote tool. The following SOAP is the result of executing the DataSynchroRemote script included below&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;function EfficyImportRecord(DataStore) {
  var editActi = Database.OpenEditContext(ntActi, 0);                  
  Database.CommitChanges(editActi, false);
  Database.SetUserSecurity(editActi, 99999002, 271);                           
  Database.ExecuteBatch();                                             
  var k_Action = Database.GetEditKey(editActi);
  Database.Log(&quot;K_ACTION=&quot; + k_Action);
  Database.CloseContext(editActi);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Generate SOAP request by DataSynchroRemote.exe&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;SOAP-ENV:Envelope xmlns:SOAP-ENV=&quot;http://schemas.xmlsoap.org/soap/envelope&quot; xmlns:efficy=&quot;http://www.efficy.com&quot;&amp;gt;
  &amp;lt;SOAP-ENV:Body&amp;gt;
    &amp;lt;efficy:edit entity=&quot;Acti&quot; key=&quot;0&quot; id=&quot;43&quot; commit=&quot;true&quot;&amp;gt;
      &amp;lt;data operation=&quot;setaccountsecurity&quot; account=&quot;99999002&quot; security=&quot;271&quot; id=&quot;44&quot;/&amp;gt;
    &amp;lt;/efficy:edit&amp;gt;
  &amp;lt;/SOAP-ENV:Body&amp;gt;
&amp;lt;/SOAP-ENV:Envelope&amp;gt;
&amp;lt;SOAP-ENV:Envelope xmlns:SOAP-ENV=&quot;http://schemas.xmlsoap.org/soap/envelope&quot; xmlns:efficy=&quot;http://www.efficy.com&quot;&amp;gt;
  &amp;lt;SOAP-ENV:Body&amp;gt;
    &amp;lt;efficy:edit entity=&quot;Acti&quot; key=&quot;0&quot; id=&quot;45&quot; edithandle=&quot;2&quot; closecontext=&quot;true&quot;/&amp;gt;
  &amp;lt;/SOAP-ENV:Body&amp;gt;
&amp;lt;/SOAP-ENV:Envelope&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You can monitor &lt;strong&gt;soap requests&lt;/strong&gt; and &lt;strong&gt;soap responses&lt;/strong&gt; send by Efficy tools such as&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DataSynchroRemote&lt;/li&gt;
&lt;li&gt;WatchDoc&lt;/li&gt;
&lt;li&gt;Sidebar&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Opening these files on the client&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;%localappdata%\temp\soap_request.xml&lt;/li&gt;
&lt;li&gt;%localappdata%\temp\soap_response.xml&lt;/li&gt;
&lt;/ul&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=1514/setting-security-using-soap-call&amp;show=1520#a1520</guid>
<pubDate>Tue, 12 Apr 2016 18:20:41 +0000</pubDate>
</item>
<item>
<title>Answered: Example how to use DownloadFile in Invemaco.Efficy.Net.dll</title>
<link>https://overflow.efficy.io/?qa=901/example-how-to-use-downloadfile-in-invemaco-efficy-net-dll&amp;show=993#a993</link>
<description>&lt;p&gt;Hello Barry,&lt;/p&gt;

&lt;p&gt;For a customer, I did something similar but I didn't use the DownloadFile.&lt;/p&gt;

&lt;p&gt;I used instead EditAttachment which is loading the bytes into the ref variable &quot;attach&quot;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Database.EditAttachment(this.K_DOCUMENT, aBozarFile.K_FILE, ref attach, aBozarFile.Version);
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You can have a look in our SVN :&lt;br&gt;
Bozar\WebService\ws\App_Code\BozarWebDocument.cs&lt;/p&gt;

&lt;p&gt;Function: &lt;code&gt;public void loadWebFiles(EfficySession Database, string aKDocument, string aKProd)&lt;/code&gt;&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=901/example-how-to-use-downloadfile-in-invemaco-efficy-net-dll&amp;show=993#a993</guid>
<pubDate>Thu, 03 Dec 2015 08:50:10 +0000</pubDate>
</item>
<item>
<title>Answered: Efficy SOAP vs. ServerScripts</title>
<link>https://overflow.efficy.io/?qa=768/efficy-soap-vs-serverscripts&amp;show=782#a782</link>
<description>&lt;p&gt;Hi Tim,&lt;/p&gt;

&lt;p&gt;There is no function type 'RunScript' via SOAP.&lt;/p&gt;

&lt;p&gt;Why not managing your processes in your back-end of site instead of in Efficy?  I thinks it is more easy and you change only the data in Efficy.&lt;/p&gt;

&lt;p&gt;For reminder, you can find all method SOAP here : &lt;a rel=&quot;nofollow&quot; href=&quot;http://help.efficy.com/HelpEfficy/whitepapers/SoapProxyDotNet/EN/index.html?efficysession_class.htm&quot;&gt;http://help.efficy.com/HelpEfficy/whitepapers/SoapProxyDotNet/EN/index.html?efficysession_class.htm&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Kr,&lt;/p&gt;

&lt;p&gt;Olivier&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=768/efficy-soap-vs-serverscripts&amp;show=782#a782</guid>
<pubDate>Mon, 21 Sep 2015 12:42:54 +0000</pubDate>
</item>
<item>
<title>Answered: XML Soap message: error inserting email</title>
<link>https://overflow.efficy.io/?qa=597/xml-soap-message-error-inserting-email&amp;show=605#a605</link>
<description>&lt;p&gt;My first guess would be that you do not provide enough fields in the &lt;br&gt;
&lt;code&gt;&amp;lt;update tableview=&quot;0&quot;&amp;gt;&lt;/code&gt; section. &lt;/p&gt;

&lt;p&gt;I suspect one of these to be responsible for the convert to double failure.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;D_RECEIVED&lt;/li&gt;
&lt;li&gt;ATTACHMENTS&lt;/li&gt;
&lt;li&gt;K_FOLDER&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I would bet my money on K_FOLDER&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=597/xml-soap-message-error-inserting-email&amp;show=605#a605</guid>
<pubDate>Fri, 31 Jul 2015 14:27:37 +0000</pubDate>
</item>
<item>
<title>Answered: SOAP request to launch existing query in Efficy</title>
<link>https://overflow.efficy.io/?qa=536/soap-request-to-launch-existing-query-in-efficy&amp;show=549#a549</link>
<description>&lt;p&gt;Stijn,&lt;/p&gt;

&lt;p&gt;Here is an example:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;SOAP-ENV:Envelope xmlns:efficy=&quot;http://www.efficy.com&quot; xmlns:SOAP-ENV=&quot;http://schemas.xmlsoap.org/soap/envelope&quot;&amp;gt;
  &amp;lt;SOAP-ENV:Body&amp;gt;
    &amp;lt;efficy:logon database=&quot;xxx&quot; user=&quot;web&quot; password=&quot;xxxx&quot;/&amp;gt;
      &amp;lt;efficy:api&amp;gt;
            &amp;lt;datacontainer id=&quot;5&quot; operation=&quot;query&quot; master=&quot;-1&quot; detail=&quot;303&quot; includeblobcontent=&quot;false&quot; param1=&quot;KLUW&quot; param2=&quot;1&quot;/&amp;gt;
        &amp;lt;/efficy:api&amp;gt;
        &amp;lt;efficy:logoff/&amp;gt;
    &amp;lt;/SOAP-ENV:Body&amp;gt;
&amp;lt;/SOAP-ENV:Envelope&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=536/soap-request-to-launch-existing-query-in-efficy&amp;show=549#a549</guid>
<pubDate>Fri, 24 Jul 2015 08:34:31 +0000</pubDate>
</item>
<item>
<title>Impersonating a user</title>
<link>https://overflow.efficy.io/?qa=491/impersonating-a-user</link>
<description>&lt;p&gt;Dear,&lt;/p&gt;

&lt;p&gt;Is it possible in Efficy using the or .NET SOAP API or XML webservice messages to impersonate a user?&lt;/p&gt;

&lt;p&gt;My client wants to create and update information in Efficy using one of both interface possibilities but he also wants that the applied changes are not all logged in sys_changed under the same user, used for executing the soap calls.&lt;br&gt;
He prefers it is logged as an other user, also known in Efficy.&lt;/p&gt;

&lt;p&gt;A possible workaround could be by working with workflow and/or database triggers but it looks cleaner to use impersonate.&lt;/p&gt;

&lt;p&gt;Any suggestions?&lt;/p&gt;

&lt;p&gt;gr&lt;br&gt;
Erwin&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=491/impersonating-a-user</guid>
<pubDate>Fri, 03 Jul 2015 13:24:42 +0000</pubDate>
</item>
<item>
<title>Efficy SOAP DLL: Webservice Inserting an Attachment</title>
<link>https://overflow.efficy.io/?qa=4/efficy-soap-dll-webservice-inserting-an-attachment</link>
<description>&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;I would like to know how to use to use the insertattachment function that is available in the Efficy SOAP dll.&lt;/p&gt;

&lt;p&gt;Best Regards,&lt;/p&gt;

&lt;p&gt;Stéphane R.&lt;/p&gt;
</description>
<category>Remote API (JSON, SOAP, Node)</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=4/efficy-soap-dll-webservice-inserting-an-attachment</guid>
<pubDate>Thu, 18 Sep 2014 13:44:34 +0000</pubDate>
</item>
</channel>
</rss>