Зоны доставки

Метод позволяет Партнёру отправлять Яндекс Еде запрос на изменение зон доставки магазина.

Отправка возможна только по зонам, у которых изменилась доступность или другие атрибуты.

Request

PATCH

/partner-integration/v1/place-info/v1/zones

Query parameters

Name

Description

origin_id

Type: string

Идентификатор торговой точки в системе Партнёра

Example: ``

Headers

Name

Description

Partner-Name

Type: string

Имя Партнёра.

Example: ``

Body

application/json
{
  "zones": [
    {
      "coordinates": [
        [
          {}
        ]
      ],
      "meta": {
        "zone_id": "123",
        "is_active": true,
        "intervals": [
          {}
        ],
        "average_delivery_time": 20,
        "thresholds": [
          {}
        ]
      }
    }
  ]
}

Name

Description

zones

Type: ZoneChangedPartV1[]

Min items: 1

Example
[
  {
    "coordinates": [
      [
        {
          "lt": 56.473673,
          "lg": 35.918658
        }
      ]
    ],
    "meta": {
      "zone_id": "123",
      "is_active": true,
      "intervals": [
        {
          "weekday": "tuesday",
          "from": "08:00",
          "to": "20:00"
        }
      ],
      "average_delivery_time": 20,
      "thresholds": [
        {
          "order_cost": {},
          "delivery_cost": null
        }
      ]
    }
  }
]

PointV1

Точка координат зоны.

Name

Description

lg

Type: number

lt

Type: number

Example
{
  "lt": 56.473673,
  "lg": 35.918658
}

From

Начало интервала (формат H:i)

Type: string

Example: 08:00

To

Конец интервала (формат H:i)

Type: string

Example: 20:00

IntervalV1

Name

Description

from

Type: From

Начало интервала (формат H:i)

Example: 08:00

to

Type: To

Конец интервала (формат H:i)

Example: 20:00

weekday

Type: string

День недели

Enum: monday, tuesday, wednesday, thursday, friday, saturday, sunday

Example
{
  "weekday": "tuesday",
  "from": "08:00",
  "to": "20:00"
}

IntervalsV1

Type: IntervalV1[]

Example
[
  {
    "weekday": "tuesday",
    "from": "08:00",
    "to": "20:00"
  }
]

MoneyV1

Представление суммы денег.

Name

Description

currency

Type: string

Трехбуквенное обозначение валюты ISO 4217.

Min length: 3

Max length: 3

Example: RUB

value

Type: string

Значение в указанной валюте(Без копеек/точки/запятой).

Example: 350

Example
{
  "currency": "RUB",
  "value": "350"
}

ThresholdV1

Условие доставки

Name

Description

delivery_cost

Type: MoneyV1

Представление суммы денег.

Example
{
  "currency": "RUB",
  "value": "350"
}

order_cost

Type: MoneyV1

Представление суммы денег.

Example
{
  "currency": "RUB",
  "value": "350"
}
Example
{
  "order_cost": {
    "currency": "RUB",
    "value": "350"
  },
  "delivery_cost": null
}

ZoneMetaV1

Дополнительные данные зоны доставки.

Name

Description

average_delivery_time

Type: integer

Среднее время ожидания доставки.

Min value: 0

Max value: 1440

intervals

Type: IntervalsV1

Example
[
  {
    "weekday": "tuesday",
    "from": "08:00",
    "to": "20:00"
  }
]

is_active

Type: boolean

Флаг активности зоны доставки. При получении в ответе значения false зона станет неактивной.

zone_id

Type: string

Идентификатор зоны доставки в системе Партнёра.

Min length: 1

Max length: 255

Example: 123

thresholds

Type: ThresholdV1[]

Условия доставки.

Cложный пример передачи условий доставки с несколькими трешхолдами, где стоимость доставки зависит от размера корзины.
Заказ от 1000 руб; 1000-1999 руб корзина, доставка 350 руб; 2000-2999 руб корзина, доставка 250 руб; от 3000 руб корзина, доставка бесплатная.

"thresholds": [
{
"order_cost": { "currency": "RUB","value": "1000" },
"delivery_cost": { "currency": "RUB","value": "350" }
},
{ "order_cost": { "currency": "RUB","value": "2000" },
"delivery_cost": { "currency": "RUB","value": "250" }
},
{ "order_cost": { "currency": "RUB","value": "3000" },
"delivery_cost": { "currency": "RUB","value": "0" }
}
]

Min items: 1

Max items: 10

Example
[
  {
    "order_cost": {
      "currency": "RUB",
      "value": "350"
    },
    "delivery_cost": null
  }
]
Example
{
  "zone_id": "123",
  "is_active": true,
  "intervals": [
    {
      "weekday": "tuesday",
      "from": "08:00",
      "to": "20:00"
    }
  ],
  "average_delivery_time": 20,
  "thresholds": [
    {
      "order_cost": {
        "currency": "RUB",
        "value": "350"
      },
      "delivery_cost": null
    }
  ]
}

ZoneChangedPartV1

Дифф зон доставки, координаты не required поле.

Name

Description

meta

Type: ZoneMetaV1

Дополнительные данные зоны доставки.

Example
{
  "zone_id": "123",
  "is_active": true,
  "intervals": [
    {
      "weekday": "tuesday",
      "from": "08:00",
      "to": "20:00"
    }
  ],
  "average_delivery_time": 20,
  "thresholds": [
    {
      "order_cost": {
        "currency": "RUB",
        "value": "350"
      },
      "delivery_cost": null
    }
  ]
}

coordinates

Type: PointV1[][]

Example
[
  [
    {
      "lt": 56.473673,
      "lg": 35.918658
    }
  ]
]
Example
{
  "coordinates": [
    [
      {
        "lt": 56.473673,
        "lg": 35.918658
      }
    ]
  ],
  "meta": {
    "zone_id": "123",
    "is_active": true,
    "intervals": [
      {
        "weekday": "tuesday",
        "from": "08:00",
        "to": "20:00"
      }
    ],
    "average_delivery_time": 20,
    "thresholds": [
      {
        "order_cost": {
          "currency": "RUB",
          "value": "350"
        },
        "delivery_cost": null
      }
    ]
  }
}

Responses

200 OK

Успешный ответ.

Body

application/json
{
  "zones": [
    {
      "zone_id": "example",
      "is_success": true,
      "status": "updated",
      "error_code": "validation_general"
    }
  ]
}

Name

Description

zones

Type: ZoneChangeV1[]

Список зон вместе со статусами изменения.

Example
[
  {
    "zone_id": "example",
    "is_success": true,
    "status": "updated",
    "error_code": "validation_general"
  }
]

ZoneChangeV1

Name

Description

is_success

Type: boolean

error_code

Type: string

Enum: validation_general, validation_name, validation_delivery_conditions, validation_geo_zone, validation_schedule, validation_times, validation_types

status

Type: string

Enum: updated, error

zone_id

Type: string

Example: example

Example
{
  "zone_id": "example",
  "is_success": true,
  "status": "updated",
  "error_code": "validation_general"
}

400 Bad Request

Ошибка в запросе

Body

application/json
{
  "message": "example",
  "code": 0,
  "details": {}
}

Name

Description

code

Type: integer

Код ошибки.

message

Type: string

Сообщение об ошибке.

Example: example

details

Type: object
Example
{}

500 Internal Server Error

Ошибка сервиса

Body

application/json
{
  "message": "example",
  "code": 0,
  "details": {}
}

Name

Description

code

Type: integer

Код ошибки.

message

Type: string

Сообщение об ошибке.

Example: example

details

Type: object
Example
{}

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