Get started with orders

Get oriented with submitting orders to through the API
Updated 1 month ago

The Create Order Endpoint allows you to submit an individual order to the system through the API and this guide will talk you through the process.  Once familiar with single orders, you can also submit multiple orders in bulk through a single API call. After orders are created, you can also use the API to update certain order details.

When submitting an order, you will need to provide details about the order items, shipments, and some general metadata for the order itself. To do so, you will need to build and submit an order request body. Key elements of the order request are described here:

After successfully submitting an order, a Fulfill Engine orderId will be returned in the response, which can be used in other API calls.

Example requests

Single-shipment POD Order

The sample below contains a simple POD order of 1 item going to a single shipment. The POD item includes the artwork to be printed (originalFileUrl) as well as the optional mockup image URL for reference.

The campaignId field is an optional way of specifying a store that the order will be tied to.  If it is omitted, then the order will be placed at the account level instead of within a store.  This id is required id you are using 3PL products or referencing particular store product ids when placing the order (an advanced scenario). It can be obtained from the URL when on a store admin page.
{
  "campaignId": "a83de2da-59b2-4d31-a5e3-ba9c5297d7cc",
  "confirmationEmailAddress": "buyer@example.org",
  "customId": "SimplePODOrder",
  "orderItemGroups": [
    {
      "declaredValue": 25,
      "designData": {
        "artwork": [
          {
            "mockups": [
              {
                "mockupUrl": "https://example.com/images/pod_mockup1.png"
              }
            ],
            "originalFileUrl": "https://example.com/images/logo1.png",
            "physicalPlacement": {
              "horizontalPlacementFromCenterInInches": 2.5,
              "verticalPlacementInInches": 1.5
            },
            "physicalSize": {
              "widthInches": 3,
              "heightInches": 2.5
            },
            "printingMethod": "dtg",
            "printLocation": "front"
          }
        ]
      },
      "id": "f459f175-1200-4a96-b0fa-898efcf52b6a",
      "sku": "7059774472",
      "quantity": 1
    }
  ],
  "shipments": [
    {
      "confirmationEmailAddress": "buyer@example.org",
      "customId": "SimplePODOrder",
      "shippingAddress": {
        "name": "Jane Doe",
        "addressLine1": "100 Main St",
        "city": "Charleston",
        "state": "SC",
        "postalCode": "29403",
        "country": "US"
      },
      "shippingTier": "economy"
    }
  ]
}

3PL Items Order / Split shipment

The sample below contains 3 different 3PL SKUs and is split across 2 shipments. Each shipment uses the items property to specify which and how many of the orderItemGroups will be included in the shipment.

When including 3PL items, a campaignId value must be included in the request. This is the id of the store that contains the 3PL products and can be obtained from the URL when on the store admin page.
{
  "campaignId": "a83de2da-59b2-4d31-a5e3-ba9c5297d7cc",
  "confirmationEmailAddress": "buyer@example.org",
  "customId": "SimplePODOrder",
  "orderItemGroups": [
    {
      "declaredValue": 25,
      "id": "ef6e93aa-cdc5-4938-9c00-486eec472f0f",
      "sku": "3158752135",
      "quantity": 2
    },
    {
      "declaredValue": 10,
      "id": "5c3ca77b-5254-414e-be18-8efa493ca2f0",
      "sku": "8353968351",
      "quantity": 3
    },
    {
      "declaredValue": 12,
      "id": "47b8274d-ae30-4564-a6f8-66bc4504829a",
      "sku": "7352583123",
      "quantity": 8
    }
  ],
  "shipments": [
    {
      "confirmationEmailAddress": "buyer@example.org",
      "customId": "SimplePODOrder",
      "shippingAddress": {
        "name": "Jane Doe",
        "addressLine1": "100 Main St",
        "city": "Charleston",
        "state": "SC",
        "postalCode": "29403",
        "country": "US"
      },
      items: [
        {
          "orderItemGroupId": "ef6e93aa-cdc5-4938-9c00-486eec472f0f",
          "quantity": 2
        },
        {
          "orderItemGroupId": "47b8274d-ae30-4564-a6f8-66bc4504829a",
          "quantity": 1
        }
      ]
    },
    {
      "confirmationEmailAddress": "buyer2@example.org",
      "customId": "SimplePODOrder",
      "shippingAddress": {
        "name": "John Smith",
        "addressLine1": "205 Main St",
        "city": "Columbia",
        "state": "SC",
        "postalCode": "29212",
        "country": "US"
      },
      items: [
        {
          "orderItemGroupId": "5c3ca77b-5254-414e-be18-8efa493ca2f0",
          "quantity": 3
        },
        {
          "orderItemGroupId": "47b8274d-ae30-4564-a6f8-66bc4504829a",
          "quantity": 7
        }
      ]
    }
  ]
}

Next Steps

Did this answer your question?