Skip to content

Order creation API

Create an order manually

API : /api/integration/orders.json

Method: POST

Request Header

keyvalue
X-pawdo-access-tokenAPI KEY

Request Body (JSON - raw)

  • Content-Type: application/json
keytyperequirednote
order_numberstringRequiredOrder number, must be unique
external_transaction_idstringOptionalTransaction ID from an external system
skip_verify_addressbooleanOptionalSkip the address verification step
line_itemsarray objectRequiredList of products, up to 500 items
addressobjectRequiredShipping address information

Field Details

address

keytyperequirednote
namestringRequiredRecipient name
option_shipstringRequiredShipping method. The list of values is configured (dynamically) by the Pawdo system; common ones include: standard, express, fast, tiktok, saving.
label_shipurlConditionalShipping label. Required for the tiktok option
address1stringRequiredAddress line 1
address2stringOptionalAddress line 2
citystringOptionalCity
statestringOptionalState / province
province_codestringRequiredState / province code
countrystringOptionalCountry
country_codestringRequiredCountry code (ISO)
postal_codestringRequiredPostal code
emailstringOptionalRecipient email
phonestringOptionalPhone number

line_items

keytyperequirednote
skustringOptionalSKU from an external system
system_skustringRequiredInternal system SKU, must match an active SKU in the store's catalog
quantitynumberRequiredmin > 0 and max < 1000
titlestringOptionalProduct title
notestringOptionalNote
designsarray objectOptionalList of designs/mockups for the line item, up to 15 elements. Each element contains: key (string, slot identifier, e.g. design1, design2...), design (url, optional — design file), mockup (url, optional — mockup image)
option1..option3stringOptionalProduct options
external_line_item_idstringOptionalLine item ID from an external system

Constraints / Validation

keyrule
order_numberMust be unique, used as an idempotency key. If it already exists, the API returns a 409 Conflict error with the message order existed
line_itemsUp to 500 items
line_items[].system_skuRequired, must match an active SKU in the catalog
line_items[].quantitymin > 0 and max < 1000
address.address1, address.province_code, address.postal_code, address.country_code, address.name, address.option_shipRequired

Example (Request)

json
{
  "order_number": "#ORDER-056487",
  "external_transaction_id": "TS-9283023921",
  "skip_verify_address": true,
  "line_items": [
    {
      "sku": "QTR-XS2",
      "system_sku": "QTR-XS2",
      "quantity": 5,
      "title": "",
      "note": "",
      "designs": [ 
        { 
          "key": "design1",
          "design": "https://example.com/design1.png", 
          "mockup": "https://example.com/mockup1.png"
        } 
      ], 
      "option1": "",
      "option2": "",
      "option3": "",
      "external_line_item_id": "LI-1048273842"
    }
  ],
  "address": {
    "name": "John Doe",
    "option_ship": "standard",
    "label_ship": "",
    "address1": "123 Main Street",
    "address2": "Apartment 4B",
    "city": "Los Angeles",
    "province_code": "CA",
    "country": "United States",
    "country_code": "US",
    "postal_code": "90001",
    "email": "[email protected]",
    "phone": ""
  }
}

Example (Successful Response)

json
{
  "data": {
    "order_id": "d33e0745-***-9fb1-01ac3e5135c3"
  },
  "message": "ok",
  "status": true
}

Example (Error Response)

status codemessagenote
400bad requestbody is malformed or missing a required field (order_number, line_items, address.name, address.option_ship, address.address1, address.province_code, address.country_code, address.postal_code, line_items[].system_sku, line_items[].quantity)
400unsupported shipping optionoption_ship does not match any active option in the system
409order existedorder_number already exists in the store
422invalid system sku: <value>system_sku does not match any active SKU in the store's catalog

If you encounter any issues related to the order API, please contact the Pawdo support team via Facebook for assistance.