The Data Feed feature lets you automate and simplify transaction data extraction from CIC. You configure feeds by selecting specific fields and filters, such as partners and document types, to tailor the data output to your needs. CIC provides sample output instantly, allowing you to begin integration with downstream systems without waiting for actual feed execution. Scheduled delivery options and support for multiple endpoints (FTP, SFTP, partner mailbox) ensure flexible and reliable data transfer. Each data feed execution generates a job for tracking delivery status, and the output is provided in JSON format for easy processing by downstream systems.
Configuring a Data Feed
-
Go to Developer > Data Feeds. The Data Feed list page displays.
-
Click the Add button to start a new feed.
- Give your Data Feed a Name and a Description to help distinguish it from other Data Feeds in your system and to help users understand its purpose and structure.
- Select a Data Feed type (only Messages is available at this time).
- Select fields to be included.
-
Click the Select Fields button. The Select Fields page is displayed.
The left side of the page displays a list of fields you can choose from. The right side displays sample output based on the selected fields.
NOTE: There are some fields included by default that you cannot deselect.
-
Select the fields you want to include in the Data Feed.
As you select fields on the left side of the page, the right side updates the sample output accordingly.
- Optional: Copy or download the sample output pane to your local system to begin the integration process before executing the Data Feed
- When you are finished selecting fields, click Done to save your changes and dismiss the Select Fields dialog box.
-
- Set filters.
-
Select partners for data extraction. You can either Browse a list of partners or enter the partner names directly.
-
Select Document types for data extraction. Again, you can either Browse a list of documents or enter the document type names directly.
-
- Validate the results before finalizing the feed configuration.
-
Click View matching results.
-
The Messages list page opens with the filters you set above in effect.
- Confirm that the data selected is what you want and return to the Data Feed Page.
-
- Set a schedule for the data feed—hourly, daily, weekly, etc. For details, see Scheduling your Data Feed below.
-
Select an Endpoint to be the delivery channel.
- Click Save. The Data Feed will run at the scheduled date and time, delivering JSON-formatted data to the specified Endpoint.
Scheduling your Data Feed
Scheduling Data Feed execution helps ensure timely and consistent data collection and delivery.
-
Specify when to generate the report. Click Add Schedule. The Schedule dialog box displays.
-
Select a time zone. Schedules you add are relative to the time zone you select.
Note: This schedule does not support time changes, for example, moving from Daylight Savings Time to Standard Time. Instead, you must manually adjust the time and/or time zone when appropriate to ensure your reports continue to be generated as expected.
-
Select an interval type – Hourly, Daily, Weekly or Monthly.
Note: The smallest interval supported is 1 minute.
- For Hourly, choose an interval in hours and a starting point in minutes and seconds for each interval.
- For Daily, choose either an interval in days and a starting pointing in hours, minutes and seconds, or choose to run at every working day and specify a starting time.
- For Weekly, select the days on which you want the Data Flow to run and specify a starting time.
- For Monthly, select either of the following:
- A numerical day of the month (for example, the 15th of the month), an interval in months (for example, every 3 months), and a starting time. Should the day of the month fall on a non-working day, you can specify that the Data Flow should run on the weekday that falls closest to the scheduled start time.
- A day of the week and its order (for example, the second Tuesday of the month), an interval in months (for example, every 3 months), and a starting time.
Reviewing Data Feed Execution
You can view the execution status and delivery details of the Data Feed on the Jobs page, providing visibility into both successful and failed runs.
-
Go to the Data Feed page.
-
Select the job associated with the Data Feed. The Job Detail page displays data for that job.
- The Source Endpoint will indicate that it’s a Data Feed job. It’ll show the feed name and the delivery endpoint. (both configured on the Data Feed edit page)
- You can drill down into Job data as required. For more information, see View Job Details and Understanding Job Details.
About the Data Feed JSON
This section introduces the structure and purpose of the JSON object produced by the Data Feed functionality. It explains how each part of the feed is organized, from overall metadata to the details of individual transactions.
{
"feedName": "dailyfeed",
"feedId": "3f31c7af-7f78-4d97-a943-035587166aab",
"feedRunId": "de2b00e4-1ca2-4f7a-9b56-380b8c790ce9",
"feedRunTimestamp": "Tue Oct 14 06:30:14 GMT 2025",
"totalResults": 228,
"startIndex": 0,
"messages": [
{
"logOfMessageId": "dbe7b3e7dc424199aabca6509002e12f",
"currency": "USD",
"direction": "R",
"faExpected": "true",
"parentMessageId": "773820",
"docType": "850",
"messageId": "773820",
"tpId": "CLEO",
"tpName": "CLEO",
"transactionControlNumber": "0001",
"transaction_time": "2025-10-13T06:30:00.808Z",
"messageDetails": {
"Purchase Order": {
"type": "",
"value": "773820"
},
"Purchase Order Date": {
"type": "{d}",
"value": "20230221"
},
"Number Of LineItems": {
"type": "",
"value": "16"
},
"ICN": {
"type": "",
"value": "000000912"
},
"GCN": {
"type": "",
"value": "11412"
}
},
"faStatus": "A",
"docAlias": "Purchase Order",
"faReceivedTime": "2025-10-10T07:41:57.724Z",
"lateFaTime": null
}
]
}Top-Level Fields
The top-level fields provide key metadata about the data feed and set the context for interpreting the individual transactions that follow.
| Field Name | Type | Description | Example |
|---|---|---|---|
| feedName | string | The name of the data feed | inboundandoutbound |
| feedId | string | Unique identifier for the data feed instance | a GUID or unique string |
| feedRunId | string | Unique identifier for this specific feed run/execution | a GUID or unique string |
| feedRunTimestamp | string | Timestamp indicating when the feed run occurred (in human-readable format) | 27/10/2025 06:22:44 |
| totalResults | integer | Total number of messages processed in this feed run | 50 |
| startIndex | integer | Starting index for the result set (for pagination or result windowing) | 0 |
| messages | array | List of message objects, each representing an individual transaction | [...] |
Message Object
Each entry in the messages array represents a single transaction processed by the data feed. The structure includes the following:
| Field Name | Type | Description |
|---|---|---|
| Id | string | Unique message identifier (internal or external). |
| currency | string | Currency used for the transaction |
| direction | string | Message direction: "R" for inbound, "S" for outbound. |
| faExpected | string | "true"/"false" indicating if a functional acknowledgment (FA) is expected. |
| parentMessageId | string | Identifier linking to the parent message or transaction. |
| messageType | string | Document type code (e.g., "214" for Shipment Status, "IMG" for Image Request). |
| messageAlias | string | Human-readable alias for the document type.(eg: Shipment Status, Purchase Order) |
| messageId | string | External Transaction identifier. |
| tpId | string | Trading partner code. |
| tpName | string | Trading partner name. |
| transactionControlNumber | string/null | Control number for EDI tracking (may be null or missing for non-EDI). |
| transactionTime | string | Timestamp for when the transaction occurred. |
| messageDetails | object | Key-value dictionary with document-specific details (varies by docType). Details below. |
| faStatus | string/null | Status of the functional acknowledgment (e.g., "WAIT", null if not applicable). |
| faReceivedTime | string/null | Timestamp for when the FA was received, null if not received or not expected. |
| lateFaTime | string/null | Timestamp for late FA, if applicable. |
| responseTimeInitiatorSlaStatuses | array | SLA status(es) for initiator response times. |
| responseTimeTerminatorSlaStatuses | array | SLA status(es) for terminator response times. |
| responseTimeSlaStatuses | array | General SLA statuses related to response time. |
MessageDetail Object
When the Data Feed is configured, you can enable Message Details for every Transaction. When the Message Detail object is enabled, every Transaction object in the feed contains its respective Message details.
For example, when this Message is included in the Data Feed...
...this messageDetails JSON is generated.
"messageDetails": {
"Purchase Order": {
"type": "",
"value": "773820"
},
"Purchase Order Date": {
"type": "{d}",
"value": "20230221"
},
"Number Of LineItems": {
"type": "",
"value": "16"
},
"ICN": {
"type": "",
"value": "000000912"
},
"GCN": {
"type": "",
"value": "11412"
}
Comments
0 comments
Please sign in to leave a comment.