Async Items API: A New Way to Update Your Catalog
We’ve long provided multiple ways for customers to update their catalogue and ensure that we always have the most recent data with which to provide an amazing product discovery experience for end users. These methods include HTTPS (REST), FTPS, and a synchronous Items API (V1, also REST).
Now, we’re excited to tell you about our all-new asynchronous Items API (V2) that allows you to send in your updates and then check a Tasks API to get status updates on their progress.
The new V2 API has a number of benefits:
- Ability to send up to 1,000 entries in a single call, allowing for real time updates of many thousands of products per second.
- Extended open data structure for increased flexibility in the data you can send us and how it’s sent.
- Direct interoperability with the Constructor dashboard, so updates sent via the V2 API appear in the dashboard and are viewable and auditable in the Integration tab there so you can easily check what you’ve sent, when it was sent, and what its status is.
- Deterministic, FIFO processing, so updates are processed in exactly the order you send them.
For customers with systems that already send out regular product updates this will be the preferred method of integration since it will be easier and more efficient to connect to and develop against. We recommend that it is combined with a daily full catalogue sync via the HTTPS or FTPS methods.
Sample item JSON payload:
Instead of needing to wait for the response to tell you when the update is successfully accepted, you will now receive a task ID in the response:
You can call the Tasks API with the ID to check the progress:
We also have an asynchronous V2 Variations API for variation updates, and PATCH methods for both APIs to allow you to send us just the fields that have changed.
For full documentation on these new APIs see here.
Stay tuned for DELETE methods for both APIs, coming soon!
For more information, please connect with your Customer Success Manager or contact us through firstname.lastname@example.org.