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
- Parameter
- Each row is converted into parameter name-value pairs. Each record is submitted separately. No batch submission is available.
- 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. ThedisplayValue
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 mergedname_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
- 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 therecordId
attribute in the XML structure, you set the XPath to//result[i]/@recordId
. To map the XPath to theName
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> ...