/v1/pickup-option-details
Request to get pickup point details.
Given a pickup point (pickupPointId
) and items in the cart, the store's backend returns the
details of the pickup point.
Request
POST
https://example.merchant.ru/v1/pickup-option-details
Production
POST
https://sandbox.example.merchant.ru/v1/pickup-option-details
Sandbox
Body
application/json
{
"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",
"measurements": {
"height": 0,
"length": 0,
"weight": 0,
"width": 0
},
"pointsAmount": "123.45",
"productId": "string",
"quantity": {
"available": "123.45",
"count": "123.45",
"label": "string"
},
"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"
},
"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",
"label": "string",
"pointsAmount": "123.45"
}
},
"currencyCode": "string",
"merchantId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b",
"metadata": "string",
"pickupPointId": "string"
}
Name |
Description |
cart* |
Type: CartWithoutFinalPrice Cart with prices, dimensions, and weight of the products |
currencyCode* |
Type: string |
merchantId* |
Type: string<uuid> |
pickupPointId* |
Type: string |
metadata |
Type: string |
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 |
coupons |
Type: Coupon[] Coupons applied to the cart |
discounts |
Type: Discount[] Discounts applied to the cart |
externalId |
Type: string Cart ID passed by the merchant |
items |
Type: CartItemWithoutFinalPrice[] |
measurements |
Type: Measurements |
total |
Type: CartTotal Total cart cost that the customer is to pay |
Coupon
Name |
Description |
value* |
Type: string Coupon code |
description |
Type: string Description For example, "3% discount" |
status |
Type: string Enum: |
Discount
Name |
Description |
amount* |
Type: string<double> Discount amount Example: |
description* |
Type: string Text description |
discountId* |
Type: string Discount ID in the merchant system |
CartItemWithoutFinalPrice
Name |
Description |
productId* |
Type: string Product ID in the merchant system Make sure that each |
quantity* |
Type: ItemQuantity Product quantity in the order |
description |
Type: string Product description |
discountedUnitPrice |
Type: string<double> Price per product unit with discount per item Example: |
measurements |
Type: Measurements Product dimensions and weight. Required for the |
pointsAmount |
Type: string<double> Number of Plus points Example: |
receipt |
Type: ItemReceipt Data for receipt generation |
subtotal |
Type: string<double> Total price per item without discount Example: |
title |
Type: string Product name |
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: |
Measurements
Name |
Description |
height* |
Type: number<float> Height, in meters |
length* |
Type: number<float> Length, in meters |
weight* |
Type: number<float> Weight, in kilograms |
width* |
Type: number<float> Width, in meters |
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" |
pointsAmount |
Type: string<double> Number of plus points Example: |
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" |
ItemReceipt
Name |
Description |
tax* |
Type: integer Value description: Link Enum: |
agent |
Type: Agent |
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 |
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) |
supplier |
Type: Supplier |
title |
Type: string |
Agent
Name |
Description |
agentType* |
Type: integer Agent type by taxable object. See values 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
success
Body
application/json
{
"data": {
"pickupOption": {
"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 |
MerchantPickupOptionDetailsResponseData
Name |
Description |
pickupOption* |
Type: PickupOptionDetails |
PickupOptionDetails
Name |
Description |
address* |
Type: string Address in string format |
amount* |
Type: string<double> Cost of delivery to the location Example: |
location* |
Type: Location |
pickupPointId* |
Type: string Unique pickup point ID in the merchant's system |
title* |
Type: string Pickup point's name |
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 Enum: |
description |
Type: string Additional description |
fromDate |
Type: string<date> YYYY-MM-DD. Closest possible delivery date |
phones |
Type: string[] Contact phone numbers |
provider |
Type: string Pickup point's type. Enum: |
receipt |
Type: ItemReceipt |
schedule |
Type: PickupSchedule[] Pickup point's schedule |
storagePeriod |
Type: integer<int32> Optional. Storage period at the pickup point, in days. |
toDate |
Type: string<date> YYYY-MM-DD. Latest delivery date |
Location
Name |
Description |
latitude* |
Type: number<float> |
longitude* |
Type: number<float> |
PickupSchedule
Name |
Description |
fromTime* |
Type: string HH:mm, "08:00" |
label* |
Type: string For example, "Mon-Fri" |
toTime* |
Type: string HH:mm, "20:00" |
400 Bad Request
bad request
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.