Skip to main content

What can a Custom Product integration do in Endless, and how do I avoid duplicate or overwritten product data?

A Custom Product integration gives your developer an access token, API key, and API secret to write product data into Endless through the API. It does not have settings or actions. Every change comes from calls your system makes, so your system decides when to sync.

Its default role is Product Integration. With it, your system can create, update, delete, and restore products and bundles, and set attributes, prices, costs, images and other media, UPCs, units of measure, and external identifiers. It can also adjust inventory, start inventory transfers, and read buildings and locations. To read or create orders, use a Custom Sales or Operations Integration.

Endless does not allow two products in a company to share a SKU. A create call with a SKU that already exists fails with “Product with SKU … already exists.” A SKU that belongs to an archived product cannot be used for a new product either; restore the archived product and update it instead. Duplicates appear when the SKUs differ, even only in capitalization or a trailing space, because Endless compares SKUs exactly. They also appear when a sync creates products instead of looking them up first. Have your system find each product by SKU or by its external identifier and update it, and create a product only when none is found.

Whatever is written last, by your system or by a person in Endless, is what Endless keeps. To stop the two from overwriting each other, decide which system owns each field, have your sync send only the fields it owns, and make changes to the other fields in Endless. Contact Endless support for help.

Build the synchronization workflow.