xclade
Admin APIFulfillments

Create Fulfillment

Create a fulfillment for an order, return, exchange, and more.

POST
/admin/fulfillments
AuthorizationBearer <token>

In: header

Query Parameters

fields?string

Comma-separated fields that should be included in the returned data. if a field is prefixed with + it will be added to the default fields, using - will remove it from the default fields. without prefix it will replace the entire default fields.

Request Body

application/json

location_id*string

The ID of the location the items are fulfilled from.

provider_id*string

The ID of the provider handling this fulfillment.

delivery_address*

The address to deliver the items to.

items*

The items to fulfill.

labels*

The labels for the fulfillment's shipments.

order_id*string

The ID of the order this fulfillment is created for.

shipping_option_id?string

The ID of the shipping option used in the order.

data*object

Any data useful for the fulfillment provider to handle the fulfillment.

packed_at?string

The date and time the fulfillment was packed.

Formatdate-time
shipped_at?string

The date and time the fulfillment was shipped.

Formatdate-time
delivered_at?string

The date and time the fulfillment was delivered.

Formatdate-time
canceled_at?string

The date and time the fulfillment was canceled.

Formatdate-time
metadata*object

The fulfillment's metadata, used to store custom key-value pairs.

Response Body

application/json

application/json

text/plain

application/json

application/json

application/json

application/json

curl -X POST "https://{tenant}.api.myxclade.com/admin/fulfillments" \  -H "Content-Type: application/json" \  -d '{    "location_id": "string",    "provider_id": "string",    "delivery_address": {},    "items": [      {        "title": "string",        "sku": "string",        "quantity": 0,        "barcode": "string"      }    ],    "labels": [      {        "tracking_number": "string",        "tracking_url": "string",        "label_url": "string"      }    ],    "order_id": "string",    "data": {},    "metadata": {}  }'
{
  "fulfillment": {
    "id": "string",
    "location_id": "string",
    "provider_id": "string",
    "shipping_option_id": "string",
    "provider": {
      "id": "string",
      "is_enabled": true
    },
    "delivery_address": {
      "id": "string",
      "fulfillment_id": "string",
      "company": "string",
      "first_name": "string",
      "last_name": "string",
      "address_1": "string",
      "address_2": "string",
      "city": "string",
      "country_code": "string",
      "province": "us-ca",
      "postal_code": "string",
      "phone": "string",
      "metadata": {},
      "created_at": "2019-08-24T14:15:22Z",
      "updated_at": "2019-08-24T14:15:22Z",
      "deleted_at": "2019-08-24T14:15:22Z"
    },
    "items": [
      {
        "id": "string",
        "title": "string",
        "quantity": 0,
        "sku": "string",
        "barcode": "string",
        "line_item_id": "string",
        "inventory_item_id": "string",
        "fulfillment_id": "string",
        "created_at": "2019-08-24T14:15:22Z",
        "updated_at": "2019-08-24T14:15:22Z",
        "deleted_at": "2019-08-24T14:15:22Z"
      }
    ],
    "labels": [
      {
        "id": "string",
        "tracking_number": "string",
        "tracking_url": "string",
        "label_url": "string",
        "fulfillment_id": "string",
        "created_at": "2019-08-24T14:15:22Z",
        "updated_at": "2019-08-24T14:15:22Z",
        "deleted_at": "2019-08-24T14:15:22Z"
      }
    ],
    "packed_at": "string",
    "shipped_at": "string",
    "delivered_at": "string",
    "canceled_at": "string",
    "data": {},
    "metadata": {},
    "created_at": "2019-08-24T14:15:22Z",
    "updated_at": "2019-08-24T14:15:22Z",
    "deleted_at": "2019-08-24T14:15:22Z"
  }
}

{
  "message": "Discount must be set to dynamic",
  "type": "not_allowed"
}

"Unauthorized"
{
  "message": "Entity with id 1 was not found",
  "type": "not_found"
}
{
  "code": "unknown_error",
  "message": "The request conflicted with another request. You may retry the request with the provided Idempotency-Key.",
  "type": "QueryRunnerAlreadyReleasedError"
}
{
  "code": "invalid_request_error",
  "message": "Discount with code TEST already exists.",
  "type": "duplicate_error"
}

{
  "code": "api_error",
  "message": "An error occured while hashing password",
  "type": "database_error"
}