/v1/pickup-options ⦸
Важно
Этот метод устарел. Не используйте его.
/v1/pickup-options
Запрос на получение точек самовывоза.
Запрос на получение доступных точек самовывоза по корзине товаров.
Request
POST
https://example.merchant.ru/v1/pickup-options
Production
POST
https://sandbox.example.merchant.ru/v1/pickup-options
Sandbox
Body
application/json
{
"boundingBox": {
"ne": {
"latitude": 0,
"longitude": 0
},
"sw": {
"latitude": 0,
"longitude": 0
}
},
"cart": {
"cartId": "string",
"coupons": [
{
"description": "string",
"status": "VALID",
"value": "string"
}
],
"discounts": [
{
"amount": "123.45",
"description": "string",
"discountId": "string"
}
],
"externalId": "string",
"items": [
{
"description": "string",
"discountedUnitPrice": "123.45",
"features": {
"pointsDisabled": false,
"tariffModifier": "VERY_LOW"
},
"measurements": {
"height": 0,
"length": 0,
"weight": 0,
"width": 0
},
"productId": "string",
"quantity": {
"available": "123.45",
"count": "123.45"
},
"receipt": {
"agent": {
"agentType": 1,
"operation": "string",
"paymentsOperator": {
"phones": [
"string"
]
},
"phones": [
"string"
],
"transferOperator": {
"address": "string",
"inn": "string",
"name": "string",
"phones": [
"string"
]
}
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "string",
"supplier": {
"inn": "string",
"name": "string",
"phones": [
"string"
]
},
"tax": 1,
"title": "string"
},
"skuId": "string",
"subtotal": "123.45",
"title": "string",
"total": "123.45",
"type": "PHYSICAL",
"unitPrice": "123.45"
}
],
"measurements": {
"height": 0,
"length": 0,
"weight": 0,
"width": 0
},
"total": {
"amount": "123.45"
}
},
"currencyCode": "string",
"merchantId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b",
"metadata": "string"
}
|
Name |
Description |
|
boundingBox* |
Type: BoundingBox Границы области на карте |
|
cart* |
Type: CartWithoutFinalPrice Корзина c ценами, размером и весом товаров |
|
currencyCode* |
Type: string |
|
merchantId* |
Type: string<uuid> |
|
metadata |
Type: string |
BoundingBox
|
Name |
Description |
|
ne* |
Type: Location Правый верхний угол (северо-восток) |
|
sw* |
Type: Location Левый нижний угол (юго-запад) |
CartWithoutFinalPrice
|
Name |
Description |
|
cartId |
Type: string Внутренний идентификатор корзины Яндекс Пэй. Бэкенд магазина должен использовать этот параметр как идентификатор корзины покупателя и как ключ идемпотентности для запроса |
|
coupons |
Type: Coupon[] Купоны, применённые к корзине |
|
discounts |
Type: Discount[] Скидки, применённые к корзине |
|
externalId |
Type: string Переданный продавцом идентификатор корзины |
|
items |
Type: CartItemWithoutFinalPrice[] |
|
measurements |
Type: Measurements |
|
total |
Type: CartTotal Итоговая стоимость корзины, которая пойдет в оплату |
Location
|
Name |
Description |
|
latitude* |
Type: number<float> |
|
longitude* |
Type: number<float> |
Coupon
|
Name |
Description |
|
value* |
Type: string Код купона |
|
description |
Type: string Описание. Например, "Скидка 3%" |
|
status |
Type: string Enum: |
Discount
|
Name |
Description |
|
amount* |
Type: string<double> Сумма скидки Example: |
|
description* |
Type: string Текстовое описание |
|
discountId* |
Type: string Идентификатор скидки в системе мерчанта |
CartItemWithoutFinalPrice
|
Name |
Description |
|
productId* |
Type: string Id товара в системе продавца. В параметрах запроса каждый идентификатор товара |
|
quantity* |
Type: ItemQuantity Количество товара в заказе |
|
description |
Type: string Описание товара |
|
discountedUnitPrice |
Type: string<double> Цена за единицу товара с учётом скидок на позицию Example: |
|
features |
Type: CartItemFeatures Промо параметры товара |
|
measurements |
Type: Measurements Размеры и вес товара. Обязательно для товара типа |
|
receipt |
Type: ItemReceipt Данные для формирования чека |
|
skuId |
Type: string Уникальный id, который описывает единицу ассортимента. Необходим для применения индивидуального тарифа. |
|
subtotal |
Type: string<double> Суммарная цена за позицию без учета скидок Example: |
|
title |
Type: string Наименование товара |
|
total |
Type: string<double> Суммарная цена за позицию с учётом скидок на позицию Example: |
|
type |
Type: string Тип товара. Важен для интеграции с доставками Default: Enum: |
|
unitPrice |
Type: string<double> Полная цена за единицу товара без учетка скидки Example: |
Measurements
|
Name |
Description |
|
height* |
Type: number<float> Высота, в метрах |
|
length* |
Type: number<float> Длина, в метрах |
|
weight* |
Type: number<float> Вес, в килограммах |
|
width* |
Type: number<float> Ширина, в метрах |
CartTotal
|
Name |
Description |
|
amount* |
Type: string<double> Стоимость корзины с учетом всех скидок. Example: |
ItemQuantity
|
Name |
Description |
|
count* |
Type: string<double> Количество товара в заказе Example: |
|
available |
Type: string<double> Максимально доступное количество товара Example: |
CartItemFeatures
|
Name |
Description |
|
pointsDisabled |
Type: boolean Не распределять баллы Плюса. Используется только при создании заказа. Если это поле не указано, то баллы будут распределены на товар Default: |
|
tariffModifier |
Type: string Модификатор тарифа для расчета комиссии. Определяет, какой тариф будет применяться при расчете комиссии за обработку позиции в корзине. Enum: |
ItemReceipt
|
Name |
Description |
|
tax* |
Type: integer Описание значений: Ссылка Enum: |
|
agent |
Type: Agent |
|
excise |
Type: string<double> Не должно содержать больше двух знаков после запятой. Например: 1.12, 5.1, 10, 11.00 . Example: |
|
markQuantity |
Type: MarkQuantity |
|
measure |
Type: integer Описание значений: Ссылка Enum: |
|
paymentMethodType |
Type: integer Описание значений: Ссылка Enum: |
|
paymentSubjectType |
Type: integer Описание значений: Ссылка Enum: |
|
productCode |
Type: string<base64> Код товара (base64 кодированный массив от 1 до 32 байт) |
|
supplier |
Type: Supplier |
|
title |
Type: string |
Agent
|
Name |
Description |
|
agentType* |
Type: integer Признак агента по предмету расчёта. См. значения Enum: |
|
operation |
Type: string |
|
paymentsOperator |
Type: PaymentsOperator |
|
phones |
Type: string[] |
|
transferOperator |
Type: TransferOperator |
MarkQuantity
|
Name |
Description |
|
denominator* |
Type: integer<int32> |
|
numerator* |
Type: integer<int32> |
Supplier
|
Name |
Description |
|
inn |
Type: string |
|
name |
Type: string |
|
phones |
Type: string[] |
PaymentsOperator
|
Name |
Description |
|
phones |
Type: string[] |
TransferOperator
|
Name |
Description |
|
address |
Type: string |
|
inn |
Type: string |
|
name |
Type: string |
|
phones |
Type: string[] |
Responses
200 OK
Вебхук успешно получен и обработан.
Тело ответа может быть любым, рекомендуем отправить {"status": "success"}.
При получении 200 Яндекс Пэй прекращает отправку повторных вебхуков.
Body
application/json
{
"data": {
"pickupOptions": [
{
"address": "string",
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"description": "string",
"fromDate": "string",
"location": {
"latitude": 0,
"longitude": 0
},
"phones": [
"string"
],
"pickupPointId": "string",
"provider": "YANDEX_MARKET",
"receipt": {
"agent": {
"agentType": 1,
"operation": "string",
"paymentsOperator": {
"phones": [
"string"
]
},
"phones": [
"string"
],
"transferOperator": {
"address": "string",
"inn": "string",
"name": "string",
"phones": [
"string"
]
}
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "string",
"supplier": {
"inn": "string",
"name": "string",
"phones": [
"string"
]
},
"tax": 1,
"title": "string"
},
"schedule": [
{
"fromTime": "string",
"label": "string",
"toTime": "string"
}
],
"storagePeriod": 0,
"title": "string",
"toDate": "string"
}
]
},
"status": "string"
}
|
Name |
Description |
|
data* |
|
|
status* |
Type: string |
MerchantPickupOptionsResponseData
|
Name |
Description |
|
pickupOptions* |
Type: PickupOption[] |
PickupOption
|
Name |
Description |
|
address* |
Type: string Адрес в виде строки |
|
location* |
Type: Location |
|
pickupPointId* |
Type: string Уникальный id точки самовывоза в системе продавца |
|
title* |
Type: string Название точки самовывоза |
|
allowedPaymentMethods |
Type: string[] Индивидуальные методы оплаты для выбранного способа самовывоза. Доступные методы оплаты заказа при выбранном способе самовывоза. Этот параметр нужно использовать, если нужно ограничить методы оплаты, указанные в Enum: |
|
amount |
Type: string<double> Стоимость доставки в точку Example: |
|
description |
Type: string Дополнительное описание |
|
fromDate |
Type: string<date> YYYY-MM-DD. Ближайшая возможная дата доставки |
|
phones |
Type: string[] Телефоны для связи |
|
provider |
Type: string Тип точки вывоза. Enum: |
|
receipt |
Type: ItemReceipt |
|
schedule |
Type: PickupSchedule[] График работы точки |
|
storagePeriod |
Type: integer<int32> Опционально. Срок хранения товара в точке самовывоза в днях |
|
toDate |
Type: string<date> YYYY-MM-DD. Самая поздняя дата доставки |
PickupSchedule
|
Name |
Description |
|
fromTime* |
Type: string HH:mm, "08:00" |
|
label* |
Type: string Например, "пн-пт" |
|
toTime* |
Type: string HH:mm, "20:00" |
400 Bad Request
Ошибка обработки вебхука.
При отсутствии ответа или любом статусе кроме 200 Яндекс Пэй генерирует новый JWT-токен и повторяет отправку вебхука:
- первые 10 раз через 5 мс;
- далее с экспоненциально возрастающим интервалом до 15 минут;
- затем каждые 15 минут в течение 24 часов. Общее время повторных отправок — 24 часа. После этого вебхук считается недоставленным.
Body
application/json
{
"reason": "string",
"reasonCode": "FORBIDDEN",
"status": "fail"
}
|
Name |
Description |
|
reasonCode* |
Type: string Код ошибки:
Enum: |
|
reason |
Type: string Описание причины ошибки. |
|
status |
Type: string Default: |
No longer supported, please use an alternative and newer version.