REST with JSON
Resources are plain nouns and bodies are JSON. An error says what was wrong and where, so a person can fix it without asking us.
DigiOS has a REST API that speaks JSON, and webhooks that tell your systems when something happens on the floor. Use them for anything on this site that doesn't have a name of its own.
Your systems call DigiOS over REST in JSON; DigiOS calls yours with webhooks.
Most connections use both: your system calls DigiOS to send work, and DigiOS calls your system when the work is done.
Resources are plain nouns and bodies are JSON. An error says what was wrong and where, so a person can fix it without asking us.
Your system gets a token with OAuth client credentials. Tokens are scoped to one client, so a token for one client cannot see another's.
A write carries an idempotency header. Send it twice and the second send returns the first answer. A document sent twice never opens two orders.
A long list comes in pages. Each page says how to ask for the next one, so no call has to carry everything at once.
Limits apply per token. A busy client doesn't slow another, and a call over the limit is told when to try again.
Each delivery is signed with a secret, retried until you confirm it, and listed in a log you can read. A delivery you missed can be sent again from the log.
| Document | Direction | What it is |
|---|---|---|
| Orders | In and out | An order to ship, with its lines and ship-to details in; its status and shipment back |
| Advance ship notices | In | What a supplier or client is sending, so receiving knows what to expect |
| Receipts | Out | What arrived, in what quantity, against which notice or order |
| Shipments and tracking | Out | What shipped, in which packages, with which carrier and tracking number |
| Stock levels | Out | What is on hand, by item and location, as a snapshot or as changes |
| Adjustments | Out | A change to stock that was counted, moved or corrected |
| Items and parties | In | Items with their units and barcodes, and the customers and ship-to addresses orders name |
| Statements | Out | The charges for a client's period, as lines and a total |
No. The systems named on this site connect without code from you. The API is for what has no name here.
Yes. An order made by API and an order that arrives as an 850 are the same order to DigiOS, and a rejected document goes to the same queue.
A webhook is delivered at least once, with no guarantee of when. The same delivery can arrive twice, so check its ID, and run a reconciliation on a schedule to catch anything missed.
A sandbox is offered to early-access customers. Ask, and we tell you what a first test would look like.
Limits apply per token. We state them in writing when you get access.
Say which of your systems should talk to DigiOS and what should move. A person answers in writing.