The Omnivore v2 API is a JSON based REST-like api.

It is meant for:

1. Retailers wanting to integrate with the Omnivore platform such as to be able to upload products to Omnivore and download orders from Omnivore. Once the products are uploaded to Omnivore, these can be listed on any of the supported marketplaces.

2. Marketplaces wanting to integrate with the Omnivore platform such as to be able to have access to the large number of retailers we support on the platform. 

Authentication is based on sending a client id and client secret as HTTP headers.

For example, to retrieve all products for the eBay marketplace, an API client can use this curl command:

curl -H "X-OMNIVORE-CLIENT-ID: clientidvalue" -H "X-OMNIVORE-CLIENT-SECRET: clientsecretvalue" ""

All API calls that only retrieve data without modifying it are HTTP GET methods.

All API calls that modify data, either by creating or updating are HTTP POST methods.

As a general rule, retailers can use all API endpoints while Marketplaces can only use API endpoints that refer to a given Marketplace. 

In practice, retailers use the Product APIs to create and update products in Omnivore and Order APIs to retrieve orders and update shipping info.

Marketplaces use the Product APIs to retrieve products prepared to be listed on the Marketplace and use the Order APIs to create Marketplace orders in Omnivore and potentially retrieve order shipping info. 

See the summary table below for all available API endpoints.

Use case scenarios for Retailers

A Retailer uploading products to Omnivore will use the Bulk Upload Products API.

Alternatively, use the Create Product and Update Product APIs.

A Retailer downloading orders from Omnivore will use the Order List API filtering by status "created", then use the Update Order API to mark order status as "pending shipped".

After the order is shipped to the customer, the Retailer will use the Update Order API to mark the order as "shipped" and provide tracking information.

Use case scenarios for Marketplace Integrators

A Marketplace Integrator preparing listing for a certain retailer will use the List Marketplace Products API to download products from Omnivore.

A Marketplace Integrator will use the Create Order API to upload orders for a retailer to Omnivore.

A Marketplace Integrator can use the View Order API to poll for changes in the order status, example when the order is shipped to the customer.

Alternatively, use the List Order API with status and updated_after filters to find out all orders shipped since a given date.