Sequential Data Load

Overview

The Sequential Data Load endpoint allows you to send a single request message containing data to be loaded into one or more tables. For example, you could send a single message that contains one record to be loaded into a ‘Recipient’ table, two records to be loaded to an ‘Order’ table, and five records to be loaded to an ‘Order Item’ table. The system will load or update data, one table at a time. Each of these tables must be ordered in the exact sequence in which they should be loaded or updated. Please note that if you're loading data into multiple tables, you can send only ONE record at the parent level (you can optionally write multiple records into the joined tables).

This endpoint requires authentication using OAuth 2.0, and supports XML only (not JSON).

The Sequential Event Trigger endpoint requires the use of an API Post for each table being loaded. Continuing the above example, if you're loading data into the 'Recipient,' 'Order,' and 'Order Item' tables, you'd need three API Posts -- one for each table. The API Post includes a Data Map, which provides data handling instructions, such as where to store the inbound data contained within the API request, and whether this data should be used to update existing records and / or create new records.

Optionally, you can use this same endpoint to load data, then trigger the deployment of an Event-triggered Campaign. When used in this fashion, this endpoint is referred to as the Sequential Event Trigger. For more details, please see Sequential Event Trigger.

For more details on how to set up an Sequential Data Load API request, please see the Sequential Data Load API Technical Guide.

The following diagram depicts the process for loading data via the Sequential Data Load endpoint:

Pre-requisites

The Sequential Data Load endpoint requires the following:

POST Method

The Sequential Data Load endpoint supports a POST operation.

Click hereClick here to see a sample request message in XML format.

In the below sample XML request, the database is being updated with information necessary to deploy an Order Confirmation email message. A single message is being used to load data into three different tables -- 'Order Item,' 'Order,' and 'Recipient.' Each table has its own API Post. The Object Reference ID for each API Post is referenced in the message as the "FormID."

Based on the "SubmissionSequence" parameter, the request will update the 'Order Item' table first since it has the lowest "SubmissionSequence" value of "1." Next, the system will load the 'Order' table ("SubmissionSequence = 2"), and then lastly the 'Recipient' table ("SubmissionSequence = 3").

 

<ApiSubmission CustId="123" SubmissionTrackingCode="Test2" FormGroupId="1" ApiVersion="1">

<Records TableName="order_item" FormId="35" SubmissionSequence="1">

<Record>

<Field FieldName="order_itemID">1000</Field>

<Field FieldName="orderid">00001</Field>

<Field FieldName="description">head phones</Field>

<Field FieldName="sku">656565</Field>

<Field FieldName="price">25.99</Field>

</Record>

<Record>

<Field FieldName="order_itemID">1001</Field>

<Field FieldName="orderid">00001</Field>

<Field FieldName="description">tape</Field>

<Field FieldName="sku">656566</Field>

<Field FieldName="price">2.50</Field>

</Record>

</Records>

<Records TableName="order" FormId="37" SubmissionSequence="2">

<Record>

<Field FieldName="orderid">00001</Field>

<Field FieldName="customer_id">12345</Field>

<Field FieldName="order_date">12/12/12 15:01:00</Field>

<Field FieldName="order_amount">29.56</Field>

</Record>

</Records>

<Records TableName="recipient" FormId="39" SubmissionSequence="3">

<Record>

<Field FieldName="customer_id">12345</Field>

<Field FieldName="email">email@email.com</Field>

<Field FieldName="fname">John</Field>

<Field FieldName="lname">Doe</Field>

</Record>

</Records>

</ApiSubmission>

 

 

Back to API Category - Data Management