tonies Arvato openAPI (1.0.5)

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.

tonies infrastructure

A complete Architecture Overview can be found in Miro.tonies API Infrastructure

receivingAdvice

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.

Authorizations:
api_key
header Parameters
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

Request Body schema: application/json
required

A single, or multiple receiving advices from arvato

required
Array of objects (ReceivingAdviceDocument)
Array
postingDate
required
string (Date-YYYY-MM-DD)

In ISO8601 format YYYY-MM-DD

referenceDocumentNumber
required
string

From the original Purchase Order Max Char12

arvatoId
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

  • E074 = Gütersloh = DE
  • E076(?) = London = UK or GB -> TBD
Array of objects (ReceivingAdviceItem)
Array
lineNumber
required
string (Linenumber)

reference + line number are for exact identification, max 18 digits

sku
required
string (SKU)

SKU / Article No, Max Char18

quantity
required
integer <int32> (Quantity)

Unit is always Piece = Stück.Max 18 digits

Responses

Request samples

Content type
application/json
{
  • "recadvDocument": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "response_payload": {
    }
}

stockMovement

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.

Authorizations:
api_key
header Parameters
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

Request Body schema: application/json
required

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
timestamp
required
string (Timestamp)

ISO 8601 Timestamp e.g. 2023-09-25T09:10:12Z

arvatoId
string (ArvatoReferenceID)

Arvato Reference Number - ID in Arvato's system

Array of objects (StockMovementItem)
Array
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

  • E074 = Gütersloh = DE
  • E076(?) = London = UK or GB -> TBD
sku
required
string (SKU)

SKU / Article No, Max Char18

quantity
required
integer <int32> (Quantity)

Unit is always Piece = Stück.Max 18 digits

movementType
required
string (ArvatoMovementType)
Enum: "309" "311" "501" "502" "551" "552" "711" "712" "911" "912"

What kind of movement is it? Mat to Mat, Storage loc to Storage loc, Stock Adj +-, Scrap (reverse), etc. An Item can also change SKU (e.g. new vs refurbished). Char 3

  • 309 - Mat-to-Mat - Movement from e.g. material A to material Preloved
  • 311 - Storage Movement - Movement from e.g. inventory 0003 to 0001
  • 501 - Goods In without PO positive - Positive booking into sub inventory
  • 502 - Goods In without PO negative - Negative booking out of sub inventory (correction)
  • 551 - Scrap negative - Booking out of sub inventory 0002
  • 552 - Scrap positive - Booking into sub inventory 0002 (correction)
  • 711 - Inventory negative - Inventory booking only used for stock take
  • 712 - Inventory positive - Inventory booking only used for stock take
  • 911 - Stock movement negative - Negative booking out of sub inventory (missing stock)
  • 912 - Stock movement positive - Positive booking into sub inventory (found stock)
reasonCode
string (ArvatoReasonCode)
Enum: "10" "11" "12" "13" "14" "15" "16" "17" "18" "19" "20"

Why is the stock moved, changed or incr. decr.? Char4

  • 10 - Up on Customer instruction (xxx)
  • 11 - Scrap out during goods In (311)
  • 12 - Storage movement (311)
  • 13 - Material change (309)
  • 14 - Stock take booking (711/712)
  • 15 - tbc
  • 16 - Goods in correction (501/502)
  • 17 - Special handling (311)
  • 18 - Stock correction returns (311)
  • 19 - Scrap (551/552)
  • 20 - Stock correction (911/912)
locationCode
required
string (ArvatoLocationCode)
Enum: "0001" "0002" "0003" "0004" "0005" "0006" "0007"

We manage material quality (new / damaged etc.) with this value. Char4

  • 0001 - Available Good stock available for orders
  • 0002 - Scrap Damage stock not available for orders
  • 0003 - Returns Stock out of returns not available for orders
  • 0004 - Dirty Blocked stock for rework not available for orders
  • 0005 - Quarantine Blocked stock for any reason not available for orders
  • 0006 - Refurbish Within rework not available for orders
  • 0007 - Cross Dock Cross dock interim storage Only available in combination with cross dock customer
receivingLocationCode
string (ArvatoLocationCode)
Enum: "0001" "0002" "0003" "0004" "0005" "0006" "0007"

We manage material quality (new / damaged etc.) with this value. Char4

  • 0001 - Available Good stock available for orders
  • 0002 - Scrap Damage stock not available for orders
  • 0003 - Returns Stock out of returns not available for orders
  • 0004 - Dirty Blocked stock for rework not available for orders
  • 0005 - Quarantine Blocked stock for any reason not available for orders
  • 0006 - Refurbish Within rework not available for orders
  • 0007 - Cross Dock Cross dock interim storage Only available in combination with cross dock customer
receivingSku
string (SKU)

SKU / Article No, Max Char18

Responses

Request samples

Content type
application/json
{
  • "stockMovement": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "response_payload": {
    }
}

stockSync

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.

Authorizations:
api_key
header Parameters
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

Request Body schema: application/json
required

A single, or multiple stock inventories per storage location.

required
Array of objects (StockSyncDocument)
Array
arvatoId
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

  • E074 = Gütersloh = DE
  • E076(?) = London = UK or GB -> TBD
timestamp
required
string (Timestamp)

ISO 8601 Timestamp e.g. 2023-09-25T09:10:12Z

locationCode
string (ArvatoLocationCode)
Enum: "0001" "0002" "0003" "0004" "0005" "0006" "0007"

We manage material quality (new / damaged etc.) with this value. Char4

  • 0001 - Available Good stock available for orders
  • 0002 - Scrap Damage stock not available for orders
  • 0003 - Returns Stock out of returns not available for orders
  • 0004 - Dirty Blocked stock for rework not available for orders
  • 0005 - Quarantine Blocked stock for any reason not available for orders
  • 0006 - Refurbish Within rework not available for orders
  • 0007 - Cross Dock Cross dock interim storage Only available in combination with cross dock customer
Array of objects (StockSyncItem)

List of items.

Array
sku
required
string (SKU)

SKU / Article No, Max Char18

quantity
required
integer <int32> (Quantity)

Unit is always Piece = Stück.Max 18 digits

Responses

Request samples

Content type
application/json
{
  • "stockSync": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "response_payload": {
    }
}

postGoodsIssue

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.

Authorizations:
api_key
header Parameters
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

Request Body schema: application/json
required

A single, or multiple delivery confirmations per referenceDocumentNumber(pro Warenausgang).

required
Array of objects (PostGoodsIssueDocument)
Array
referenceDocumentNumber
required
string

From the original Purchase Order Max Char12

orderNumber
string

Order number max 35 characters

arvatoId
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

  • E074 = Gütersloh = DE
  • E076(?) = London = UK or GB -> TBD
pgiDate
required
string (Timestamp)

ISO 8601 Timestamp e.g. 2023-09-25T09:10:12Z

Array of objects (PostGoodsIssueItem)

List of items.

Array
lineNumber
required
string (Linenumber)

reference + line number are for exact identification, max 18 digits

sku
required
string (SKU)

SKU / Article No, Max Char18

quantity
required
integer <int32> (Quantity)

Unit is always Piece = Stück.Max 18 digits

serialnumbers
Array of strings (Serialnumber)
Array of objects (TrackingItem)

Tracking Data for all packages for this referenceDocumentNumber.

Array
carrier
string (Carrier)
Enum: "DHL" "UPS" "DPD" "DHL-Express"

A selection of available carriers

trackingNumber
string

Contains the tracking number of the carrier for this shipment.

Responses

Request samples

Content type
application/json
{
  • "deliveryConfirmation": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "response_payload": {
    }
}

productionReceivingAdvice

Create ProductionRecAdvice for a corresponding Production Order. Whenever Arvato received a Production Order, create a production receiving advice to confirm what has been produced.

Authorizations:
api_key
header Parameters
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

Request Body schema: application/json
required

A single production receiving advice from Arvato

required
object
referenceDocumentNumber
required
string

Production Order ID. Max Char20

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

  • E074 = Gütersloh = DE
  • E076(?) = London = UK or GB -> TBD
timestamp
required
string (Date-YYYY-MM-DD)

In ISO8601 format YYYY-MM-DD

product
required
string (SKU)

Finished Product SKU

quantity
required
integer <int32> (Quantity)

Unit is always Piece = Stück.Max 18 digits

Responses

Request samples

Content type
application/json
{
  • "productionRecAdvice": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "response_payload": {
    }
}

returnRecAdvice

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.

Authorizations:
api_key
header Parameters
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

Request Body schema: application/json
required

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

  • E074 = Gütersloh = DE
  • E076(?) = London = UK or GB -> TBD
trackingNumber
string

Tracking ID / Number from DHL/UPS/etc

Array of objects (ReturnReceivingAdviceItem)
Array
sku
required
string (SKU)

SKU / Article No, Max Char18

quantity
required
integer <int32> (Quantity)

Unit is always Piece = Stück.Max 18 digits

resaleable
integer <int32>

Home many are A Ware. Unit is always Piece = Stück.

unsaleable
integer <int32>

How many are scrap/dirty. Unit is always Piece = Stück.

serialnumbers
Array of strings (Serialnumber)
Array of objects (BasicAddressSchema)
Array
name
string

Partner Name max XX characters

name2
string

Partner Name max XX characters

city
string

City max XX characters

address
string

Street + HouseNo max XX characters

address2
string

additional address info, max XX characters

country
required
string (Country)
Enum: "DE" "US" "GB" "ES" "FR" "IE" "AT" "AU" "UK"

Two-Letter Country Code. - ISO 3166-1 alpha-2

zip
string

Zip Code, max XX characters

tel
string

Phone / Landline Number, max XX characters

mail
string

Email Address max XX characters

Responses

Request samples

Content type
application/json
{
  • "referenceDocumentNumber": "string",
  • "orderNumber": "string",
  • "arvatoId": "string",
  • "plant": "DE",
  • "trackingNumber": "string",
  • "items": [
    ],
  • "contact": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string",
  • "response_payload": {
    }
}

Health Check Endpoint

For a simple check if the DNS Domain is mapped to an API Gateway, responding with the same Lambda, that handles the POST request.

Authorizations:
api_key
header Parameters
x-api-key
required
any
Default: your_api_key

x-api-key to be passed in header

Responses

Response samples

Content type
application/json
{
  • "statusCode": 0,
  • "body": {
    }
}