Submit Fulfillment to Temu
POST/api/temu/:integrationInstance/fulfill
Registered by the shared salesChannel route macro (POST /api/temu/{integrationInstance}/fulfill). Submits an existing SalesOrderFulfillment to Temu. Temu does NOT auto-generate tracking — a carrier tracking number must already be stored on the fulfillment OR be supplied here in the request body (it will be persisted).
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Validation:
- sales_order_fulfillment_id (required, integer, must exist in sales_order_fulfillments)
- tracking_number (nullable, string, max 255)
Temu reports a refused confirmation in the response body rather than the HTTP status, so a refusal is returned here as a 400 carrying Temu's own message. The most common cause is a carrier the store may not self-declare tracking for (USPS and FedEx are commonly restricted); check restricted_carriers on the preflight endpoints before shipping. A refused submission leaves the fulfillment unsubmitted so it can be retried once the underlying problem is resolved.
Requires the sales_orders.fulfill permission.
Returns 404 when the sales order fulfillment belongs to an order of a different integration instance.
Request
Responses
- 200
- 400
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Bad Request
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden
Response Headers
Not Found
Response Headers
Validation failed — the body is a field → messages map (Laravel shape) or the platform envelope with a stable machine-readable code. Fix the payload and resubmit.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.