Rules
API rules check list
Your integration must follow these rules.
Support the Tradecloud standards
Your integration must support the Tradecloud standards.
Pitfall: JSON syntax does not assign any significance to the ordering of name/value pairs.
Support forward compatibility
Your integration must support forward compatibility.
Identifiers
Identifier examples are:
supplierAccountNumber
buyerAccountNumber
purchaseOrderNumber
destination.code
position
item.number
deliverySchedule.position
salesOrderNumber
salesOrderPosition
contact.email
contact.userName
Identifiers must be unique and immutable
Your identifiers
must be unique
must never change
must never be reassigned
Identifiers must not contain whitespace characters
Your identifiers must not contain whitespace characters.
Connections must be configured
The account number should be set on forehand in the Tradecloud connection with your supplier or buyer. You can set the account code when inviting a new connection or at any time in the connection overview in the portal.
Sending messages
Rules for any Tradecloud API request:
Send messages sequential
Send the next message when the previous one has been responded with HTTP Status Code 200 OK or 202 Accepted.
Do not send more than 10 requests per second.
Tradecloud may respond with HTTP Status Code 429 Too Many Requests
Queue and retry messages with an exponential backoff.
The Tradecloud environments do not have an availability SLO of 100%. If Tradecloud is temporarily unavailable, it is the API client's responsibility to queue the message and automatically retry with exponential backoff till Tradecloud is available again. An alternative is to warn the ERP user, who is trying to send the message to Tradecloud, so the user can manually retry later.
If Tradecloud responds with either:
a HTTP Status Code 5xx Server Error or
HTTP Status Code 429
Too Many Requests
orthe requests does time out (currently 5 secs. at Tradecloud API side)
Then the client must automatically retry, using an exponential backoff strategy, or use a manual retry strategy. The Exponential Backoff Calculator is handy to verify the retry plan.
Only send new or changed orders or order responses
Only send an order or order response that either is new or has an actual change
Never resend all orders or responses periodically
Never resend all or all active orders, responses, dispatch advices or forecasts periodically.
Resending periodically will result in processing delays and excessive network, server and storage resource usage.
The order or order response should only contain new or changed lines
The order or response should preferable only contain order lines that are new or changed. But you can also send all lines anyway.
Sending all lines may result in processing delays and unnecessary network, server and storage resource usage.
Arrays are limited to 100 objects
The TOTAL number of objects is limited to 100 objects per collection by default.
Examples are:
100 documents in total per order
100 documents in total per order line
100 delivery lines per delivery schedule
100 delivery lines per delivery history
Exceptions are:
500 lines in total per order
500 lines in total per shipment
500 lines in total per supplier forecast
Orders and lines
Do not change destination or item
As buyer your integration should not change the order destination or line item when updating an order. If you wish to change the order destination, or a line item, either:
Discuss this with your supplier through the chat function in the Portal. If your supplier agrees, update the order(line) accordingly through your integration.
Cancel the order(line) and create a new order(line) with the alternative destination or item.
Last updated