Inbound HTTP (Webhook)
The Inbound HTTP Communication Channel can POST Transactions from Orderful to an HTTP endpoint that you specify.
The payload we send
For a Relationship that trades JSON through Mosaic, Orderful POSTs the following body. The transaction content is the same as what the Inbox returns, so push and pull can share your parsing logic — with one exception, the delivery object, noted below.
{
"id": "019faa61-2fea-719b-a0f8-e6d42fbbc430",
"integrationPayloadId": "019faa61-3053-76ef-a06c-4ff8ef1c9234",
"transactionId": 993946486,
"senderId": "ODFLRETAILTEST",
"receiverId": "MosaicDemo",
"stream": "test",
"message": { "purpose": "original", "purchaseOrderNumber": "PO-V4TEST-006" },
"ediTransactionType": "850_PURCHASE_ORDER",
"simplifiedTransactionType": "PURCHASE_ORDER",
"transaction": {
"href": "https://{baseUrl}/transactions/019faa61-2fea-719b-a0f8-e6d42fbbc430",
"acknowledgment": {
"href": "https://{baseUrl}/transactions/019faa61-2fea-719b-a0f8-e6d42fbbc430/acknowledgment"
}
},
"delivery": {
"id": "b646771e-a068-4e32-832f-e96f895c5ec9",
"href": "https://{baseUrl}/v3/deliveries/b646771e-a068-4e32-832f-e96f895c5ec9",
"approve": { "href": "https://{baseUrl}/v3/deliveries/b646771e-a068-4e32-832f-e96f895c5ec9/approve" },
"fail": { "href": "https://{baseUrl}/v3/deliveries/b646771e-a068-4e32-832f-e96f895c5ec9/fail" }
}
}| Field | Notes |
|---|---|
id | The Transaction's unique ID. Use this to acknowledge the Transaction. |
ediTransactionType | The full Orderful transaction type identifier, always present. |
simplifiedTransactionType | Simplified alias grouping equivalent X12 and EDIFACT documents. null for types with no alias — see Mosaic Schemas for the mapping. |
transaction | Ready-built links for the Transaction. POSTing to transaction.acknowledgment.href is equivalent to acknowledging by id. |
delivery | Links for reporting the outcome back to Orderful, described below. |
integrationPayloadId | Deprecated, removed in an upcoming release. Identifies the payload, not the Transaction, and is not accepted by any endpoint. Use id. |
transactionId | Deprecated, removed in an upcoming release. The legacy numeric transaction ID. Use id, and the delivery links to report the outcome. |
integrationPayloadId,transactionId, anddelivery.transactionIdare deprecated and will be removed in an upcoming release. If your integration reads any of them, migrate before then: useidto identify the Transaction, and POST todelivery.approve.hrefordelivery.fail.hrefrather than building delivery URLs from a numeric ID.
The
deliveryobject's identifier fields differ between the two delivery paths. Pushed payloads carrydelivery.idwith/v3/deliveries/{id}links, while payloads pulled from the Inbox carrydelivery.deliveryIdplus the deprecateddelivery.transactionIdwith/transactions/{transactionId}/deliveries/{deliveryId}links. Thehref,approve.href, andfail.hrefvalues are present and correct on both paths — read those rather than assembling URLs, and do not depend on the identifier field names matching across the two.Test payloads sent from the Send a test button have no
deliveryobject at all, because there is no real delivery to report against.
Relationships that do not trade JSON through Mosaic receive a different body. Non-JSON formats such as XML, CSV, and PDF are pushed as a Transaction object with a downloadContentHref you fetch the content from.
Set up an Inbound HTTP Communication Channel
- Sign in to your Orderful account:
- Orderful US: https://ui.orderful.com
- Orderful EU: https://ui-eu.orderful.com
- From the left navigation menu, click on Communication Channels.
- Click Create New and select HTTP in the "Create Inbound Channel" section.
- Enter a descriptive Name for the Communication Channel, along with the URL of your HTTP endpoint.
- (Optional) Authorization Type: If you'd like the communication to be encrypted with OAuth 2.0, select this option and fill out your OAuth 2.0 authorization information. Basic authorization is also supported. If you'd like to use it, simply include it as a part of the URL. For example
<http://username:[email protected]/yourEndpoint> - Click Create.
Custom HeadersCustom headers can be included with the Transaction that Orderful sends. To set these up please contact us at [email protected].
Test your Inbound HTTP Communication Channel
- From the left navigation menu, click on Communication Channels.
- Under "Inbound", select the Inbound HTTP that you would like to test. This will open a side panel.
- Click on Send a test. This will bring up a modal where you can select an existing test file to send, or upload your own test file.
- Click Send test.
- Your test summary will appear in the side panel for your Communication Channel.
Sending your response to Orderful
Once your endpoint has received the transaction, you will have to respond to Orderful so that we can correctly update the status of the Transaction.
For example, if you respond with an HTTP 200, we will automatically mark the transaction as DELIVERED. If you respond with an HTTP 202, this means that you have received the transaction but are not finished processing it. In the case of an HTTP 202, you should use the Delivery API to mark a Delivery as Approved or Failed. For more information, see Transaction delivery statuses.
Updated 16 days ago

