Added
v1.1.0
1 day ago by ShipMonk
🚀 New Endpoints
To support high-volume inventory synchronization and consistent data retrieval, the following endpoints were added:
- Products for Inventory Sync (
POST /v1/integrations/products/search): A new endpoint designed for product synchronization, mainly based on the time of last inventory on hand update. It allows searching with filters and returns acursorthat fixes the result set ensure reliability during synchronization. - Fetch results from Products for Inventory Sync (
GET /v1/integrations/products/search/paginate): A companion endpoint used to iterate through the results of the initial search using the providedcursor.
💡 Usage Example
Here's an example of how to use the new product search endpoints for inventory synchronization:
Step 1: Create a search with filters
POST /v1/integrations/products/search
{
"filters": {
"inventory_on_hand_last_updated_at": {
"is_after_or_equal": "2025-01-01T00:00:00Z",
"is_before_or_equal": "2025-01-31T23:59:59Z"
},
"search": "chair",
},
"sort": {
"sort_by": "inventory_on_hand_last_updated_at",
"order_by": "DESC"
}
}
Response:
{
"cursor": "eyJmaWx0ZXJzIjp7fSwic29ydCI6e319...",
"total": 150
}Step 2: Paginate through results
GET /v1/integrations/products/search/paginate?cursor=eyJmaWx0ZXJzIjp7fSwic29ydCI6e319...&pageSize=50
Response:
{
"data": [
{ "id": 123, "name": "Office Chair", ... },
{ "id": 124, "name": "Gaming Chair", ... },
...
],
"total": 150,
"next_cursor": "eyJmaWx0ZXJzIjp7fSwic29ydCI6e320..." // Use for next page, or null if no more results
}Step 3: Continue pagination
GET /v1/integrations/products/search/paginate?cursor=eyJmaWx0ZXJzIjp7fSwic29ydCI6e320...&pageSize=50
// Repeat until next_cursor is null🛠 Schema & Property Updates
Product Data Models
inventory_on_hand_last_updated_at: Added this field toProductListOutput. It tracks the latest update to physical inventory (e.g., from receiving or packing) and is used as a filter in the new search functionality.
📖 Documentation & Constraints Changes
GET /v1/products(Retrieve List of Products): Added a disclaimer that this endpoint does not guarantee a consistent result set between paginated calls. Users are encouraged to use the new/integrations/products/searchfor reliable syncs.- Search Filters: Documentation for product searching now specifies that searching for SKUs and names allows for substring matches, while barcodes require an exact match.