Create Order

Submit an order to OPT Smart Fulfillment Center

The endpoint enables the creation of a new order by specifying customer details, products, quantities, and shipping information.

Product Types

The two types of products are supported for order submission:

  • Existing Products where product variant must be specifed by providing EAN-13. For more details see the user guide Utilize Existing Products.

  • Custom Products where the blank article and the prints or customizations must be specified. For more details see the user guide Utilize Custom Products.

Shipping Options

Shipping can be defined in two ways: either by providing your own shipping labels or by selecting a contracted OTP carrier and specifying the delivery address. These methods cannot be combined.

Shipping address

Parameter
Type
Required
Description

address

object

yes

Recipient’s address. Required if a shipping label is not provided.

carrierId

string

no

If you have multiple contracted carriers, specify the carrier for each order. carrierId can be obtained from the Get Carriers endpoint.

Shipping lables

Parameter
Type
Required
Description

shippingLabelUrl

string

yes

URL with Forward Shipping label supports PDF, ZPL, or PNG format.

returnLabelUrl

string

no

URL with Return Shipping label supports PDF, ZPL, or PNG format.

post
Authorizations
Body
orderIdstringRequired

Partner identifier for an order

shippingall ofRequired

Shipping details for the order. Either provide shipping label and return label, or full customer address and details. Providing both will throw a validation error.

packingSlipstring | nullableOptional

URL to the packing slip. Must be valid URL and filetype must be either PNG or PDF. Invalid url or filetype will throw a validation error.

unitPriceCurrencystring | nullableOptional

Currency of the price of items for customs declaration. Must be a valid ISO 4217 currency code. This is used only for customs declaration, only if address.countryCode is outside European Union. If no shipping label is present, then this field is required.

Responses
200

Successfully created the order based on provided data. Returns order details

application/json
post
POST /v1/orders HTTP/1.1
Host: 
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 702

{
  "orderId": "text",
  "items": [
    {
      "id": "text",
      "quantity": 1,
      "unitPrice": 1,
      "existingProduct": {
        "ean13": "text"
      },
      "customProduct": {
        "sku": "text",
        "prints": [
          {
            "dataUrl": "text",
            "location": "REGULAR",
            "technology": "ACCESSORIES",
            "qualityControlImageUrl": "text"
          }
        ],
        "customizations": [
          {
            "sku": "text",
            "location": "REGULAR",
            "technology": "DTF",
            "qualityControlImageUrl": "text"
          }
        ],
        "qualityControlImageUrl": "text"
      }
    }
  ],
  "shipping": {
    "address": {
      "personName": "text",
      "street": "text",
      "addressLine2": "text",
      "city": "text",
      "postalCode": "text",
      "country": "text",
      "state": "text",
      "phoneNumber": "text",
      "email": "text",
      "company": "text"
    },
    "carrierId": "text",
    "shippingLabelUrl": "text",
    "returnLabelUrl": "text"
  },
  "packingSlip": "text",
  "unitPriceCurrency": "text"
}
{
  "orderId": "text",
  "status": "NEW",
  "items": [
    {
      "id": "text",
      "quantity": 1,
      "unitPrice": 1,
      "existingProduct": {
        "ean13": "text",
        "name": "text"
      },
      "customProduct": {
        "sku": "text",
        "prints": [
          {
            "dataUrl": "text",
            "location": "text",
            "technology": "text",
            "qualityControlImageUrl": "text"
          }
        ],
        "customizations": [
          {
            "sku": "text",
            "location": "text",
            "technology": "text",
            "qualityControlImageUrl": "text"
          }
        ],
        "qualityControlImageUrl": "text"
      }
    }
  ],
  "shipping": {
    "address": {
      "personName": "text",
      "street": "text",
      "addressLine2": "text",
      "city": "text",
      "postalCode": "text",
      "country": "text",
      "state": "text",
      "phoneNumber": "text",
      "email": "text",
      "company": "text"
    },
    "carrierId": "text",
    "shippingLabelUrl": "text",
    "returnLabelUrl": "text",
    "trackingNumber": "text",
    "trackingCarrier": "text",
    "trackingUrl": "text"
  },
  "packingSlip": "text",
  "unitPriceCurrency": "text",
  "created": "2025-09-04T02:09:09.150Z",
  "updated": "2025-09-04T02:09:09.150Z"
}

Last updated