Outbound formats

For outbound file integrations, you can select .json, .xml, or .xslt file formats. For outbound HTTP post integrations, you can select JSON, XML, or XSLT post formats and response formats.

File export types

The file export formats include flat, .json, .xml, and .xslt. If you select the flat option for standard delimited files, the File Header field becomes available.

HTTP post types

The HTTP post formats include parameter, query string, JSON, XML, and XSLT. The results of the outbound query are converted into the selected format.
Parameter
Each row is converted into parameter name-value pairs. Each record is submitted separately. No batch submission is available.
Parameters can also be specified in the Parameters field, which is only visible for this HTTP post type. This field accepts name-value pairs in the name:value format, where the name and value are separated by a colon. This field accepts multiple name-value pairs with one entry per line.
Query string
Each row is converted into parameter name-value pairs, which are appended to the URL as a query string, and submitted. Although the data is appended to the URL, instead of being included in the body of the request, the HTTP request method is POST, not GET.
JSON

You can select JSON as the post type for the HTTP post scheme or as the export type for the file scheme.

If you want to send a separate request for each record that is returned by the outbound query, specify the Response Type value. The simple response parameters must match up with the fields that are defined in the response map. To send all of the returned records as a single batch submission, do not specify a response type.

The JSON structure has two objects: data and header. The data object contains an array of objects with the labels and values from the outbound query columns, and if specified, also includes the business object ID and record ID. The following example shows the default JSON structure:
{
    "data": [
        {
            “[column_label]”:”[column_value]”,
            "boId": 10002100,
            "recId": 2999294
        },
    ...
    ],
    "header": [
        "[column_label]",
    ...
    ]
}
XML and XSLT

You can select XML as the post type for the HTTP post scheme or as the export type for the file scheme.

If you want to send a separate request for each record that is returned by the outbound query, specify the Response Type value. The simple response parameters must match up with the fields that are defined in the response map. To send all of the returned records as a single batch submission, do not specify a response type.

Default XML structure
The XML structure has three nodes for each outbound query column: field, label, and value. The following example shows the default XML structure:
<query>
   <continueToken/>
   <results total="13">
      <result recordId="11430080" associatedRecordId="null" boId="106402">
         <columns>
            <column>
               <field>triIdTX</field>
               <label>HR_ID</label>
               <value>1000000</value>
            </column>
            ...
         </columns>
      </result>
      ...
   </results>
</query>
For date values, the outbound query results include the raw values that are stored in the database and the formatted display values that are shown to the user. The displayValue node is added to the query results. The following example shows the default XML structure:
<column>
	<field>Date</field>
	<label><![CDATA[Date]]></label>
	<value><![CDATA[1359964800000]]></value>
	<displayValue><![CDATA[02/04/2014]]></displayValue>
</column>
<column>
	<field>DateTime</field>
	<label><![CDATA[Date_Time]]></label>
	<value><![CDATA[1360009800000]]></value>
	<displayValue><![CDATA[02/04/2014 12:30:00]]></displayValue>
</column>
Labels as nodes
If you select the Use Query Label As Element option, the default XML structure changes. The label and value nodes are merged by using the label name as the value node. The following example shows the XML structure:
<query>
   <continueToken/>
   <results total="13">
      <result recordId="11430080" associatedRecordId="null" boId="106402">
         <columns>
            <column>
               <field>triIdTX</field>
               <HR_ID>1000000</HR_ID>            
            </column>
            ...
         </columns>
      </result>
      ...
   </results>
</query>
For date values, the merged name_display node is added to the query results. The following example shows the XML structure:
<column>
	<field>Date</field>
	<Date><![CDATA[1359964800000]]></Date>
	<Date_display><![CDATA[02/04/2014]]></Date_display>
</column>
<column>
	<field>DateTime</field>
	<Date_Time><![CDATA[1360009800000]]></Date_Time>
	<Date_Time_display><![CDATA[02/04/2014 12:30:00]]></Date_Time_display>
</column>
XSLT transformations

If you are applying an XSLT transformation to the XML structure, you can use the XSLT binary field to store the XSLT stylesheet. This field is not required. You can also transform the XML structure with or without the Use Query Label As Element option.

HTTP response types

The HTTP response formats include flat, JSON, and XML. The simple response parameters must match up with the fields that are defined in the response map. If you select the Send As Batch option, do not specify a Response Type value. After the integration process is finished, the records that are affected by the response are listed in the Associations tab of the integration definition with the association string of Sourced.
Flat

Retrieves the HTTP response in string format.

For example, if the response is "Success" or "Failure", you can map that string to a field that can be used as a decision point in a post-processing workflow.

JSON

Retrieves the HTTP response in JSON format.

In the response map, you define the External attribute with the JSONPath string. You must use simple response definitions only. If the JSON element that you want to map is in an array, you must specify the index number of that array. For example, candidates[0].location.x returns -12819744.7565 in the following JSON structure:

{
   "spatialReference" : {
     "wkid" : 102100
   },
   "candidates" : [
     {
       "address" : "6720 Via Austi Pky, Las Vegas, NV, 89119",
       "location" : {
         "x" : -12819744.7565,
         "y" : 4309920.3012000024
       },
       "score" : 100,
       "attributes" : {
         
       }
     },
     {
       "address" : "6721 Via Austi Pky, Las Vegas, NV, 89119",
       "location" : {
         "x" : -12819812.309700001,
         "y" : 4309994.186999999
       },
       "score" : 79,
       "attributes" : {
         
       }
     }
   ]
}
XML

Retrieves the HTTP response in XML format.

In the response map, you define the External attribute with the XPath string. You must use simple response definitions only. If the XML element that you want to map is in an array, you must specify the index number of that array. For example, //root/candidate/location[2]/x returns 5 in the following XML structure:
<root>
  <candidate>
    <location>
      <x>1</x>
      <y>2</y>
    </location>
    <location>
      <x>5</x>
      <y>6</y>
    </location>
  </candidate>
</root>
The XML format can also retrieve and update multiple records in the response. In the response map, where you define the External attribute with the XPath string, you must represent the repeatable XML element with the token [i]. In the following example, to map the XPath to the recordId attribute in the XML structure, you set the XPath to //result[i]/@recordId. To map the XPath to the Name node, you set the XPath to //result[i]/columns/column/Name. You can also set the isKey (key) attribute in the map to update the record.
<?xml version="1.0" encoding="UTF-8"?>
<query>
  <continueToken/>
  <results total="6">
    <result recordId="11464082" associatedRecordId="null" boId="10025526">
      <columns>
        <column>
          <field>triNameTX</field>
          <Name><![CDATA[Default Map]]></Name>
          <Name_display><![CDATA[Default Map]]></Name_display>
        </column>
        <column>
          <field>triIdTX</field>
          <ID><![CDATA[001]]></ID>
          <ID_display><![CDATA[001]]></ID_display>
        </column>
      </columns>
    </result>
    <result recordId="11464531" associatedRecordId="null" boId="10025526">
      <columns>
        <column>
          <field>triNameTX</field>
          <Name><![CDATA[SecondMap]]></Name>
          <Name_display><![CDATA[SecondMap]]></Name_display>
        </column>
        <column>
          <field>triIdTX</field>
          <ID><![CDATA[002]]></ID>
          <ID_display><![CDATA[002]]></ID_display>
        </column>
      </columns>
    </result>
...