# POST Create an order

Step 2 of the custom integration flow. After your server handles the `product:created` callback and returns an `external_id`, send the completed order from your ecommerce platform. Each `products[].external_id` value must match a product ID you previously returned during product creation.

- Source URL: https://www.signcustomiser.com/help/api/post-create-an-order/
- Markdown URL: https://www.signcustomiser.com/help/api/post-create-an-order.md
- Group: Custom integrations
- Method: POST
- Path: /api/v2/orders
- Auth: Bearer token

## Body parameters

- integration_id (integer, optional): No description provided.
- external_id (string, optional): No description provided.
- external_order_number (string, optional): No description provided.
- currency (string, optional): No description provided.
- billing_address (object, optional): No description provided.
- shipping_address (object, optional): No description provided.
- shipping_line (string, optional): No description provided.
- customer (object, optional): No description provided.
- products (array, optional): No description provided.

## Request body example

```json
{
  "integration_id": 42,
  "external_id": "order-123456",
  "external_order_number": "SC-1001",
  "currency": "USD",
  "billing_address": {
    "first_name": "John",
    "last_name": "Smith",
    "email": "customer@example.com",
    "phone": "+1 555-123-4567",
    "address_1": "123 Main St",
    "address_2": "Suite 4",
    "city": "Los Angeles",
    "province": "CA",
    "postcode": "90001",
    "country": "US"
  },
  "shipping_address": {
    "first_name": "John",
    "last_name": "Smith",
    "address_1": "123 Main St",
    "address_2": "Suite 4",
    "city": "Los Angeles",
    "province": "CA",
    "postcode": "90001",
    "country": "US"
  },
  "shipping_line": "Standard Shipping",
  "customer": {
    "first_name": "John",
    "last_name": "Smith",
    "email": "customer@example.com",
    "phone": "+1 555-123-4567"
  },
  "products": [
    {
      "external_id": "your-product-id-123",
      "quantity": 2,
      "price": 2999
    }
  ]
}
```

## cURL example

```bash
curl https://web.signcustomiser.com/api/v2/orders \
  --request POST \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
  "integration_id": 42,
  "external_id": "order-123456",
  "external_order_number": "SC-1001",
  "currency": "USD",
  "billing_address": {
    "first_name": "John",
    "last_name": "Smith",
    "email": "customer@example.com",
    "phone": "+1 555-123-4567",
    "address_1": "123 Main St",
    "address_2": "Suite 4",
    "city": "Los Angeles",
    "province": "CA",
    "postcode": "90001",
    "country": "US"
  },
  "shipping_address": {
    "first_name": "John",
    "last_name": "Smith",
    "address_1": "123 Main St",
    "address_2": "Suite 4",
    "city": "Los Angeles",
    "province": "CA",
    "postcode": "90001",
    "country": "US"
  },
  "shipping_line": "Standard Shipping",
  "customer": {
    "first_name": "John",
    "last_name": "Smith",
    "email": "customer@example.com",
    "phone": "+1 555-123-4567"
  },
  "products": [
    {
      "external_id": "your-product-id-123",
      "quantity": 2,
      "price": 2999
    }
  ]
}'
```

## Response examples

### 200 POST 200 example 1

```json
{
  "order": {
    "order_id": 1,
    "external_id": "order-123456",
    "external_order_number": "SC-1001",
    "currency": "USD",
    "shipping_line": "Standard Shipping",
    "products": [
      {
        "external_id": "product-987654321",
        "quantity": 2,
        "price": 2999
      }
    ]
  }
}
```
