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

