LogoLogo
HomeBlogDocsGuides
  • Engage Documentation
  • GETTING STARTED
    • Quick Start Guide
    • Feature Introduction
    • A basic installation
      • Platform specific installation
  • Integrations
    • Overview
    • Destinations
      • Customer.io
      • Facebook Conversion API
      • Facebook Marketing API
      • Facebook Pixel
      • Google Ads API
      • Google Analytics 4
      • Google Analytics 4 -Send audience data
      • Google Analytics 4 - Server-side
      • Google Enhanced Conversions
      • Klaviyo
      • Klaviyo Server Side
      • LinkedIn Pixel
      • TikTok Pixel
    • Sources
      • AbiCart Plugin
        • Event Tracking
      • Google Product Feed
      • Javascript Tracker
      • Magento 1 Plugin
      • Magento 2 Plugin
      • Prestashop Module
        • Event Tracking
      • Shopify Plugin
        • Event Tracking
      • Wikingruppen Plugin
      • Woocommerce Plugin
        • Event Tracking
      • Troubleshooting
  • Features
    • Event Tracking
      • Capture Video events
      • Cart
      • Checkout
      • Order
      • Product
      • Product Lists
      • Promotions
      • Reviews
      • User
      • Wishlist
    • Identities
    • Segments
    • Audiences
    • Actions
      • Sync audiences
    • Analytics
      • Customer Report
      • Sales Report
      • Attribution Models
    • Personalization
      • Product Recommendations
        • Setup Recommendations
        • Blocks
        • Models
        • Troubleshoot
      • Personalized landing pages for marketing automation
      • Recommendation Report
  • API
    • Recently Viewed
    • Recommended Products
    • Server-side Tracker
    • Order History API
    • Product Catalog API
  • Billing
    • Legacy plans
    • Shopify
  • Terms & Conditions
    • Terms and Conditions
    • Privacy Policy
      • Privacybeleid
      • Informativa sulla Privacy
      • Datenschutz-Richtlinie
      • Politique de Confidentialité
      • Política de privacidad
Powered by GitBook
On this page
  • Add this source
  • Use this source
  • Product Catalog API
  • Example call
  • Data formats
  • Dates & Time

Was this helpful?

Export as PDF
  1. API

Product Catalog API

PreviousOrder History APINextLegacy plans

Last updated 2 years ago

Was this helpful?

Share your product catalog to enable services that requires up to date product information. The product catalog is required for services like product recommendations and product analytics.

Add this source

  1. Log into your engage account

  2. Go to Data Platform > Integrations and select the Product Catalog API

  3. Follow the instructions to get started

Use this source

Once activated, you may start to send products to us. The endpoint accept single products or batches of maximum 250 products at a time. Check the for specifics and code examples in most languages.

Product Catalog API

POST https://api-dot-solutionsone-211314.ew.r.appspot.com/v1/products/catalog

Upload your product catalog to engage. Note that only base products are supported at the moment, no need to add variants. Send one product per call. Sending two identical product_ids will overwrite the product.

Query Parameters

Name
Type
Description

average_rating

number

3.0

categories

string

"Category A, Category B"

currency

string

"USD"

description

string

"A product description"

image

string

URL to a main product image

image2

string

URL to a secondary product image

link

string

URL to product page

name

string

The product name / title

on_sale

boolean

True / False

product_id

integer

100078

price

number

79.99

rating_count

number

7

sku

string

"ME3452"

Headers

Name
Type
Description

Authorization

string

"Bearer eyJhbGciOiJIUzI1NiIssdzNCw..." Log in to retrieve your user token.

Catalog successfully updated
Catalog upload failed

Only base products are required to be uploaded as part of the product catalog. Product variants are currently not supported.

Example call

curl --location --request POST 'https://api-dot-solutionsone-211314.ew.r.appspot.com/v1/products/catalog'  
--header 'Authorization: Bearer [ADD YOUR USER TOKEN HERE]' \
--header 'Content-Type: application/json'  
--data-raw '{ 
    "currency": "USD", 
    "image": "https://some-image-url.com", 
    "link": "https://a-link-to-the-product.com", 
    "product_id": 20200101, 
    "name": "My new product", 
    "price": 29.99, 
}'
var settings = {
  "url": "https://api-dot-solutionsone-211314.ew.r.appspot.com/v1/products/catalog",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "Authorization": "Bearer [ADD YOUR USER TOKEN HERE]",
    "Content-Type": "application/json"
  },
  "data": JSON.stringify({"currency":"USD","image":"https://some-image-url.com","link":"https://a-link-to-the-product.com","product_id":20200101,"name":"My new product","price":29.99}),
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
var myHeaders = new Headers();
myHeaders.append("Authorization", "Bearer [ADD YOUR USER TOKEN HERE]");
myHeaders.append("Content-Type", "application/json");

var raw = JSON.stringify({"currency":"USD","image":"https://some-image-url.com","link":"https://a-link-to-the-product.com","product_id":20200101,"name":"My new product","price":29.99});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://api-dot-solutionsone-211314.ew.r.appspot.com/v1/products/catalog", requestOptions)
  .then(response => response.text())
  .then(result => console.log(result))
  .catch(error => console.log('error', error));
var axios = require('axios');
var data = JSON.stringify({"currency":"USD","image":"https://some-image-url.com","link":"https://a-link-to-the-product.com","product_id":20200101,"name":"My new product","price":29.99});

var config = {
  method: 'post',
  url: 'https://api-dot-solutionsone-211314.ew.r.appspot.com/v1/products/catalog',
  headers: { 
    'Authorization': 'Bearer [ADD YOUR USER TOKEN HERE]', 
    'Content-Type': 'application/json'
  },
  data : data
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api-dot-solutionsone-211314.ew.r.appspot.com/v1/products/catalog",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\n    \"currency\": \"USD\",\n    \"image\": \"https://some-image-url.com\",\n    \"link\": \"https://a-link-to-the-product.com\",\n    \"product_id\": 20200101,\n    \"name\": \"My new product\",\n    \"price\": 29.99\n}",
  CURLOPT_HTTPHEADER => array(
    "Authorization: Bearer [ADD YOUR USER TOKEN HERE]",
    "Content-Type: application/json"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
import requests
import json

url = "https://api-dot-solutionsone-211314.ew.r.appspot.com/v1/products/catalog"

payload = {
  "currency": "USD",
  "image": "https://some-image-url.com",
  "link": "https://a-link-to-the-product.com",
  "product_id": 20200101,
  "name": "My new product",
  "price": 29.99
}
headers = {
  'Authorization': 'Bearer [ADD YOUR USER TOKEN HERE]',
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data = json.dumps(payload))

print(response.text.encode('utf8'))

Data formats

Dates & Time

Format

Example

YYYY-MM-DD HH:MM:SS+HH:MM

2020-01-01 04:23:01+04:00

YYYY-MM-DD HH:MM:SS.ffffff

2020-01-01 04:23:01.000384

YYYY-MM-DD HH:MM:SS

2020-01-01 04:23:01

YYYY-MM-DDTHH:MM:SS+HH:MM

2020-01-01T04:23:01+04:00

YYYY-MM-DDTHH:MM:SS.ffffff

2020-01-01T04:23:01.000384

YYYY-MM-DDTHH:MM:SS

2020-01-01T04:23:01

Generic format supported

YYYY-MM-DD[*HH[:MM[:SS[.fff[fff]]]][+HH:MM[:SS[.ffffff]]]]
API Reference