Skip to main content

How Does the WholeCell API Work?

Connect WholeCell to your custom applications

Written by Brennan Zelener
Updated over a week ago

WholeCell's API allows customers to build an integration between their WholeCell account and any other custom application.

We envision the API being used for integrations like:

  • Trade-in and Buyback portals

  • Diagnostics/testing software

  • Bulk IMEI check tools

  • Custom e-commerce stores

  • Custom warehouse processing apps

Documentation

Our API documentation is here: https://api.wholecell.io/index.html.

Authentication

Customers can create and manage API Apps from their API Apps Settings page. Each API App has a unique App ID and App Secret for authentication, along with an array of access permissions:

Endpoints

Inventory

Allows you to create, read, update, and list inventory items with various filters.

Inventory Reports

Allows you to find an inventory report by ID and list the inventory items currently in that report.

Purchase Orders

Allows you to create, read, update, and list Purchase Orders with various filters.

Sales Orders

Allows you to create, read, update, and list Sales Orders with various filters.

Also allows you to download the PDF or Excel export of a Sales Order.

Stock Levels Reports

Stock levels reports allow you to download all stock levels as a CSV via API.

Many sales channels (eBay, Amazon, Walmart, Shopify, etc) have a way to upload a CSV of sku/stock levels either manually or via API.

This endpoint returns an ID of a report when you make a create request, then you can poll for the ID until it is complete. Once complete the response includes a URL to download the CSV.

Stock Levels

A paginated JSON list of all SKUs with current quantity in your WholeCell account. This endpoint accepts an inventory_statuses array filter which applies to the on_hand and available returned quantities.

  • "sku" - the SKU in question.

  • "on_hand" - the quantity of inventory of the SKU in question in your WholeCell account in any status (unless the inventory_statuses param is passed) which has not been committed to a Sales Order.

  • "outstanding" - the quantity of inventory of the SKU in question on open Sales Orders that have not been committed **this only includes open orders from the last 90 days. older orders will not be counted in this API response**

  • "available" - the on_hand quantity minus the outstanding quantity of this SKU.

Filtering Stock Levels by Inventory Status

You can optionally filter the on_hand and available quantities to only count inventory under specific statuses by passing the inventory_statuses parameter.

To pass multiple values, repeat the parameter key with square brackets [] appended:

GET /api/v1/stock_levels?inventory_statuses[]=Available&inventory_statuses[]=EcomReady

Feedback

We'd love to hear your feedback on the API and learn more about your specific use cases. Please share with us at apisupport@wholecell.io

Did this answer your question?