1. Help Center
  2. API
  3. Generic Suppliers API

Generic Suppliers API - Customers

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: