<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Setup bulk API connection in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/Setup-bulk-API-connection/m-p/1882402#M16172</link>
    <description>&lt;P&gt;I could use some support with setting up a bulk API connection in Qlik Sense .&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Input for creating the API connection:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;---------------------------------------------------------------------------------------&lt;STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;URL&lt;/STRONG&gt;=&lt;A href="https://secure.p01.eloqua.com/api/bulk/2.0/activities/exports" target="_blank" rel="noopener"&gt;https://secure.p01.eloqua.com/api/bulk/2.0/activities/exports&lt;/A&gt;&lt;BR /&gt;&lt;STRONG&gt;Method&lt;/STRONG&gt; =Post&lt;BR /&gt;&lt;STRONG&gt;Request body&lt;/STRONG&gt;=&lt;BR /&gt;{&lt;BR /&gt;"name": "Clickthrough",&lt;BR /&gt;"fields": {&lt;BR /&gt;"ActivityId": "{{Activity.Id}}"&lt;BR /&gt;},&lt;BR /&gt;"filter": "'{{Activity.Type}}' = 'EmailClickthrough'",&lt;BR /&gt;}&lt;BR /&gt;&lt;STRONG&gt;Key generation strategy&lt;/STRONG&gt;= Sequence ID&lt;BR /&gt;&lt;STRONG&gt;Query headers&lt;/STRONG&gt; (Name=Content-Type, Value=application/json)&lt;/P&gt;
&lt;P&gt;---------------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;This data connection works, however, i would like to use parameters that i want to control in the application, and not in the 'Request body', else i have to create every day a new data connection.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hence, i want to use the option: with connection, to override the data connection.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;First i checked how the 'connection string' is build in Qlik Sense:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;CUSTOM CONNECT TO "provider=QvRestConnector.exe;url=&lt;A href="https://secure.p01.eloqua.com/api/bulk/2.0/activities/exports;timeout=30;readwritetimeout=300;method=POST;requestBody=" target="_blank" rel="noopener"&gt;https://secure.p01.eloqua.com/api/bulk/2.0/activities/exports;timeout=30;readwritetimeout=300;method=POST;requestBody=&lt;/A&gt;{ %3name%3: %3Clickthrough%3, %3fields%3: { %3ActivityId%3: %3{{Activity.Id}}%3 }, %3filter%3: %3'{{Activity.Type}}' %2 'EmailClickthrough'%3,};httpProtocol=1.1;isKeepAlive=true;bodyEncoding=UTF-8;sendExpect100Continue=true;autoDetectResponseType=true;checkResponseTypeOnTestConnection=true;keyGenerationStrategy=0;XMLDTD=0;authSchema=basic;serverCertificateValidation=UseTrust;useCertificate=No;certificateStoreLocation=LocalMachine;certificateStoreName=My;addMissingQueryParametersToFinalRequest=false;queryHeaders=Content-Type%2application/json%1;PaginationType=None;allowResponseHeaders=false;allowHttpsOnly=false;isCookieContainerEnabled=false;useProxy=false;proxyBypassOnLocal=false;proxyUseDefaultCredentials=true;"&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;-------------------------------------------------------------&lt;STRONG&gt;&lt;BR /&gt;I used this connection string in the script.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;LIB CONNECT TO 'Eloqua_Bulk_v2';&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;RestConnectorMasterTable:&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;SQL SELECT &lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"name",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"filter",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"maxRecords",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"dataRetentionDuration",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"uri",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"createdBy",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"createdAt",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"updatedBy",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"updatedAt",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"__KEY_root",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;(SELECT &lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"ActivityId",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"__FK_fields"&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;FROM "fields" FK "__FK_fields")&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;FROM JSON (wrap on) "root" PK "__KEY_root"&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;WITH CONNECTION&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;(url "&lt;A href="https://secure.p01.eloqua.com/api/bulk/2.0/activities/exports;timeout=30;readwritetimeout=300;method=POST;requestBody={%3name%3" target="_blank" rel="noopener"&gt;https://secure.p01.eloqua.com/api/bulk/2.0/activities/exports;timeout=30;readwritetimeout=300;method=POST;requestBody={%3name%3&lt;/A&gt;: %3Clickthrough%3,%3fields%3: {%3ActivityId%3: %3{{Activity.Id}}%3},%3filter%3: %3'{{Activity.Type}}' %2 'EmailClickthrough'%3,};httpProtocol=1.1;isKeepAlive=true;bodyEncoding=UTF-8;sendExpect100Continue=true;autoDetectResponseType=true;checkResponseTypeOnTestConnection=true;keyGenerationStrategy=0;XMLDTD=0;authSchema=basic;serverCertificateValidation=UseTrust;useCertificate=No;certificateStoreLocation=LocalMachine;certificateStoreName=My;addMissingQueryParametersToFinalRequest=false;queryHeaders=Content-Type%2application/json%1;PaginationType=None;allowResponseHeaders=false;allowHttpsOnly=false;isCookieContainerEnabled=false;useProxy=false;proxyBypassOnLocal=false;proxyUseDefaultCredentials=true;");&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;This results in a HTTP protocol error 400 (Bad Request):&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Eloqua Bulk API Error.PNG" style="width: 748px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/70437i2469AAF4EA70B560/image-size/large?v=v2&amp;amp;px=999" role="button" title="Eloqua Bulk API Error.PNG" alt="Eloqua Bulk API Error.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;This means that i did do something wrong in the url part, but as there are so many variables, i have no idea what this could be. Any idea what i could try?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When this works, i can control the Bulk connection by changing parameters in the URL.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 18 Jan 2022 16:20:36 GMT</pubDate>
    <dc:creator>twanqlik</dc:creator>
    <dc:date>2022-01-18T16:20:36Z</dc:date>
    <item>
      <title>Setup bulk API connection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Setup-bulk-API-connection/m-p/1882402#M16172</link>
      <description>&lt;P&gt;I could use some support with setting up a bulk API connection in Qlik Sense .&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Input for creating the API connection:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;---------------------------------------------------------------------------------------&lt;STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;URL&lt;/STRONG&gt;=&lt;A href="https://secure.p01.eloqua.com/api/bulk/2.0/activities/exports" target="_blank" rel="noopener"&gt;https://secure.p01.eloqua.com/api/bulk/2.0/activities/exports&lt;/A&gt;&lt;BR /&gt;&lt;STRONG&gt;Method&lt;/STRONG&gt; =Post&lt;BR /&gt;&lt;STRONG&gt;Request body&lt;/STRONG&gt;=&lt;BR /&gt;{&lt;BR /&gt;"name": "Clickthrough",&lt;BR /&gt;"fields": {&lt;BR /&gt;"ActivityId": "{{Activity.Id}}"&lt;BR /&gt;},&lt;BR /&gt;"filter": "'{{Activity.Type}}' = 'EmailClickthrough'",&lt;BR /&gt;}&lt;BR /&gt;&lt;STRONG&gt;Key generation strategy&lt;/STRONG&gt;= Sequence ID&lt;BR /&gt;&lt;STRONG&gt;Query headers&lt;/STRONG&gt; (Name=Content-Type, Value=application/json)&lt;/P&gt;
&lt;P&gt;---------------------------------------------------------------------------------------&lt;/P&gt;
&lt;P&gt;This data connection works, however, i would like to use parameters that i want to control in the application, and not in the 'Request body', else i have to create every day a new data connection.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hence, i want to use the option: with connection, to override the data connection.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;First i checked how the 'connection string' is build in Qlik Sense:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;CUSTOM CONNECT TO "provider=QvRestConnector.exe;url=&lt;A href="https://secure.p01.eloqua.com/api/bulk/2.0/activities/exports;timeout=30;readwritetimeout=300;method=POST;requestBody=" target="_blank" rel="noopener"&gt;https://secure.p01.eloqua.com/api/bulk/2.0/activities/exports;timeout=30;readwritetimeout=300;method=POST;requestBody=&lt;/A&gt;{ %3name%3: %3Clickthrough%3, %3fields%3: { %3ActivityId%3: %3{{Activity.Id}}%3 }, %3filter%3: %3'{{Activity.Type}}' %2 'EmailClickthrough'%3,};httpProtocol=1.1;isKeepAlive=true;bodyEncoding=UTF-8;sendExpect100Continue=true;autoDetectResponseType=true;checkResponseTypeOnTestConnection=true;keyGenerationStrategy=0;XMLDTD=0;authSchema=basic;serverCertificateValidation=UseTrust;useCertificate=No;certificateStoreLocation=LocalMachine;certificateStoreName=My;addMissingQueryParametersToFinalRequest=false;queryHeaders=Content-Type%2application/json%1;PaginationType=None;allowResponseHeaders=false;allowHttpsOnly=false;isCookieContainerEnabled=false;useProxy=false;proxyBypassOnLocal=false;proxyUseDefaultCredentials=true;"&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;-------------------------------------------------------------&lt;STRONG&gt;&lt;BR /&gt;I used this connection string in the script.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;LIB CONNECT TO 'Eloqua_Bulk_v2';&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;RestConnectorMasterTable:&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;SQL SELECT &lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"name",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"filter",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"maxRecords",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"dataRetentionDuration",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"uri",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"createdBy",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"createdAt",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"updatedBy",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"updatedAt",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"__KEY_root",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;(SELECT &lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"ActivityId",&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;"__FK_fields"&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;FROM "fields" FK "__FK_fields")&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;FROM JSON (wrap on) "root" PK "__KEY_root"&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;WITH CONNECTION&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;(url "&lt;A href="https://secure.p01.eloqua.com/api/bulk/2.0/activities/exports;timeout=30;readwritetimeout=300;method=POST;requestBody={%3name%3" target="_blank" rel="noopener"&gt;https://secure.p01.eloqua.com/api/bulk/2.0/activities/exports;timeout=30;readwritetimeout=300;method=POST;requestBody={%3name%3&lt;/A&gt;: %3Clickthrough%3,%3fields%3: {%3ActivityId%3: %3{{Activity.Id}}%3},%3filter%3: %3'{{Activity.Type}}' %2 'EmailClickthrough'%3,};httpProtocol=1.1;isKeepAlive=true;bodyEncoding=UTF-8;sendExpect100Continue=true;autoDetectResponseType=true;checkResponseTypeOnTestConnection=true;keyGenerationStrategy=0;XMLDTD=0;authSchema=basic;serverCertificateValidation=UseTrust;useCertificate=No;certificateStoreLocation=LocalMachine;certificateStoreName=My;addMissingQueryParametersToFinalRequest=false;queryHeaders=Content-Type%2application/json%1;PaginationType=None;allowResponseHeaders=false;allowHttpsOnly=false;isCookieContainerEnabled=false;useProxy=false;proxyBypassOnLocal=false;proxyUseDefaultCredentials=true;");&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;This results in a HTTP protocol error 400 (Bad Request):&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Eloqua Bulk API Error.PNG" style="width: 748px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/70437i2469AAF4EA70B560/image-size/large?v=v2&amp;amp;px=999" role="button" title="Eloqua Bulk API Error.PNG" alt="Eloqua Bulk API Error.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;This means that i did do something wrong in the url part, but as there are so many variables, i have no idea what this could be. Any idea what i could try?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When this works, i can control the Bulk connection by changing parameters in the URL.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 18 Jan 2022 16:20:36 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Setup-bulk-API-connection/m-p/1882402#M16172</guid>
      <dc:creator>twanqlik</dc:creator>
      <dc:date>2022-01-18T16:20:36Z</dc:date>
    </item>
    <item>
      <title>Re: Setup bulk API connection</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Setup-bulk-API-connection/m-p/1883052#M16179</link>
      <description>&lt;P&gt;This is very similar to the use case that I outlined &lt;A href="https://community.qlik.com/t5/Qlik-Sense-Documents/Calling-Webhooks-i-e-Slack-Microsoft-Teams-using-the-Qlik-REST/tac-p/1770263" target="_self"&gt;here on calling webhooks from Qlik Sense Enterprise Client Managed&lt;/A&gt;. I'd give a try to the approach that I did to change the special characters into their chr representations, like so:&lt;/P&gt;&lt;LI-CODE lang="csharp"&gt;// Replace the " characters with the chr representations
LET vBody = Replace(vBody,'"',chr(34) &amp;amp; chr(34));
// Replace the / characters with the chr representations
LET vBody = Replace(vBody,'/',chr(47));
// Replace the \ characters with the chr representations
LET vBody = Replace(vBody,'\',chr(92));
// Replace the * characters with the chr representations
LET vBody = Replace(vBody,'*',chr(42));&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Judging from the exception, it looks like you're trying to send the structure of the data connection inside of Qlik Sense, which definitely won't work. You'll want to use a similar approach as the Webhook example and use&amp;nbsp;&lt;STRONG&gt;WITH CONNECTION&lt;/STRONG&gt; to adjust the body of the POST request.&lt;/P&gt;&lt;P&gt;Hope that helps&lt;/P&gt;</description>
      <pubDate>Wed, 19 Jan 2022 21:18:28 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Setup-bulk-API-connection/m-p/1883052#M16179</guid>
      <dc:creator>Levi_Turner</dc:creator>
      <dc:date>2022-01-19T21:18:28Z</dc:date>
    </item>
  </channel>
</rss>

