Stitch Labs Integrations API
The Stitch Labs Integrations API is a RESTful API consisting of a set of JSON-compliant endponts designed to provide simplified communication between Stitch and other platforms.This initial release focuses on fulfillment, and supercedes the Fulfillment API, which will be deprecated. The Fulfillment API endpoints will continue to be supported for now, and the official sunset date will be announced once determined.
Access to the Integrations API endpoints is restricted, Reach out to our API team to request API access.
Please note that Stitch accounts must have both the Multi-warehousing and Third-Party Stock Control options enabled for these endpoints to be available. Click here for more information on these settings
Once access is granted, generating an access token for a Stitch account will create a custom channel and warehouse linked to that token. An API client with integration permissions can only authenticate once per account, to avoid the creation of duplicate channels and warehouses. Please see the main documentation for general information on Authentication.
The fulfillment workflow allows 3PLs and other logistic providers to integrate easily with Stitch for processing fulfillments and providing stock information. There are three sets of endpoints, follow the links for details on the endpoints and related workflows:
The products endpoints are used to post a list of products to Stitch.
Fulfillments provide the details of what needs to be shipped and where.
Shipments represent the items that have shipped, including tracking information.
General Fulfillment Workflow
To get started, a list of the products carried and current stock levels is posted to Stitch. Once in Stitch, only updates to stock levels need to be pushed up. This information is used to update the fulfillment warehouse in Stitch. The total on-hand stock can only be updated through the API. These values can not be edited directly in Stitch, though Stitch will still use internal logic to calculate availability. This ensures that the stock levels in Stitch stay in sync with the warehouse.
Fulfillments are triggered in two ways. Most are automatically triggered for incoming orders from an integrated sales channel. Also, fulfillments can be triggered manually from the Order Details. Once triggered, Stitch checks several criteria before a fulfillment can be initialized.
- The order is assigned to a fulfillment warehouse.
- There is enough stock available in the assigned warehouse to fulfill the order.
- The shipping address is populated.
- Criteria for invoicing and payment status can be set in Stitch, but are not required.
Once the fulfillment is initialized, the standard API workflow is:
- GET the list of open fulfillments from the /fulfillments endpoint.
- GET the line items for the fulfillments. Bundle SKUs (kits) will not appear as line items on fulfillments, the component SKUs will appear in the correct quantities.*
- POST shipments for the line items on each fulfillment, including a timestamp for "shipped_at"
- Once all line items are related to a shipment, the fulfillment is considered complete and will no longer be returned with the fulfillments list.
At any point during the workflow, the fulfillment status can be updated. This is not required, but strongly recommended for visibility. The status field can be set to any string, which will be displayed in Stitch.
*Requires the "Split Bundles into Components" option enabled in the Stitch account settings.