Skip to main content

scheduleFulfillment

Schedules a fulfillment for transmission to a 3PL integration.

This mutation transitions a fulfillment from "allocated" (or "failed_to_fulfill" for retries) to "scheduled_for_fulfillment" state. An async handler will then transmit the fulfillment to the configured 3PL integration.

Requirements

  • User must have schedule_fulfillment permission
  • Valid brand context must be provided (via argument or X-Brand-Id header)
  • Order must exist and be in "accepted" state (for V2 orders)
  • Fulfillment must exist and be in "allocated" or "failed_to_fulfill" state

Arguments

  • fulfillment_id (required): The ID of the fulfillment to schedule
  • order_id (required): The ID of the order the fulfillment belongs to
  • warehouse_id (required): The ID of the warehouse where the fulfillment is processed

Behavior

  • Transitions fulfillment to "scheduled_for_fulfillment" state
  • Async handler will transmit to 3PL integration
  • On success: transitions to "sent" state
  • On failure: transitions to "failed_to_fulfill" state (can be retried)
scheduleFulfillment(
input: ScheduleFulfillmentInput!
): OrderFulfillment!

Arguments

scheduleFulfillment.input ● ScheduleFulfillmentInput! non-null input

Parameters for ScheduleFulfillment

Type

OrderFulfillment object

This type represents an order fulfillment. An order can have multiple fulfillments, each one associated with a warehouse and a party that fulfilled the order.