A collection of endpoints to list information associated with customers and its packages from a given supplier.
All endpoints below needs a token for authentication. Please, go to this article in order to discover how to generate one.
GET /integrations/suppliers/customers/
List meta data from customers of a given supplier. Check directly in the API here.
Response schema:
{
"count": integer,
"next": integer | null,
"previous": integer | null,
"results": [
{
"customer_number": string,
"supplier_outlet_id": string | null
}
]
}
Fields information:
- supplier_outlet_id -> Supplier distribution center identifier associated with the package;
- customer_number -> It's the unique identifier in your system for a given customer.
Response example:
{
"count": 2,
"next": null,
"previous": null,
"results": [
{"customer_number": "456", "supplier_outlet_id": null},
{"customer_number": "123", "supplier_outlet_id": "666"}
]
}
GET /integrations/suppliers/customers/{customer_number}/packages
List packages of a specific customer from a given supplier. Check directly in the API here.
Response schema:
{
"count": integer,
"next": integer | null,
"previous": integer | null,
"results": [
{
"supplier_outlet_id": integer | null,
"package": {
"article": {
"shared_id": string,
"name": string,
"brand": string | null
},
"third_party_id": string,
"name": string,
"gtin": string | null,
"price": decimal,
"price_type_code": integer,
"package_type": string | null,
"package_description": {
"package": {
"quantity": decimal,
"package: {
....
"unit_name": string
}
},
"orderable": boolean
}
}
]
}
Fields information:
- third_party_id -> Package's unique identifier;
- shared_id -> Article's identifier (or an identifier shared between packages);
- price_type_code -> If the package is billed by its unit (1) or by the whole package (0);
- package_type -> Package's type (if it's a box, case or ...)
- package_description -> This field has a recursive nature, which means that you can have multiple nested packages within its structure. Although it don't have a defined schema, three things are certain:
- there'll be a "quantity" field at the top level package;
- for each "package" field, a "quantity" field will also be present
- there'll be a "unit_name" field at the lower level package.
Filters:
- supplier_outlet_id -> string equality;
- shared_id -> string equality;
- article_name -> string case-insensitive;
-
package_gtin -> string equality;
-
package_is_orderable -> boolean.
Response example:
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"supplier_outlet_id": null,
"package": {
"article": {
"shared_id": "123456",
"name": "Article",
"brand": "Brand"
},
"third_party_id": "EA123456",
"name": "Package 2",
"gtin": null,
"price": 12.0,
"price_type_code": 0,
"package_type": null,
"package_description": {"quantity": 1.0, "unit_name": "kg"},
"orderable": true
}
},
{
"supplier_outlet_id": null,
"package": {
"article": {
"shared_id": "123456",
"name": "Article",
"brand": "Brand"
},
"third_party_id": "CS123456",
"name": "Package",
"gtin": "26989625952452",
"price": 6.0,
"price_type_code": 0,
"package_type": null,
"package_description": {
"quantity": 3.0,
"package": {"quantity": 1.0, "unit_name": "kg"}
},
"orderable": true
}
}
]
}
GET /integrations/suppliers/customers/{customer_number}/packages/{third_party_id}/
Get package details. Check directly in the API here.
{
"supplier_outlet_id": integer | null,
"package": {
"article": {
"shared_id": string,
"name": string,
"brand": string | null
},
"third_party_id": string,
"name": string,
"gtin": string | null,
"price": decimal,
"price_type_code": integer,
"package_type": string | null,
"package_description": {
"package": {
"quantity": decimal,
"package: {
....
"unit_name": string
}
}
"orderable": true
}
}
Get more info on the events that occurred during the sync or go back to the files endpoint: