❗️Order creation

Method for creating an order in Partner’s system.

  • YandexOrder – order schema for Yango Deli courier delivery.
  • MarketplaceOrder – order schema for Partner courier delivery.
  • PickupOrder – order schema for pickup.

Current request model version – application/vnd.eats.order.v2+json.

Note

Content-type headers in request and response differ.

Request

POST

/order

Headers

Name

Description

Authorization*

Type: string

Token received in response to the /security/oauth/token request

Body

application/vnd.eats.order.v2+json
{
    "brand": "string",
    "comment": "Courier code: 4563. Additional order information...",
    "deliveryInfo": {
        "clientName": "Ivanov Ivan Ivanovich",
        "courierArrivementDate": "2024-01-01T00:00:27.870000+00:20",
        "isSlotDelivery": false,
        "phoneNumber": "+74732006745 ext. 12099",
        "realPhoneNumber": "79998887766"
    },
    "discriminator": "yandex",
    "eatsId": "230130-1234567",
    "items": [
        {
            "id": "some-uniq-identifier",
            "name": "“Milk Original\"",
            "originPrice": 70,
            "price": 84,
            "quantity": 3.4
        }
    ],
    "paymentInfo": {
        "itemsCost": 1570,
        "paymentType": "CARD"
    },
    "platform": "YE",
    "restaurantId": "937c57f6-4508-4858-be7f-20691a16fbb0"
}

Name

Description

...rest

oneOf YandexOrderCreate

Order information with Yandex Eats courier delivery – "yandex".

...rest

oneOf MarketplaceOrderCreate

Order information with Partner courier delivery – "marketplace".

...rest

oneOf PickupOrderCreate

Pickup order information.

YandexOrderCreate

Order information with Yandex Eats courier delivery – "yandex".

Name

Description

comment*

Type: string

Contains the courier code and additional order information.

Example: Courier code: 4563. Additional order information...

deliveryInfo*

Type: YandexDeliveryInfo

Delivery information

discriminator*

Type: string

Schema discriminator. For orders with Yandex Eats courier delivery equals "yandex".

Example: yandex

eatsId*

Type: string

End-to-end order identifier on Yandex Eats side in DDDDDD-DDDDDDD format.

Example: 230130-1234567

items*

Type: OrderCreateItem[]

paymentInfo*

Type: YandexOrderPaymentInfo

brand

Type: string

Brand

platform

Type: Platform

Platform identifier, DC – Delivery Club, YE – Yandex Eats, LAVKA – Lavka, VSEAPTEKI – Vseapteki.

Example: YE

Enum: YE, DC, LAVKA, VSEAPTEKI

restaurantId

Type: string

Internal unique store identifier in partner system. Free format, UUID4 recommended.

Example: 937c57f6-4508-4858-be7f-20691a16fbb0

MarketplaceOrderCreate

Order information with Partner courier delivery – "marketplace".

Name

Description

comment*

Type: string

Additional order information.

Example: Additional order information...

deliveryInfo*

Type: MarketplaceCreateDeliveryInfo

discriminator*

Type: string

Schema discriminator. For orders with Partner courier delivery it equals "marketplace".

Example: marketplace

eatsId*

Type: string

End-to-end order identifier on Yandex Eats side in DDDDDD-DDDDDDD format.

Example: 230130-1234567

items*

Type: OrderCreateItem[]

paymentInfo*

Type: MarketplaceOrderPaymentInfo

brand

Type: string

Brand

platform

Type: Platform

Platform identifier, DC – Delivery Club, YE – Yandex Eats, LAVKA – Lavka, VSEAPTEKI – Vseapteki.

Example: YE

Enum: YE, DC, LAVKA, VSEAPTEKI

restaurantId

Type: string

Internal unique store identifier in partner system. Free format, UUID4 recommended.

Example: 937c57f6-4508-4858-be7f-20691a16fbb0

PickupOrderCreate

Pickup order information.

Name

Description

comment*

Type: string

Additional order information.

Example: Additional order information...

deliveryInfo*

Type: PickupDeliveryInfo

Delivery information.

discriminator*

Type: string

Schema discriminator. For pickup orders it is equal to "pickup".

Example: pickup

eatsId*

Type: string

End-to-end order identifier on Yandex Eats side in DDDDDD-DDDDDDD format.

Example: 230130-1234567

items*

Type: OrderCreateItem[]

paymentInfo*

Type: YandexOrderPaymentInfo

brand

Type: string

Brand

pickupPointId

Type: string

Identifier of the order pickup point from which customer expects to collect the order.

Example: some-thing-id

platform

Type: Platform

Platform identifier, DC – Delivery Club, YE – Yandex Eats, LAVKA – Lavka, VSEAPTEKI – Vseapteki.

Example: YE

Enum: YE, DC, LAVKA, VSEAPTEKI

restaurantId

Type: string

Internal unique store identifier in partner system. Free format, UUID4 recommended.

Example: 937c57f6-4508-4858-be7f-20691a16fbb0

YandexDeliveryInfo

Delivery information

Name

Description

courierArrivementDate*

Type: string<date-time>

Date when the customer will arrive at the store, in RFC3339 format with fractional seconds (Y-m-d\TH:i:s.uP). Fractional seconds part is mandatory.

Example: 2024-01-01T00:00:27.870000+00:20

clientName

Type: string

Customer name in Yandex Eats service.

Example: Ivanov Ivan Ivanovich

isSlotDelivery

Type: boolean

Order with slot delivery (timed delivery).

phoneNumber

Type: string

Phone number for customer contact in international format. Consists of parts "+". May contain extension: "+ ext. "

Example: +74732006745 ext. 12099

realPhoneNumber

Type: string

Сustomer phone number without masking, provided with user consent for data transfer and loyalty card binding. Support required only when integrating the partner’s loyalty program in Yandex Eats.

Example: 79998887766

OrderCreateItem

Name

Description

id*

Type: string

Unique product identifier in the Partner’s system

Example: some-uniq-identifier

Max length: 64

price*

Type: number<double>

Price per unit of item. For catch-weight items price is specified per 1 kg.

Example: 84

quantity*

Type: number<float>

Item quantity in order. For catch-weight items quantity is expressed in kg.

Example: 3.4

name

Type: string

Product name.

Example: “Milk Original"

originPrice

Type: number<double>

Original item price before applying recommendations.

Example: 70

YandexOrderPaymentInfo

Name

Description

itemsCost*

Type: number<double>

Total cost of items in order

Example: 1570

paymentType*

Type: string

Payment type information. CARD – order paid by customer on Yandex Eats side, CASH – unpaid order (mainly used for alcohol pickup).

Enum: CARD, CASH

Platform

Platform identifier, DC – Delivery Club, YE – Yandex Eats, LAVKA – Lavka, VSEAPTEKI – Vseapteki.

Type

Description

Platform

Example: YE

Enum: YE, DC, LAVKA, VSEAPTEKI

MarketplaceCreateDeliveryInfo

Name

Description

clientName*

Type: string

Customer name in Yandex Eats service.

Example: Ivanov Ivan Ivanovich

deliveryAddress*

Type: DeliveryAddressFull

Delivery address information.

deliveryDate*

Type: string<date-time>

Delivery date (when customer expects order delivery), in RFC3339 format with fractional seconds (Y-m-d\TH:i:s.uP).

Example: 1970-01-01T00:00:27.870000+00:20

phoneNumber*

Type: string

Phone number for customer contact in international format. Consists of parts "+". May contain extension: "+ ext. "

Example: +74732006745 ext. 12099

deliverySlot

Type: DeliverySlot

Delivery slot information.

realPhoneNumber

Type: string

Сustomer phone number without masking, provided with user consent for data transfer and loyalty card binding. Support required only when integrating the partner’s loyalty program in Yandex Eats.

Example: 79998887766

MarketplaceOrderPaymentInfo

Name

Description

change*

Type: number<double>

Payment amount requiring change. In other words, this is the amount the customer plans to pay with. Usually customer payment occurs by card on Yandex side and this field is transmitted empty to Partners.

Example: 0

deliveryFee*

Type: number<double>

Delivery cost.

Example: 179

itemsCost*

Type: number<double>

Total cost of items in order

Example: 1570

paymentType*

Type: string

Payment type information. CARD – order paid by customer on Yandex Eats side, CASH – unpaid order (mainly used for alcohol pickup).

Enum: CARD, CASH

total

Type: number<double>

Total order cost.

Example: 1749

PickupDeliveryInfo

Delivery information.

Name

Description

clientArrivementDate*

Type: string<date-time>

Date when the courier is expected to arrive at the store, in RFC3339 format with fractional seconds (Y-m-d\TH:i:s.uP). Make sure to include fractional seconds.

Example: 2024-01-01T00:00:27.870000+00:20

clientName*

Type: string

Customer name in Yandex Eats service.

Example: Ivanov Ivan Ivanovich

phoneNumber*

Type: string

Phone number for customer contact in international format. Consists of parts "+". May contain extension: "+ ext. "

Example: +74732006745 ext. 12099

realPhoneNumber

Type: string

Сustomer phone number without masking, provided with user consent for data transfer and loyalty card binding. Support required only when integrating the partner’s loyalty program in Yandex Eats.

Example: 79998887766

DeliveryAddressFull

Delivery address information.

Name

Description

full*

Type: string

Full address

Example: Moscow, Tverskaya Street, building 1 structure 4, entrance 2. 4th floor, intercom code: 123 K 4567

latitude*

Type: string

Latitude of delivery point

Example: 55.756994

longitude*

Type: string

Longitude of delivery point

Example: 37.614006

city

Type: string

City

Example: Moscow

entrance

Type: string

Entrance

Example: 6

flat

Type: string

Apartment

Example: 234

floor

Type: string

Floor

Example: 12

house

Type: string

Building

Example: 4k1

intercom

Type: string

Intercom

Example: 234

region

Type: string

Region

Example: Vidnoye

street

Type: string

Street

Example: Viktorenko street

DeliverySlot

Delivery slot information.

Name

Description

from*

Type: string<date-time>

Delivery slot start

Example: 1970-01-01T00:00:27.870000+00:20

to*

Type: string<date-time>

Delivery slot end.

Example: 1970-01-01T00:00:27.870000+00:20

slotId

Type: string

Slot ID

Responses

200 OK

Order successfully created in Partner’s system.

Body

application/json
{
    "result": "OK",
    "orderId": "03d3b69b-331c-4f84-b2c4-888b30320e63"
}

Name

Description

orderId*

Type: string

Order identifier in the Partner’s system. Free format. UUID4 is recommended.

Example: 03d3b69b-331c-4f84-b2c4-888b30320e63

result*

Type: string

Example: OK

400 Bad Request

Request error. The response is expected to contain an array with an object from the error list.

Body

application/json
[
    {
        "code": 400,
        "description": "Description of error"
    }
]

ErrorItem[]

ErrorItem

Name

Description

code*

Type: integer

Numeric error code agreed with Yango Deli.

Example: 400

description*

Type: string

Error description

Example: Description of error

401 Unauthorized

Authorisation failed.

Body

application/json
{
    "reason": "Access token has been expired. You should request a new one"
}

Name

Description

reason*

Type: string

The reason why authorisation failed.

Example: Access token has been expired. You should request a new one

500 Internal Server Error

Internal server errors. The response is expected to contain an array with an object from the error list.

Body

application/json
[
    {
        "code": 400,
        "description": "Description of error"
    }
]

ErrorItem[]

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