Create Delivery Appointment
POST/api/tiktok-shop/:integrationInstance/fbt/appointments
Records a freight delivery appointment booked at an FBT fulfillment center and attaches the inbound orders it covers.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
earliest_bookable_at comes back alongside the record so a rejected window can be re-picked without a second round trip.
Permission: integrations.update.
Body
fbt_warehouse_id— required string, max 64 characters. The destination fulfillment center the delivery is booked into. One appointment serves one destination.window_start_at— required date-time.window_end_at— required date-time, must be afterwindow_start_at.inbound_order_ids— optional array of integers, max 10 entries. TikTok allows at most ten inbound orders on one delivery. Membership is replaced wholesale on every write, so an omitted list empties the appointment.status— optional string. One of requested, confirmed, missed, cancelled.reference— optional, nullable string, max 255 characters. The booking reference from the TikTok seller portal.carrier_name— optional, nullable string, max 255 characters.pro_number— optional, nullable string, max 64 characters.
Cross-record rules are enforced on write and returned as 422: at least four business days' lead time, one destination for the whole appointment, at most ten members, and every member still awaiting receipt.
Validation errors: a 422 from this endpoint returns the specific reason and a field-addressed errors object (e.g. "Inbound order IBR… is bound for a different FBT warehouse."), not a generic message — an inbound order may only be attached to an appointment at the SAME fulfillment centre.
Request
Responses
- 201
- 401
- 403
- 404
- 422
- 429
Created
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Unprocessable Content
Response Headers
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.