Создание заказа

Метод доступен для модели LaaS.

Пока недоступен для продавцов Market Yandex Go.

Если вы используете API-Key-токен, для вызова метода необходим один из доступов в списке

Создает новый заказ, если на складе Маркета есть нужное количество товаров.

Укажите courierDelivery для курьерской доставки или pickupDelivery для доставки в пункт выдачи. Не передавайте оба параметра одновременно.

Значение параметра draft:

  • true — Маркет создаст заказ в статусе RESERVED и будет ждать подтверждения от магазина. Когда будете готовы, передайте статус PROCESSING с подстатусом STARTED в методе PUT v2/campaigns/{campaignId}/orders/{orderId}/status. Если не сделать это в течение часа после создания заказа, Маркет отменит его.
  • false — Маркет создаст заказ в статусе PROCESSING с подстатусом STARTED, подтверждение не требуется.

Перед вызовом метода

Получите доступные варианты доставки — POST v2/campaigns/{campaignId}/delivery-options.

⚙️ Лимит: 10 000 запросов в час

Request

POST

https://api.partner.market.yandex.ru/v1/campaigns/{campaignId}/orders/create

Path parameters

Name

Description

campaignId

Type: integer

Идентификатор кампании (магазина) — технический идентификатор, который представляет ваш магазин в системе Яндекс Маркета при работе через API. Он однозначно связывается с вашим магазином, но предназначен только для автоматизированного взаимодействия.

Его можно узнать с помощью запроса GET v2/campaigns или найти в кабинете продавца на Маркете. Нажмите на иконку вашего аккаунта → Настройки и в меню слева выберите API и модули:

  • блок Идентификатор кампании;
  • вкладка Лог запросов → выпадающий список в блоке Показывать логи.

⚠️ Не путайте его с:

  • идентификатором магазина, который отображается в личном кабинете продавца;
  • рекламными кампаниями.

Min value: 1

Body

application/json
{
  "order": {
    "externalOrderId": "example",
    "itemsDelivery": [
      {
        "warehouseId": 1,
        "items": [
          {}
        ],
        "deliveryDateInterval": {
          "fromDate": "2025-01-01",
          "toDate": "2025-01-01"
        },
        "deliveryTimeInterval": {
          "fromTime": "example",
          "toTime": "example"
        }
      }
    ],
    "destination": {
      "pickupDelivery": {
        "logisticPointId": 1
      },
      "courierDelivery": {
        "address": {},
        "notes": "example"
      }
    },
    "customer": {
      "firstName": "example",
      "lastName": "example",
      "middleName": "example",
      "phone": "example"
    },
    "packaging": {
      "packageType": "WHITELABEL"
    },
    "paymentType": "PREPAID",
    "draft": false
  }
}

Name

Description

order

Type: CreateOrderDTO

Информация о заказе.

Передайте выбранный вариант доставки из ответа метода POST v1/campaigns/{campaignId}/delivery-options.

Example
{
  "externalOrderId": "example",
  "itemsDelivery": [
    {
      "warehouseId": 1,
      "items": [
        {}
      ],
      "deliveryDateInterval": {
        "fromDate": "2025-01-01",
        "toDate": "2025-01-01"
      },
      "deliveryTimeInterval": {
        "fromTime": "example",
        "toTime": "example"
      }
    }
  ],
  "destination": {
    "pickupDelivery": {
      "logisticPointId": 1
    },
    "courierDelivery": {
      "address": {
        "fullAddress": "example",
        "entrance": "example",
        "floor": 0,
        "apartment": "example"
      },
      "notes": "example"
    }
  },
  "customer": {
    "firstName": "example",
    "lastName": "example",
    "middleName": "example",
    "phone": "example"
  },
  "packaging": {
    "packageType": "WHITELABEL"
  },
  "paymentType": "PREPAID",
  "draft": false
}

ShopSku

Ваш SKU — идентификатор товара в вашей системе.

Правила использования SKU:

  • У каждого товара SKU должен быть свой.

  • Уже заданный SKU нельзя освободить и использовать заново для другого товара. Каждый товар должен получать новый идентификатор, до того никогда не использовавшийся в вашем каталоге.

SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов.

Важно

Пробельные символы в начале и конце значения автоматически удаляются. Например, " SKU123 " и "SKU123" будут обработаны как одинаковые значения.

Что такое SKU и как его назначать

Type: string

Min length: 1

Max length: 255

Pattern: ^(?=.*\S.*)[^\x00-\x08\x0A-\x1f\x7f]{1,255}$

Example: example

BasicOrderItemDTO

Товар в заказе или возврате.

Name

Description

count

Type: integer

Количество единиц товара.

Min value: 1

Max value: 1000

offerId

Type: ShopSku

Ваш SKU — идентификатор товара в вашей системе.

Правила использования SKU:

  • У каждого товара SKU должен быть свой.

  • Уже заданный SKU нельзя освободить и использовать заново для другого товара. Каждый товар должен получать новый идентификатор, до того никогда не использовавшийся в вашем каталоге.

SKU товара можно изменить в кабинете продавца на Маркете. О том, как это сделать, читайте в Справке Маркета для продавцов.

Важно

Пробельные символы в начале и конце значения автоматически удаляются. Например, " SKU123 " и "SKU123" будут обработаны как одинаковые значения.

Что такое SKU и как его назначать

Min length: 1

Max length: 255

Pattern: ^(?=.*\S.*)[^\x00-\x08\x0A-\x1f\x7f]{1,255}$

Example: example

Example
{
  "offerId": "example",
  "count": 1
}

CurrencyType

Коды валют:

  • RUR — российский рубль.
  • UAH — украинская гривна.
  • BYR — белорусский рубль.
  • KZT — казахстанский тенге.
  • UZS — узбекский сум.

Type: string

Enum: RUR, USD, EUR, UAH, AUD, GBP, BYR, BYN, DKK, ISK, KZT, CAD, CNY, NOK, XDR, SGD, TRY, SEK, CHF, JPY, AZN, ALL, DZD, AOA, ARS, AMD, AFN, BHD, BGN, BOB, BWP, BND, BRL, BIF, HUF, VEF, KPW, VND, GMD, GHS, GNF, HKD, GEL, AED, EGP, ZMK, ILS, INR, IDR, JOD, IQD, IRR, YER, QAR, KES, KGS, COP, CDF, CRC, KWD, CUP, LAK, LVL, SLL, LBP, LYD, SZL, LTL, MUR, MRO, MKD, MWK, MGA, MYR, MAD, MXN, MZN, MDL, MNT, NPR, NGN, NIO, NZD, OMR, PKR, PYG, PEN, PLN, KHR, SAR, RON, SCR, SYP, SKK, SOS, SDG, SRD, TJS, THB, TWD, BDT, TZS, TND, TMM, UGX, UZS, UYU, PHP, DJF, XAF, XOF, HRK, CZK, CLP, LKR, EEK, ETB, RSD, ZAR, KRW, NAD, TL, UE

BasePriceDTO

Цена товара.

Name

Description

currencyId

Type: CurrencyType

Валюта.

Коды валют:

  • RUR — российский рубль.
  • UAH — украинская гривна.
  • BYR — белорусский рубль.
  • KZT — казахстанский тенге.
  • UZS — узбекский сум.

Enum: RUR, USD, EUR, UAH, AUD, GBP, BYR, BYN, DKK, ISK, KZT, CAD, CNY, NOK, XDR, SGD, TRY, SEK, CHF, JPY, AZN, ALL, DZD, AOA, ARS, AMD, AFN, BHD, BGN, BOB, BWP, BND, BRL, BIF, HUF, VEF, KPW, VND, GMD, GHS, GNF, HKD, GEL, AED, EGP, ZMK, ILS, INR, IDR, JOD, IQD, IRR, YER, QAR, KES, KGS, COP, CDF, CRC, KWD, CUP, LAK, LVL, SLL, LBP, LYD, SZL, LTL, MUR, MRO, MKD, MWK, MGA, MYR, MAD, MXN, MZN, MDL, MNT, NPR, NGN, NIO, NZD, OMR, PKR, PYG, PEN, PLN, KHR, SAR, RON, SCR, SYP, SKK, SOS, SDG, SRD, TJS, THB, TWD, BDT, TZS, TND, TMM, UGX, UZS, UYU, PHP, DJF, XAF, XOF, HRK, CZK, CLP, LKR, EEK, ETB, RSD, ZAR, KRW, NAD, TL, UE

value

Type: number

Цена товара.

Min value: 0

Exclusive min: true

Example
{
  "value": 0,
  "currencyId": "RUR"
}

CreateOrderItemDTO

Товар в заказе.

Type: object

All of 2 types
  • Type: BasicOrderItemDTO

    Товар в заказе или возврате.

    Example
    {
      "offerId": "example",
      "count": 1
    }
    
  • Type: object

    price

    Type: BasePriceDTO

    Цена товара.

    Example
    {
      "value": 0,
      "currencyId": "RUR"
    }
    
    Example
    {
      "price": {
        "value": 0,
        "currencyId": "RUR"
      }
    }
    
Example
{
  "offerId": "example",
  "count": 1,
  "price": {
    "value": 0,
    "currencyId": "RUR"
  }
}

DeliveryDateIntervalDTO

Интервал дат доставки.

Name

Description

fromDate

Type: string<date>

Начало интервала.

Формат даты: ГГГГ-ММ-ДД.

Example: 2025-01-01

toDate

Type: string<date>

Конец интервала.

Формат даты: ГГГГ-ММ-ДД.

Example: 2025-01-01

Example
{
  "fromDate": "2025-01-01",
  "toDate": "2025-01-01"
}

TimeIntervalDTO

Интервал времени доставки.

Name

Description

fromTime

Type: string

Начало интервала.

Формат: ЧЧ:ММ.

Pattern: ^([0-1][0-9]&#124;2[0-3]):[0-5][0-9]$

Example: example

toTime

Type: string

Конец интервала.

Формат: ЧЧ:ММ.

Pattern: ^([0-1][0-9]&#124;2[0-3]):[0-5][0-9]$

Example: example

Example
{
  "fromTime": "example",
  "toTime": "example"
}

CreateOrderWarehouseItemsDTO

Список товаров в заказе.

Name

Description

deliveryDateInterval

Type: DeliveryDateIntervalDTO

Интервал дат доставки.

Example
{
  "fromDate": "2025-01-01",
  "toDate": "2025-01-01"
}

items

Type: CreateOrderItemDTO[]

Список товаров в заказе.

В рамках одного запроса все значения offerId должны быть уникальными. Не допускается передача двух объектов с одинаковым offerId.

Min items: 1

Max items: 1000

Example
[
  {
    "offerId": "example",
    "count": 1,
    "price": {
      "value": 0,
      "currencyId": "RUR"
    }
  }
]

warehouseId

Type: integer

Идентификатор фулфилмент-склада Маркета.

Получите его с помощью метода POST v2/campaigns/{campaignId}/delivery-options.

Min value: 1

deliveryTimeInterval

Type: TimeIntervalDTO

Интервал времени доставки.

Обязателен для курьерской доставки.

Интервал времени доставки.

Example
{
  "fromTime": "example",
  "toTime": "example"
}
Example
{
  "warehouseId": 1,
  "items": [
    {
      "offerId": "example",
      "count": 1,
      "price": {
        "value": 0,
        "currencyId": "RUR"
      }
    }
  ],
  "deliveryDateInterval": {
    "fromDate": "2025-01-01",
    "toDate": "2025-01-01"
  },
  "deliveryTimeInterval": {
    "fromTime": "example",
    "toTime": "example"
  }
}

LogisticPointId

Идентификатор пункта выдачи.

Его можно узнать с помощью метода POST v1/businesses/{businessId}/logistics-points.

Type: integer

Min value: 1

OrderPickupDeliveryDTO

Информация о доставке в пункт выдачи.

Не передавайте вместе с courierDelivery.

Name

Description

logisticPointId

Type: LogisticPointId

Идентификатор пункта выдачи.

Его можно узнать с помощью метода POST v1/businesses/{businessId}/logistics-points.

Min value: 1

Example: 1

Example
{
  "logisticPointId": 1
}

BasicCourierDeliveryAddressDTO

Адрес доставки.

Name

Description

fullAddress

Type: string

Полный адрес с точностью до номера дома.

Min length: 1

Max length: 512

Example: example

Example
{
  "fullAddress": "example"
}

CourierDeliveryAddressDTO

Адрес доставки.

Type: object

All of 2 types
  • Type: BasicCourierDeliveryAddressDTO

    Адрес доставки.

    Example
    {
      "fullAddress": "example"
    }
    
  • Type: object

    apartment

    Type: string

    Номер квартиры или офиса.

    Min length: 1

    Max length: 16

    Example: example

    entrance

    Type: string

    Номер подъезда.

    Min length: 1

    Max length: 16

    Example: example

    floor

    Type: integer

    Этаж.

    Example
    {
      "entrance": "example",
      "floor": 0,
      "apartment": "example"
    }
    
Example
{
  "fullAddress": "example",
  "entrance": "example",
  "floor": 0,
  "apartment": "example"
}

OrderCourierDeliveryDTO

Информация о курьерской доставке.

Не передавайте вместе с pickupDelivery.

Name

Description

address

Type: CourierDeliveryAddressDTO

Адрес доставки.

Example
{
  "fullAddress": "example",
  "entrance": "example",
  "floor": 0,
  "apartment": "example"
}

notes

Type: string

Комментарий к заказу.

Min length: 1

Max length: 3000

Example: example

Example
{
  "address": {
    "fullAddress": "example",
    "entrance": "example",
    "floor": 0,
    "apartment": "example"
  },
  "notes": "example"
}

CreateOrderDeliveryOptionDTO

Информация о доставке.

Не передавайте одновременно courierDelivery и pickupDelivery.

Name

Description

courierDelivery

Type: OrderCourierDeliveryDTO

Информация о курьерской доставке.

Не передавайте вместе с pickupDelivery.

Example
{
  "address": {
    "fullAddress": "example",
    "entrance": "example",
    "floor": 0,
    "apartment": "example"
  },
  "notes": "example"
}

pickupDelivery

Type: OrderPickupDeliveryDTO

Информация о доставке в пункт выдачи.

Не передавайте вместе с courierDelivery.

Example
{
  "logisticPointId": 1
}
Example
{
  "pickupDelivery": {
    "logisticPointId": 1
  },
  "courierDelivery": {
    "address": {
      "fullAddress": "example",
      "entrance": "example",
      "floor": 0,
      "apartment": "example"
    },
    "notes": "example"
  }
}

CustomerDTO

Данные получателя заказа или отправителя возврата.

Name

Description

firstName

Type: string

Имя.

Min length: 1

Max length: 512

Example: example

lastName

Type: string

Фамилия.

Min length: 1

Max length: 512

Example: example

phone

Type: string

Номер телефона.

Формат: +<код_страны><код_региона><номер_телефона>.

Min length: 5

Max length: 16

Pattern: ^\+[0-9]+$

Example: example

middleName

Type: string

Отчество.

Min length: 1

Max length: 512

Example: example

Example
{
  "firstName": "example",
  "lastName": "example",
  "middleName": "example",
  "phone": "example"
}

CreateOrderPackageType

Требования к упаковке:

  • WHITELABEL — коробка.

  • BRANDбрендированная упаковка магазина.

Если не передать packageType, заказ приедет в коробке или без упаковки.

Type: string

Enum: WHITELABEL, BRAND

CreateOrderPackagingDTO

Правила упаковки товаров в заказе.

Name

Description

packageType

Type: CreateOrderPackageType

Требования к упаковке:

  • WHITELABEL — коробка.

  • BRANDбрендированная упаковка магазина.

Если не передать packageType, заказ приедет в коробке или без упаковки.

Enum: WHITELABEL, BRAND

Example
{
  "packageType": "WHITELABEL"
}

DeliveryPaymentType

Тип оплаты заказа:

  • PREPAID — оплата при оформлении заказа.

Type: string

Const: PREPAID

Example: example

CreateOrderDTO

Информация о заказе.

Передайте выбранный вариант доставки из ответа метода POST v1/campaigns/{campaignId}/delivery-options.

Name

Description

customer

Type: CustomerDTO

Данные получателя заказа или отправителя возврата.

Example
{
  "firstName": "example",
  "lastName": "example",
  "middleName": "example",
  "phone": "example"
}

destination

Type: CreateOrderDeliveryOptionDTO

Информация о доставке.

Не передавайте одновременно courierDelivery и pickupDelivery.

Example
{
  "pickupDelivery": {
    "logisticPointId": 1
  },
  "courierDelivery": {
    "address": {
      "fullAddress": "example",
      "entrance": "example",
      "floor": 0,
      "apartment": "example"
    },
    "notes": "example"
  }
}

externalOrderId

Type: string

Внешний идентификатор заказа в системе магазина.

Min length: 1

Example: example

itemsDelivery

Type: CreateOrderWarehouseItemsDTO[]

Список товаров в заказе.

Min items: 1

Max items: 1000

Example
[
  {
    "warehouseId": 1,
    "items": [
      {
        "offerId": "example",
        "count": 1,
        "price": {}
      }
    ],
    "deliveryDateInterval": {
      "fromDate": "2025-01-01",
      "toDate": "2025-01-01"
    },
    "deliveryTimeInterval": {
      "fromTime": "example",
      "toTime": "example"
    }
  }
]

packaging

Type: CreateOrderPackagingDTO

Правила упаковки товаров в заказе.

Example
{
  "packageType": "WHITELABEL"
}

paymentType

Type: DeliveryPaymentType

Тип оплаты заказа:

  • PREPAID — оплата при оформлении заказа.

Enum: PREPAID

draft

Type: boolean

Признак создания черновика заказа.

  • true — Маркет создаст заказ в статусе RESERVED и будет ждать подтверждения от магазина.
  • false — Маркет создаст заказ в статусе PROCESSING с подстатусом STARTED и начнёт его обработку, дополнительных подтверждений не требуется.

Default: false

Example
{
  "externalOrderId": "example",
  "itemsDelivery": [
    {
      "warehouseId": 1,
      "items": [
        {}
      ],
      "deliveryDateInterval": {
        "fromDate": "2025-01-01",
        "toDate": "2025-01-01"
      },
      "deliveryTimeInterval": {
        "fromTime": "example",
        "toTime": "example"
      }
    }
  ],
  "destination": {
    "pickupDelivery": {
      "logisticPointId": 1
    },
    "courierDelivery": {
      "address": {
        "fullAddress": "example",
        "entrance": "example",
        "floor": 0,
        "apartment": "example"
      },
      "notes": "example"
    }
  },
  "customer": {
    "firstName": "example",
    "lastName": "example",
    "middleName": "example",
    "phone": "example"
  },
  "packaging": {
    "packageType": "WHITELABEL"
  },
  "paymentType": "PREPAID",
  "draft": false
}

Responses

200 OK

Информация о созданных заказах.

Body

application/json
{
  "status": "OK",
  "result": {
    "orders": [
      {
        "id": 0
      }
    ]
  }
}

Type: object

All of 2 types
  • Type: ApiResponse

    Стандартная обертка для ответов сервера.

    Example
    {
      "status": "OK"
    }
    
  • Type: object

    result

    Type: CreatedOrdersDTO

    Информация о созданных заказах.

    По одному заказу для каждого склада.

    Example
    {
      "orders": [
        {
          "id": 0
        }
      ]
    }
    
    Example
    {
      "result": {
        "orders": [
          {
            "id": 0
          }
        ]
      }
    }
    

ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Type: string

Enum: OK, ERROR

ApiResponse

Стандартная обертка для ответов сервера.

Name

Description

status

Type: ApiResponseStatusType

Тип ответа. Возможные значения:

  • OK — ошибок нет.
  • ERROR — при обработке запроса произошла ошибка.

Enum: OK, ERROR

Example
{
  "status": "OK"
}

CreatedOrderDTO

Информация о созданном заказе.

Name

Description

id

Type: integer

Идентификатор заказа.

Example
{
  "id": 0
}

CreatedOrdersDTO

Информация о созданных заказах.

По одному заказу для каждого склада.

Name

Description

orders

Type: CreatedOrderDTO[]

Созданные заказы.

Min items: 1

Example
[
  {
    "id": 0
  }
]
Example
{
  "orders": [
    {
      "id": 0
    }
  ]
}

400 Bad Request

Запрос содержит неправильные данные. Подробнее об ошибках при работе с заказами

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

ApiErrorDTO

Общий формат ошибки.

Name

Description

code

Type: string

Код ошибки.

Example: example

message

Type: string

Описание ошибки.

Example: example

Example
{
  "code": "example",
  "message": "example"
}

ApiErrorResponse

Стандартная обертка для ошибок сервера.

Type: object

All of 2 types
  • Type: ApiResponse

    Стандартная обертка для ответов сервера.

    Example
    {
      "status": "OK"
    }
    
  • Type: object

    errors

    Type: ApiErrorDTO[] | null

    Список ошибок.

    Min items: 1

    Example
    [
      {
        "code": "example",
        "message": "example"
      }
    ]
    
    Example
    {
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    
Example
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

401 Unauthorized

В запросе не указаны данные для авторизации. Подробнее об ошибке

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

403 Forbidden

Данные для авторизации неверны или доступ к ресурсу запрещен. Подробнее об ошибке

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

420 Method Failure

Превышено ограничение на доступ к ресурсу. Подробнее об ошибке

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

500 Internal Server Error

Внутренняя ошибка Маркета. Подробнее об ошибке

Body

application/json
{
  "status": "OK",
  "errors": [
    {
      "code": "example",
      "message": "example"
    }
  ]
}

Type: object

All of 1 type
  • Type: ApiErrorResponse

    Стандартная обертка для ошибок сервера.

    Example
    {
      "status": "OK",
      "errors": [
        {
          "code": "example",
          "message": "example"
        }
      ]
    }
    

No longer supported, please use an alternative and newer version.

Заранее привезите ее на склад Маркета, где хранятся ваши товары.