Set up Crate
Connect Crate (WMS) to reserve and release inventory against Zopping orders. On each order create, items are resolved against Crate's catalog and reserved at the mapped warehouse; on pack they are released. Zopping also pushes product changes to Crate. This is a built-in connector.
Prerequisite: the ThirdPartyIntegration
extension must be enabled for the organization.
1. Configure credentials
Add your Crate details to the organization's integration config under the CRATE key:
{
"partnerIntegration": {
"partnerCredentials": {
"CRATE": {
"baseUrl": "https://crate.example.com",
"apiToken": "<bearer-jwt>",
"integrationId": "<crate-integration-id>"
}
}
}
}
| Field | Required | Notes |
|---|---|---|
baseUrl | yes | Crate gateway host. Zopping appends paths like /api/catalog/resolve and /api/inventory/reserve. |
apiToken | yes | Bearer JWT for a Crate admin/manager user. Sent as Authorization: Bearer <token>. |
integrationId | yes | Numeric id of Crate's integrations row for this connection. Sent as source_integration_id so Crate doesn't echo the hold/release back to Zopping. If omitted, Crate fans the change out to all integrations — causing a double-decrement. |
2. Supported events
Direction: PUSH = Zopping → Crate.
| Direction | Events |
|---|---|
| PUSH | PRODUCT_CREATE, PRODUCT_UPDATE, PRODUCT_DELETE, ORDER_CREATE, ORDER_PACK |
Enable delivery per event via event integrations.
Mapping notes
- The Zopping store
clientIdmust equal the Crate numericwarehouse_id(sent aswarehouse_idon each reserve/release call). - Zopping products must exist in Crate's catalog with
external_source=zoppingandexternal_id=<zopping product id>. Use Crate's catalog import to backfill.