Products

Products — the very reason fulfilment exists is so you can sell your products without having to worry about logistics. On this page, we'll dive into the different product endpoints you can use to manage products programmatically. We'll look at how to query, create, update, and delete products.

The product model

The product model contains all the information about products, such as their sku, description, and stock.

Properties

  • Name
    sku
    Type
    string
    Description

    Unique stock keeping unit SKU for the product.

  • Name
    barcode
    Type
    string
    Description

    The scannable barcode of the product.

  • Name
    description
    Type
    string
    Description

    The description for the product. As it will be represented on the packing slip

  • Name
    url
    Type
    string
    Description

    The url for the product, a https url for the product detials page.

  • Name
    imageUrl
    Type
    string
    Description

    The imageUrl for the product, a https url for the products main image.

  • Name
    width
    Type
    integer
    Description

    The width of the product in millimeters.

  • Name
    height
    Type
    integer
    Description

    The height of the product in millimeters.

  • Name
    length
    Type
    integer
    Description

    The length of the product in millimeters.

  • Name
    weight
    Type
    integer
    Description

    The weight of the product in gramms.

  • Name
    stock
    Type
    integer
    Description

    The inventory of the product.


GET/fulfilment/v3/products?skip=:skip&take=:take&filter=:filter

List your products

This endpoint allows you to retrieve a list of products.

Optional arguments

  • Name
    skip
    Type
    number
    Description

    How many products to skip

  • Name
    take
    Type
    number
    Description

    How many products to return. Minimum for this argument is 10 maximum is 100

  • Name
    filter
    Type
    filter
    Description

    Consult the filtering guide for more information.

Request

GET
/v3/products
curl --location https://partner.punt-uit.nl/api/fulfilment/v3/products \
  --header "Authorization: Bearer {token}" \

Response

[
  {
    "sku": "BPBL001",
    "barcode": "98798798446541",
    "description": "Balpen Blauw",
    "url": null,
    "imageUrl": "",
    "width": 15,
    "height": 120,
    "length": 700,
    "weight": 140,
    "stock": 42
  },
  {
    ...
  }
]

POST/fulfilment/v3/products/

Create a product

This endpoint allows you to add a product.

Required attributes

  • Name
    body
    Type
    json
    Description

    json containing the product to create.

Request

POST
/v3/products
curl --location https://partner.punt-uit.nl/api/fulfilment/v3/products \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer {token}' \
     --data '{
         "sku": "SKUAPI02",
         "barcode": "195949018930",
         "description": "Basisset Lego",
         "url": "https://puntuit-dev.myshopify.com/products/lego-basisset",
         "imageUrl": "https://puntuit-dev.myshopify.com/cdn/shop/products/Lego_493x.jpg?v=1669102079%20493w",
         "width": 1800,
         "height": 1200,
         "length": 2400,
         "weight": 1600
     }'                   

Response

{
    "sku": "SKUAPI02",
    "barcode": "195949018930",
    "description": "Basisset Lego",
    "url": "https://puntuit-dev.myshopify.com/products/lego-basisset",
    "imageUrl": "https://puntuit-dev.myshopify.com/cdn/shop/products/Lego_493x.jpg?v=1669102079%20493w",
    "width": 1800,
    "height": 1200,
    "length": 2400,
    "weight": 1600,
    "stock": 0
}

POST/fulfilment/v3/bulk/products/

Create multiple products

For your convenience this endpoint allows you to add multiple products, we suggest using this if you want to create more than one product as it will be faster.

Required attributes

  • Name
    body
    Type
    json
    Description

    json array containing the products to create.

Optional arguments

  • Name
    skipDuplicates
    Type
    boolean
    Description

    Raise an error if product with SKU already exists or ignore those

Request

POST
/v3/products
curl --location https://partner.punt-uit.nl/api/fulfilment/v3/products \
     --header 'Content-Type: application/json' \
     --header 'Authorization: Bearer {token}' \
     --data '
      [
        {
         "sku": "SKUAPI02",
         "barcode": "195949018930",
         "description": "Basisset Lego",
         "url": "https://puntuit-dev.myshopify.com/products/lego-basisset",
         "imageUrl": "https://puntuit-dev.myshopify.com/cdn/shop/products/Lego_493x.jpg?v=1669102079%20493w",
         "width": 1800,
         "height": 1200,
         "length": 2400,
         "weight": 1600
      },
      {
        ...
      }
    ]'                   

Response

[
  {
    "sku": "SKUAPI02",
    "barcode": "195949018930",
    "description": "Basisset Lego",
    "url": "https://puntuit-dev.myshopify.com/products/lego-basisset",
    "imageUrl": "https://puntuit-dev.myshopify.com/cdn/shop/products/Lego_493x.jpg?v=1669102079%20493w",
    "width": 1800,
    "height": 1200,
    "length": 2400,
    "weight": 1600,
    "stock": 0
  },
  {
    ...
  }
]

GET/fulfilment/v3/products/:sku

Retrieve a product

This endpoint allows you to retrieve a product by providing the product sku. Refer to the product at the top of this page to see which properties are included with product objects.

Required attributes

  • Name
    sku
    Type
    string
    Description

    Path parameter representing your sku of the product.

Request

GET
/v3/products/BPBL001
curl --location https://partner.punt-uit.nl/api/fulfilment/v3/product/LI00P01 \
  --header "Authorization: Bearer {token}"

Response

{
    "sku": "LI00P01",
    "barcode": "25353454466432",
    "description": "Eiffeltoren",
    "url": "https://www.lego.com/nl-nl/product/eiffel-tower-10307",
    "imageUrl": "https://www.lego.com/cdn/cs/set/assets/blt95b2930fbcf9ea6b/10307_alt1.png?format=webply&fit=bounds&quality=60&width=800&height=800&dpr=2",
    "width": null,
    "height": null,
    "length": null,
    "weight": null,
    "stock": 0
}

PUT/v3/products/:sku

Update a product

This endpoint allows you to perform an update on a product. Examples of updates are changing the description or imageUrl.

Required attributes

  • Name
    sku
    Type
    string
    Description

    Path parameter representing the sku of the product.

  • Name
    body
    Type
    string
    Description

    A json body containing the new values.

Request

PUT
/v3/products/LI00P01
curl --location --request PUT https://partner.punt-uit.nl/api/fulfilment/v3/products/LI00P01 \
  --header "Authorization: Bearer {token}" \
  --data '{
      "description": "Test via api, app id should be known.",
      "barcode": "973287328722"
  }'

Response

{
  "sku": "LI00P01",
  "description": "The finest balpen in blue.",
  ...
},

DELETE/v3/products/:sku

Delete a product

This endpoint allows you to delete products. Note: This will permanently delete the product.

Required attributes

  • Name
    sku
    Type
    string
    Description

    Path parameter representing the sku of the product.

Request

DELETE
/v3/products/LI00P01
curl --location --request DELETE https://partner.punt-uit.nl/api/fulfilment/v3/products/LI00P01 \
  --header "Authorization: Bearer {token}"