Download OpenAPI specification:Download
Tonies API Gateway. This document describes the API provided by tonies (Team Enterprise Integration) for Arvato to handle all 3PL matters.
A complete Architecture Overview can be found in Miro.
Create Receiving Advice for a Purchase Order. Whenever Arvato received a purchase order or parts of it, create a receiving advice to check and compare the Purchase Order with the actual items received.
| content-type required | any Content-type to be passed in header |
| x-api-key required | any Default: your_api_key x-api-key to be passed in header |
A single, or multiple receiving advices from arvato
required | Array of objects (ReceivingAdviceDocument) | ||||||||||||||||||
Array
| |||||||||||||||||||
{- "recadvDocument": [
- {
- "postingDate": "string",
- "referenceDocumentNumber": "string",
- "arvatoId": "string",
- "plant": "DE",
- "items": [
- {
- "lineNumber": "string",
- "sku": "string",
- "quantity": 0
}
]
}
]
}{- "message": "string",
- "response_payload": {
- "recadvDocument": [
- {
- "postingDate": "string",
- "referenceDocumentNumber": "string",
- "arvatoId": "string",
- "plant": "DE",
- "items": [
- {
- "lineNumber": "string",
- "sku": "string",
- "quantity": 0
}
]
}
]
}
}Receive Stock Movement Info. Whenever Arvato moves stock between locations (can be /dev/null), they send us the info about it, so we can sync with our ERP. Might also increase or decrease stock level with this. Or change SKU of an article (e.g. because it was refurbished and now has a different SKU). The items might differ, but the movement type will be the same in the request. We will never see a request with multiple items where one item was e.g. moved between locations and another one has the SKU changed.
| content-type required | any Default: application/json Content-type to be passed in header |
| x-api-key required | any Default: your_api_key x-api-key to be passed in header |
A single, or multiple items moved from one location to another or stock changed, or sku changed by arvato
required | Array of objects (StockMovementDocument) | ||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||
{- "stockMovement": [
- {
- "timestamp": "string",
- "arvatoId": "string",
- "items": [
- {
- "plant": "DE",
- "sku": "string",
- "quantity": 0,
- "movementType": "309",
- "reasonCode": "10",
- "locationCode": "0001",
- "receivingLocationCode": "0001",
- "receivingSku": "string"
}
]
}
]
}{- "message": "string",
- "response_payload": {
- "stockMovement": [
- {
- "timestamp": "string",
- "arvatoId": "string",
- "items": [
- {
- "plant": "DE",
- "sku": "string",
- "quantity": 0,
- "movementType": "309",
- "reasonCode": "10",
- "locationCode": "0001",
- "receivingLocationCode": "0001",
- "receivingSku": "string"
}
]
}
]
}
}Stock Comparison / Stock Sync from Arvato to tonies. Arvato sends the current stock per storage Location once per day. It's one request per locationCode. Timing is during night time. This usually avoids a scenario that a stock sync is sent while a stock movement is done.
| content-type required | any Default: application/json Content-type to be passed in header |
| x-api-key required | any Default: your_api_key x-api-key to be passed in header |
A single, or multiple stock inventories per storage location.
required | Array of objects (StockSyncDocument) | ||||||||||||||||
Array
| |||||||||||||||||
{- "stockSync": [
- {
- "arvatoId": "string",
- "plant": "DE",
- "timestamp": "string",
- "locationCode": "0001",
- "items": [
- {
- "sku": "string",
- "quantity": 0
}
]
}
]
}{- "message": "string",
- "response_payload": {
- "stockSync": [
- {
- "arvatoId": "string",
- "plant": "DE",
- "timestamp": "string",
- "locationCode": "0001",
- "items": [
- {
- "sku": "string",
- "quantity": 0
}
]
}
]
}
}PGI / Post Goods Issue confirms the ship of outgoing goods (=Warenausgang). tonies sends one or multiple orders for outgoing goods per sales order to arvato. This interfaces receives the response from arvato about the order, which might consist of multiple shipments, with multiple tracking infos.
| content-type required | any Default: application/json Content-type to be passed in header |
| x-api-key required | any Default: your_api_key x-api-key to be passed in header |
A single, or multiple delivery confirmations per referenceDocumentNumber(pro Warenausgang).
required | Array of objects (PostGoodsIssueDocument) | ||||||||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||||||||
{- "deliveryConfirmation": [
- {
- "referenceDocumentNumber": "string",
- "orderNumber": "string",
- "arvatoId": "string",
- "plant": "DE",
- "pgiDate": "string",
- "items": [
- {
- "lineNumber": "string",
- "sku": "string",
- "quantity": 0,
- "serialnumbers": [
- "string"
]
}
], - "trackingData": [
- {
- "carrier": "DHL",
- "trackingNumber": "string"
}
]
}
]
}{- "message": "string",
- "response_payload": {
- "stockSync": [
- {
- "deliveryConfirmation": [
- {
- "referenceDocumentNumber": "string",
- "orderNumber": "string",
- "arvatoId": "string",
- "plant": "DE",
- "pgiDate": "string",
- "items": [
- {
- "lineNumber": "string",
- "sku": "string",
- "quantity": 0,
- "serialnumbers": [
- "string"
]
}
], - "trackingData": [
- {
- "carrier": "DHL",
- "trackingNumber": "string"
}
]
}
]
}
]
}
}Create ProductionRecAdvice for a corresponding Production Order. Whenever Arvato received a Production Order, create a production receiving advice to confirm what has been produced.
| content-type required | any Content-type to be passed in header |
| x-api-key required | any Default: your_api_key x-api-key to be passed in header |
A single production receiving advice from Arvato
required | object | ||||||||||||
| |||||||||||||
{- "productionRecAdvice": {
- "referenceDocumentNumber": "string",
- "arvatoID": "string",
- "plant": "DE",
- "timestamp": "string",
- "product": "string",
- "quantity": 0
}
}{- "message": "string",
- "response_payload": {
- "productionRecAdvice": {
- "referenceDocumentNumber": "string",
- "arvatoID": "string",
- "plant": "DE",
- "timestamp": "string",
- "product": "string",
- "quantity": 0
}
}
}Create Receiving Advice for a return material authorization (RMA). Whenever Arvato received a RMA, create a RMA receiving advice to check and compare the RMA with the actual items received. Also used in case of unadviced returns.
| content-type required | any Content-type to be passed in header |
| x-api-key required | any Default: your_api_key x-api-key to be passed in header |
A single returns receiving advice from Arvato
| referenceDocumentNumber | string Tonies RMA Number, from the original RMA request Max Char35 | ||||||||||||||||||
| orderNumber | string (OrderNumber) Order number max 35 characters | ||||||||||||||||||
| arvatoId required | string (ArvatoReferenceID) Arvato Reference Number - ID in Arvato's system | ||||||||||||||||||
| plant required | string (ArvatoPlant) Enum: "DE" "UK" Determines the location of the item(s). Currently in UK or DACH. Is always a two-letter country code. ISO 3166-1 alpha-2 FOR DOCUMENTATION PURPOSES ONLY: Arvato maps these values to
| ||||||||||||||||||
| trackingNumber | string Tracking ID / Number from DHL/UPS/etc | ||||||||||||||||||
Array of objects (ReturnReceivingAdviceItem) | |||||||||||||||||||
Array
| |||||||||||||||||||
Array of objects (BasicAddressSchema) | |||||||||||||||||||
Array
| |||||||||||||||||||
{- "referenceDocumentNumber": "string",
- "orderNumber": "string",
- "arvatoId": "string",
- "plant": "DE",
- "trackingNumber": "string",
- "items": [
- {
- "sku": "string",
- "quantity": 0,
- "resaleable": 0,
- "unsaleable": 0,
- "serialnumbers": [
- "string"
]
}
], - "contact": [
- {
- "name": "string",
- "name2": "string",
- "city": "string",
- "address": "string",
- "address2": "string",
- "country": "DE",
- "zip": "string",
- "tel": "string",
- "mail": "string"
}
]
}{- "message": "string",
- "response_payload": {
- "returnRecAdvDocument": [
- {
- "referenceDocumentNumber": "string",
- "orderNumber": "string",
- "arvatoId": "string",
- "plant": "DE",
- "trackingNumber": "string",
- "items": [
- {
- "sku": "string",
- "quantity": 0,
- "resaleable": 0,
- "unsaleable": 0,
- "serialnumbers": [
- "string"
]
}
], - "contact": [
- {
- "name": "string",
- "name2": "string",
- "city": "string",
- "address": "string",
- "address2": "string",
- "country": "DE",
- "zip": "string",
- "tel": "string",
- "mail": "string"
}
]
}
]
}
}For a simple check if the DNS Domain is mapped to an API Gateway, responding with the same Lambda, that handles the POST request.
| x-api-key required | any Default: your_api_key x-api-key to be passed in header |
{- "statusCode": 0,
- "body": {
- "message": "string"
}
}