# Order Import Endpoint

{% hint style="warning" %}
The Endpoint isn't available yet and will be released with the version 0.9.5 of the B2BSellers Core Plugin
{% endhint %}

{% hint style="success" %}
**Performance geek:** Without any performance-optimization, you can insert 250 Orders under one minute!
{% endhint %}

### Useful Links

{% content-ref url="/pages/a0FZi83TKbTWrUJ4WgVV" %}
[Integration of ERP orders to Shopware 6](/b2b-platform/1/developer-guides/guides-for-erp-interface/integration-of-erp-orders-to-shopware-6.md)
{% endcontent-ref %}

### Changing default configuration options

To change any default configuration option, you have to make the change in the **b2b\_sellers\_core.yaml** file. You can place it in your Shopware installation under **config/packages/**.

```yaml
# config/packages/b2b_sellers_core.yaml
b2b_sellers_core:
  order_import:
    default_sales_channel_id: 3599498813f14f1a8abe0deb0e12d180
    default_currency_id: b7d2554b0ce847cd82f3ac9bd1c0dfca
    default_language_id: 2fbb5fe2e29a4d70aa5854ce7ce3e20b
```

The **default\_sales\_channel\_id** isn't set out of the box and has to be provided in every order if not configured.\
\
The **default\_currency\_id** isn't set out of the box and the currency id of the Shopware defaults (Defaults::CURRENCY) is used when not provided.\
\
The **default\_language\_id** isn't set out of the box and the language id of the Shopware defaults (Defaults::LANGUAGE\_SYSTEM) is used when not provided.<br>

{% hint style="info" %}
The default Ids can be overwritten by providing them in the order data
{% endhint %}

## Importing orders

<mark style="color:green;">`POST`</mark> `https://app.com/api/_action/order-import`

Simplified endpoint for importing orders to Shopware

#### Request Body

| Name                                    | Type  | Description |
| --------------------------------------- | ----- | ----------- |
| order<mark style="color:red;">\*</mark> | array |             |

{% tabs %}
{% tab title="200: OK Response without any errors" %}

```json
{
	"success": true,
	"errors": [],
	"result": [
		{
			"row": 0,
			"id": "054386a889de4f9b9f449e687112d955"
		}
	]
}
```

{% endtab %}

{% tab title="400: Bad Request Response when errors occured" %}

```json
{
	"succes": false,
	"errors": [
		{
			"row": 0,
			"errors": [
				"Value is not a valid UUID: 3599498813f14f1a8abe0deb0e12d1801"
			]
		}
	],
	"result": []
}
```

{% endtab %}
{% endtabs %}

### Endpoint request body

```json
{
  "orders": [
    {
      "salesChannelId": "3599498813f14f1a8abe0deb0e12d1801", // (required) if default not configured
      //"currency": "EUR", // ISO-Code or ID
      //"language": "de-DE", // Locale code or ID
      //"customer": "10000", // customerNumber or ID
      "orderCustomer": { 
        "customer": "10000", // customerNumber or ID
        "salutation": "mr" // salutationKey or Id
        "firstName": "string",
        "lastName": "string",
        "email": "string",
        ...(default optional fields)
      }, 
      "orderDateTime": "2022-01-01 06:00:00",
      "shippingDateEarliest": "2022-01-12 06:00:00",
      "shippingDateLatest": "2022-01-14 06:00:00",
      "orderNumber": "T1236", // (required) update if exists
      "deliveryStatus": "open", // delivery state technicalName
      "orderStatus": "open", // order state technicalName
      "paymentStatus": "open", // transaction state technicalName
      "shippingMethod": "Standard", // translated name
      "paymentMethod": "Invoice", // translated name
      "lineItems": [
        {
          "type": "product",
          "price": 14.875,
          "netPrice": 12.50, 
          "quantity": 1,
          "product": "SWDEMO10001", // productNumber or ID (required for product type)
          "label": "string", // (optional for product line items)
          "good": true, // (optional)
          "removable": true, // (optional)
          "stackable": true, // (optional)
          "position": 1, // (optional)
          "description": "string", // (optional)
          "payload": [], // (optional)
          "customFields": [], // (optional)
        }
      ],
      "shippingCosts": {
        "price": 4.99,
        "netPrice": 4.99
      },
      "billingAddress": {
        "salutation": "mr", // salutationKey or Id
        "firstName": "firstName",
        "lastName": "lastName",
        "street": "street",
        "zipcode": "zipcode",
        "city": "city",
        "country": "DE" // ID or ISO-Code
      }
      "shippingAddress": { // (optional: billingAddress used)
        // same es billingAddress 
      }
    }
  ]
}
```

#### Minimal example:

```json
{
  "orders": [
    {
      "salesChannelId": "3599498813f14f1a8abe0deb0e12d1801",
      "customer": "10000", 
      "orderDateTime": "2022-01-01 06:00:00",
      "shippingDateEarliest": "2022-01-12 06:00:00",
      "shippingDateLatest": "2022-01-14 06:00:00",
      "orderNumber": "T1236",
      "deliveryStatus": "open",
      "orderStatus": "open", 
      "paymentStatus": "open",
      "shippingMethod": "Standard",
      "paymentMethod": "Invoice",
      "lineItems": [
        {
          "type": "product",
          "price": 14.875,
          "netPrice": 12.50,
          "quantity": 1,
          "product": "SWDEMO10001"
        }
      ],
      "shippingCosts": {
        "price": 4.99,
        "netPrice": 4.99
      },
      "billingAddress": {
        "salutation": "mr",
        "firstName": "firstName",
        "lastName": "lastName",
        "street": "street",
        "zipcode": "zipcode",
        "city": "city",
        "country": "DE"
      }
    }
  ]
}
```

### Request body explanation

#### **Price**

Taxes are calculated automatically.\
The overall order price is being calculated by the prices from line items and shipping costs.

#### Customer

The endpoint provides serveral options for the order customer data

* The orderCustomer array can be generated by the endpoint when the customerId or the customerNumber are given in the "customer" field.
* The orderCustomer can be provided normally and the customerId can't be fetched by providing the customerNumber inside of the orderCustomer array in the "customer" field.

#### Salutations

Salutations are accepted as Id or salutation key (e.g. mr,...)

#### States

States for order, delivery and transaction have to be the technical name of the state


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.b2b-sellers.com/b2b-platform/1/api-references/admin-api/order-import-endpoint.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
