Products API

Getting Started with Syncing Your Products

The Products API allows you to submit product data for extraction, transformation, and loading (ETL) with Bulk Product uploads into the Clearity platform. This endpoint specifically handles the submission of product information via a CSV file.

Note, the Sync Products API is always treated as a full sync, and does not support an upsert. Any products that are removed from the file will be removed from the manager and no longer considered eligible in your campaign. Including products before they are available on your site is advised as this will enable you to create campaigns with specific products or categories/collections, before they are available for purchase – ensuring that when the product launches, the donation is already configured on the given product.

📘

Setting your Products to Automatically "Include" vs "Exclude"

Within the Products Manager with your Clearity portal you can set your products to automatically "Include" or "Exclude" when new products are synced.

When "Included" - If you created a campaign that set all products in "Category A" to donate $5 when purchased, when they product sync is processed, if a new product is ingested that includes "Category A" that product would automatically be Included in the campaign, and therefor create a $5 donation when purchased.

When Excluded - If you created a campaign that set all products in "Category A" to donate $5 when purchased, when they product sync is processed, if a new product is ingested that includes "Category A" that product would automatically be Excluded in the campaign, and therefor no $5 donation would be created, and this product would not be included in the campaign. You would manually be required to "Include" the specific product to become eligible for a donation when purchased.

File Convention and Naming

  1. Ensure that the CSV file includes headers as provided in the example fields listed below.
  2. When providing any objects that include multiple values such as groupingIds (Categories) or subgroupIds (subcategories), ensure to separation of with commas or pipe-separators.
  3. This endpoint processes the submitted data for ETL and may take up to 10 minutes per 500MB for completion.
  4. File name for the CSV needs to include the given EntityId surrounded by underscores, followed by UTC timestamp.
    1. For example: "domain.com_61234abcd-5dbc-5678-abcd-efcg101124345_2024-11-05T13.csv"

The following CSV Fields are required to be mapped for ingestion:

ShoppingGives Column HeaderSimilar Merchant Column HeaderFormatDescriptionRequired
productGroupIdStyle IdstringThe product grouping Id is the parent Id of a group of similar products with different variants. Often referred to as the Style Id. For example, this would be the Id of a t-shirt with four (4) different sizes. When the customer lands on the page, and no variant is selected, this Id groups the products.Required
productIdVariant IdstringUnique product identifier for your system. Can be filled with either a Product CMS ID if generated by a CMS or a SKU.Required
skuSKUstringStore Keeping Unit, Unique identifier for the product.Required
nameNamestringName of the product.Required
descriptiondescriptionstringDescription of the product.Optional
imagesProduct ImageURLUrl of the image desired to associate the product with.Optional
basePrice USDProduct MSRP USDnumberThe full price of the item in USD. It should not include any currency symbol.Required
basePrice CADProduct MSRP CADnumberThe full price of the item in CAD. It should not include any currency symbol.Optional
tagstagPipe Separated StringsList of tags associated with the product. If more than one, pipes will be used to separate the list.Optional
productUriproduct URLURLURL of the web page the product is displayed.Optional
groupingIdsCategoriesPipe Separated StringsList of Groupings or Collections the product is associated with. If more than one, pipes will be used to separate the list.Required
subGroupIdsSub-CategoriesPipe Separated StringsList of Groupings or Collections the product is associated with. If more than one, pipes will be used to separate the list.Optional