How to: sync products catalog, categories

🚧

This guide is currently in progress and might change without notice.

Intro

This guide will walk you through syncing Merchant's store's product catalog via Products API, which enables powerful features such as:

  • Product Recommender: Leverage the Omnisend's product recommender to suggest relevant products to your merchant's customers based on their browsing and purchase history.
  • Automated Product Inclusion: Easily include product information in merchant's marketing campaigns, such as email templates and dynamic content, without manual data entry.

See the detailed API reference for products and categories

Create a product

In order to create product one by one use the POST /products endpoint. Here's an example using the curl command to create a new product:

curl --request POST \
     --url https://api.omnisend.com/v3/products \
     --header 'X-API-KEY: MERCHANT_API_KEY' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "categoryIDs": [
    "cat123"
  ],
  "productID": "abc123",
  "title": "Shirts",
  "status": "inStock",
  "currency": "USD",
  "productUrl": "http://www.example.com/products/prod-666"
}
'

Update product

Use the PUT /products/{productID} endpoint to update an existing product.

Here's an example using the curl command:

curl --request PUT \
     --url https://api.omnisend.com/v3/products/abc123 \
     --header 'X-API-KEY: MERCHANT_API_KEY' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "title": "Container for mojo",
  "status": "inStock",
  "currency": "USD",
  "updatedAt": "2000-01-01T00:00:01Z"
}
'

Create/update products in batch

Using the batch endpoint to create/update products saves time, minimises API calls, reduces rate limit risks, and improves scalability.

We recommend keeping the payload size limited to a maximum of 1MB to ensure optimal performance and efficient data transmission.

Use POST /batches endpoint to create/update multiple products. Here is an example for creating products:

curl --request POST \
     --url https://api.omnisend.com/v3/batches \
     --header 'X-API-KEY: MERCHANT_API_KEY' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
    "method": "POST",
    "endpoint": "products",
    "items": [
        {
            "categoryIDs": [
                "cat123"
            ],
            "productID": "abc123",
            "title": "Shirts",
            "status": "inStock",
            "currency": "USD",
            "productUrl": "http://www.example.com/products/prod-666"
        }
    ]
}
'

Change method to PUT if you need to update multiple products.

Create products category

In order to create products category use the POST /categories endpoint. Here's an example using the curl command:

curl --request POST \
     --url https://api.omnisend.com/v3/categories \
     --header 'X-API-KEY: MERCHANT_API_KEY' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "categoryID": "cat667",
  "title": "Containers"
}
'

Update products category

You can update/replace products category using the PUT /categories/{categoryID} endpoint. Here's an example using curl command:

curl --request PUT \
     --url https://api.omnisend.com/v3/categories/cat123 \
     --header 'X-API-KEY: MERCHANT_API_KEY' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "title": "New title2"
}
'