/v1/pickup-options
Request to retrieve pickup points.
A request to retrieve available pickup points based on the items in the cart.
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.5,
"longitude": 0.5
},
"sw": null
},
"cart": {
"cartId": "example",
"coupons": [
{
"description": "example",
"status": "VALID",
"value": "example"
}
],
"discounts": [
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
],
"externalId": "example",
"items": [
{
"description": "example",
"discountedUnitPrice": "123.45",
"measurements": null,
"productId": "example",
"quantity": null,
"receipt": null,
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
],
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"total": null
},
"currencyCode": "example",
"merchantId": "123e4567-e89b-12d3-a456-426614174000",
"metadata": "example"
}
|
Name |
Description |
|
boundingBox |
All of 1 type
Area borders on the map Example
|
|
cart |
All of 1 type
Cart with prices, dimensions, and weight of the products Example
|
|
currencyCode |
Type: string Example: |
|
merchantId |
Type: string<uuid> Example: |
|
metadata |
Type: string Example: |
Location
|
Name |
Description |
|
latitude |
Type: number |
|
longitude |
Type: number |
Example
{
"latitude": 0.5,
"longitude": 0.5
}
BoundingBox
|
Name |
Description |
|
ne |
All of 1 type
Upper-right corner (Northeast) Example
|
|
sw |
All of 1 type
Lower-left corner (Southwest) Example
|
Example
{
"ne": {
"latitude": 0.5,
"longitude": 0.5
},
"sw": null
}
Coupon
|
Name |
Description |
|
value |
Type: string Coupon code Example: |
|
description |
Type: string Description For example, "3% discount" Example: |
|
status |
Type: string Enum: Example: |
Example
{
"description": "example",
"status": "VALID",
"value": "example"
}
Discount
|
Name |
Description |
|
amount |
Type: string<double> Discount amount Example: |
|
description |
Type: string Text description Example: |
|
discountId |
Type: string Discount ID in the merchant system Example: |
Example
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
Measurements
|
Name |
Description |
|
height |
Type: number Height, in meters |
|
length |
Type: number Length, in meters |
|
weight |
Type: number Weight, in kilograms |
|
width |
Type: number Width, in meters |
Example
{
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
}
ItemQuantity
|
Name |
Description |
|
count |
Type: string<double> Product quantity in the order Example: |
|
available |
Type: string<double> Maximum available product quantity Example: |
|
label |
Type: string Name of measurement units, for example, "kg" or "pcs" Example: |
Example
{
"available": "123.45",
"count": "123.45",
"label": "example"
}
PaymentsOperator
|
Name |
Description |
|
phones |
Type: string[] Example
|
Example
{
"phones": [
"example"
]
}
TransferOperator
|
Name |
Description |
|
address |
Type: string Example: |
|
inn |
Type: string Example: |
|
name |
Type: string Example: |
|
phones |
Type: string[] Example
|
Example
{
"address": "example",
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
Agent
|
Name |
Description |
|
agentType |
Type: integer Agent type by taxable object. See values Enum: |
|
operation |
Type: string Example: |
|
paymentsOperator |
Type: PaymentsOperator Example
|
|
phones |
Type: string[] Example
|
|
transferOperator |
Type: TransferOperator Example
|
Example
{
"agentType": 1,
"operation": "example",
"paymentsOperator": {
"phones": [
"example"
]
},
"phones": [
"example"
],
"transferOperator": {
"address": "example",
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
}
MarkQuantity
|
Name |
Description |
|
denominator |
Type: integer |
|
numerator |
Type: integer |
Example
{
"denominator": 0,
"numerator": 0
}
Supplier
|
Name |
Description |
|
inn |
Type: string Example: |
|
name |
Type: string Example: |
|
phones |
Type: string[] Example
|
Example
{
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
ItemReceipt
|
Name |
Description |
|
tax |
Type: integer Value description: Link Enum: |
|
agent |
Type: Agent Example
|
|
excise |
Type: string<double> It shouldn't include more than two decimal digits. For example: 1.12, 5.1, 10, 11.00 . Example: |
|
markQuantity |
Type: MarkQuantity Example
|
|
measure |
Type: integer Value description: Link Enum: |
|
paymentMethodType |
Type: integer Value description: Link Enum: |
|
paymentSubjectType |
Type: integer Value description: Link Enum: |
|
productCode |
Type: string<base64> Product code (a base64-encoded array of 1 to 32 bytes) Example: |
|
supplier |
Type: Supplier Example
|
|
title |
Type: string Example: |
Example
{
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": {
"phones": [
"example"
]
},
"phones": [
"example"
],
"transferOperator": {
"address": "example",
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
}
CartItemWithoutFinalPrice
|
Name |
Description |
|
productId |
Type: string Product ID in the merchant system Make sure that each Example: |
|
quantity |
All of 1 type
Product quantity in the order Example
|
|
description |
Type: string Product description Example: |
|
discountedUnitPrice |
Type: string<double> Price per product unit with discount per item Example: |
|
measurements |
All of 1 type
Product dimensions and weight. Required for the Example
|
|
receipt |
All of 1 type
Data for receipt generation Example
|
|
subtotal |
Type: string<double> Total price per item without discount Example: |
|
title |
Type: string Product name Example: |
|
total |
Type: string<double> Total price per item with item discount Example: |
|
type |
Type: string Product type. Important for integrating with delivery services Default: Enum: |
|
unitPrice |
Type: string<double> Total price per product unit without discount Example: |
Example
{
"description": "example",
"discountedUnitPrice": "123.45",
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "example"
},
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": {
"phones": [
null
]
},
"phones": [
"example"
],
"transferOperator": {
"address": "example",
"inn": "example",
"name": "example",
"phones": [
null
]
}
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
},
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
CartTotal
|
Name |
Description |
|
amount |
Type: string<double> Cart cost with all discounts Example: |
|
label |
Type: string Name of measurement units, for example, "kg" or "pcs" Example: |
Example
{
"amount": "123.45",
"label": "example"
}
CartWithoutFinalPrice
|
Name |
Description |
|
cartId |
Type: string The internal ID of the Yandex Pay cart. The store's backend must use this parameter as the ID of the customer cart and the idempotency key for the Example: |
|
coupons |
Type: Coupon[] Coupons applied to the cart Example
|
|
discounts |
Type: Discount[] Discounts applied to the cart Example
|
|
externalId |
Type: string Cart ID passed by the merchant Example: |
|
items |
Type: CartItemWithoutFinalPrice[] Example
|
|
measurements |
Type: Measurements Example
|
|
total |
All of 1 type
Total cart cost that the customer is to pay Default: |
Example
{
"cartId": "example",
"coupons": [
{
"description": "example",
"status": "VALID",
"value": "example"
}
],
"discounts": [
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
],
"externalId": "example",
"items": [
{
"description": "example",
"discountedUnitPrice": "123.45",
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "example"
},
"receipt": {
"agent": {},
"excise": "123.45",
"markQuantity": {},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {},
"tax": 1,
"title": "example"
},
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
],
"measurements": null,
"total": null
}
Responses
200 OK
success
Body
application/json
{
"data": {
"pickupOptions": [
{
"address": "example",
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"description": "example",
"fromDate": "2025-01-01",
"location": {
"latitude": 0.5,
"longitude": 0.5
},
"phones": [
"example"
],
"pickupPointId": "example",
"provider": "YANDEX_MARKET",
"receipt": {
"agent": {},
"excise": "123.45",
"markQuantity": {},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {},
"tax": 1,
"title": "example"
},
"schedule": [
{}
],
"storagePeriod": 0,
"title": "example",
"toDate": "2025-01-01"
}
]
},
"status": "example"
}
|
Name |
Description |
|
data |
Type: MerchantPickupOptionsResponseData Example
|
|
status |
Type: string Example: |
CartItemWithoutFinalPrice
|
Name |
Description |
|
productId |
Type: string Product ID in the merchant system Make sure that each Example: |
|
quantity |
All of 1 type
Product quantity in the order Example
|
|
description |
Type: string Product description Example: |
|
discountedUnitPrice |
Type: string<double> Price per product unit with discount per item Example: |
|
measurements |
All of 1 type
Product dimensions and weight. Required for the Example
|
|
pointsAmount |
Type: string<double> Number of Plus points Read-only field. Input values will be ignored. Example: |
|
receipt |
All of 1 type
Data for receipt generation Example
|
|
subtotal |
Type: string<double> Total price per item without discount Example: |
|
title |
Type: string Product name Example: |
|
total |
Type: string<double> Total price per item with item discount Example: |
|
type |
Type: string Product type. Important for integrating with delivery services Default: Enum: |
|
unitPrice |
Type: string<double> Total price per product unit without discount Example: |
Example
{
"description": "example",
"discountedUnitPrice": "123.45",
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"pointsAmount": "123.45",
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "example"
},
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": {
"phones": [
null
]
},
"phones": [
"example"
],
"transferOperator": {
"address": "example",
"inn": "example",
"name": "example",
"phones": [
null
]
}
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
},
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
CartTotal
|
Name |
Description |
|
amount |
Type: string<double> Cart cost with all discounts Example: |
|
label |
Type: string Name of measurement units, for example, "kg" or "pcs" Example: |
|
pointsAmount |
Type: string<double> Number of Plus points Read-only field. Input values will be ignored. Example: |
Example
{
"amount": "123.45",
"label": "example",
"pointsAmount": "123.45"
}
CartWithoutFinalPrice
|
Name |
Description |
|
cartId |
Type: string The internal ID of the Yandex Pay cart. The store's backend must use this parameter as the ID of the customer cart and the idempotency key for the Example: |
|
coupons |
Type: Coupon[] Coupons applied to the cart Example
|
|
discounts |
Type: Discount[] Discounts applied to the cart Example
|
|
externalId |
Type: string Cart ID passed by the merchant Example: |
|
items |
Type: CartItemWithoutFinalPrice[] Example
|
|
measurements |
Type: Measurements Example
|
|
total |
All of 1 type
Total cart cost that the customer is to pay Default: |
Example
{
"cartId": "example",
"coupons": [
{
"description": "example",
"status": "VALID",
"value": "example"
}
],
"discounts": [
{
"amount": "123.45",
"description": "example",
"discountId": "example"
}
],
"externalId": "example",
"items": [
{
"description": "example",
"discountedUnitPrice": "123.45",
"measurements": {
"height": 0.5,
"length": 0.5,
"weight": 0.5,
"width": 0.5
},
"pointsAmount": "123.45",
"productId": "example",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "example"
},
"receipt": {
"agent": {},
"excise": "123.45",
"markQuantity": {},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {},
"tax": 1,
"title": "example"
},
"subtotal": "123.45",
"title": "example",
"total": "123.45",
"type": "UNSPECIFIED",
"unitPrice": "123.45"
}
],
"measurements": null,
"total": null
}
PickupSchedule
|
Name |
Description |
|
fromTime |
Type: string HH:mm, "08:00" Example: |
|
label |
Type: string For example, "Mon-Fri" Example: |
|
toTime |
Type: string HH:mm, "20:00" Example: |
Example
{
"fromTime": "example",
"label": "example",
"toTime": "example"
}
PickupOption
|
Name |
Description |
|
address |
Type: string Address in string format Example: |
|
location |
Type: Location Example
|
|
pickupPointId |
Type: string Unique pickup point ID in the merchant's system Example: |
|
title |
Type: string Pickup point's name Example: |
|
allowedPaymentMethods |
Type: string[] Individual payment methods for the selected pickup method. Methods that can be used to pay for the order with the selected pickup method. Use this parameter if you want to restrict the payment methods specified in Example
|
|
amount |
Type: string<double> Cost of delivery to the location Example: |
|
description |
Type: string Additional description Example: |
|
fromDate |
Type: string<date> YYYY-MM-DD. Closest possible delivery date Example: |
|
phones |
Type: string[] Contact phone numbers Example
|
|
provider |
Type: string Pickup point's type. Enum: |
|
receipt |
Type: ItemReceipt Example
|
|
schedule |
Type: PickupSchedule[] Pickup point's schedule Example
|
|
storagePeriod |
Type: integer Optional. Storage period at the pickup point, in days. |
|
toDate |
Type: string<date> YYYY-MM-DD. Latest delivery date Example: |
Example
{
"address": "example",
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"description": "example",
"fromDate": "2025-01-01",
"location": {
"latitude": 0.5,
"longitude": 0.5
},
"phones": [
"example"
],
"pickupPointId": "example",
"provider": "YANDEX_MARKET",
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": {
"phones": [
"example"
]
},
"phones": [
"example"
],
"transferOperator": {
"address": "example",
"inn": "example",
"name": "example",
"phones": [
"example"
]
}
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
"example"
]
},
"tax": 1,
"title": "example"
},
"schedule": [
{
"fromTime": "example",
"label": "example",
"toTime": "example"
}
],
"storagePeriod": 0,
"title": "example",
"toDate": "2025-01-01"
}
MerchantPickupOptionsResponseData
|
Name |
Description |
|
pickupOptions |
Type: PickupOption[] Example
|
Example
{
"pickupOptions": [
{
"address": "example",
"allowedPaymentMethods": [
"CARD"
],
"amount": "123.45",
"description": "example",
"fromDate": "2025-01-01",
"location": {
"latitude": 0.5,
"longitude": 0.5
},
"phones": [
"example"
],
"pickupPointId": "example",
"provider": "YANDEX_MARKET",
"receipt": {
"agent": {
"agentType": 1,
"operation": "example",
"paymentsOperator": {},
"phones": [
null
],
"transferOperator": {}
},
"excise": "123.45",
"markQuantity": {
"denominator": 0,
"numerator": 0
},
"measure": 0,
"paymentMethodType": 1,
"paymentSubjectType": 1,
"productCode": "example",
"supplier": {
"inn": "example",
"name": "example",
"phones": [
null
]
},
"tax": 1,
"title": "example"
},
"schedule": [
{
"fromTime": "example",
"label": "example",
"toTime": "example"
}
],
"storagePeriod": 0,
"title": "example",
"toDate": "2025-01-01"
}
]
}
400 Bad Request
bad request
Body
application/json
{
"reason": "example",
"reasonCode": "FORBIDDEN",
"status": "fail"
}
|
Name |
Description |
|
reasonCode |
Type: string Enum: |
|
reason |
Type: string Example: |
|
status |
Type: string Default: |