---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://yandex.ru/support/picker-app/en/ref/ExternalZonesPatch.md
  - https://yandex.ru/support/picker-app/ru/ref/ExternalZonesPatch.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.ru/support/picker-app/ru/llms.txt

<div class="openapi">

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

<!-- markdownlint-disable-file -->

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

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


## Request

<div class="openapi__requests">

<div class="openapi__request__wrapper" style="--method: var(--dc-openapi-methods-patch);margin-bottom: 12px">

<div class="openapi__request">

PATCH {.openapi__method}
```text translate=no
/partner-integration/v1/place-info/v1/zones
```

</div>

</div>

</div>

### Query parameters

#|
|| **Name** | **Description** ||
||

_origin_id_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

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

_Example:_{.json-schema-reset .json-schema-example} ``
{.table-cell}
||
|#{.json-schema-properties}

### Headers

#|
|| **Name** | **Description** ||
||

_Partner-Name_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

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

_Example:_{.json-schema-reset .json-schema-example} ``
{.table-cell}
||
|#{.json-schema-properties}

<div class="openapi-entity">

### Body

{% cut "application/json" %}

```json translate=no
{
  "zones": [
    {
      "coordinates": [
        [
          {}
        ]
      ],
      "meta": {
        "zone_id": "123",
        "is_active": true,
        "intervals": [
          {}
        ],
        "average_delivery_time": 20,
        "thresholds": [
          {}
        ]
      }
    }
  ]
}
```

{% endcut %}

#|
|| **Name** | **Description** ||
||

_zones_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: [ZoneChangedPartV1](#entity-ZoneChangedPartV1)[]

_Min items:_{.json-schema-reset .json-schema-assertion} `1`

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
[
  {
    "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
        }
      ]
    }
  }
]
```

{% endcut %}
{.table-cell}
||
|#{.json-schema-properties}

</div>

<div class="openapi-entity">

### PointV1 {#entity-PointV1}

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

#|
|| **Name** | **Description** ||
||

_lg_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: number
{.table-cell}
||
||

_lt_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: number
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "lt": 56.473673,
  "lg": 35.918658
}
```

{% endcut %}

</div>

<div class="openapi-entity">

### From {#entity-From}

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

**Type**: string

_Example:_{.json-schema-reset .json-schema-example} `08:00`

</div>

<div class="openapi-entity">

### To {#entity-To}

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

**Type**: string

_Example:_{.json-schema-reset .json-schema-example} `20:00`

</div>

<div class="openapi-entity">

### IntervalV1 {#entity-IntervalV1}

#|
|| **Name** | **Description** ||
||

_from_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: [From](#entity-From)

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

_Example:_{.json-schema-reset .json-schema-example} `08:00`
{.table-cell}
||
||

_to_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: [To](#entity-To)

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

_Example:_{.json-schema-reset .json-schema-example} `20:00`
{.table-cell}
||
||

_weekday_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

День недели

_Enum:_{.json-schema-reset .json-schema-value} `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "weekday": "tuesday",
  "from": "08:00",
  "to": "20:00"
}
```

{% endcut %}

</div>

<div class="openapi-entity">

### IntervalsV1 {#entity-IntervalsV1}

**Type**: [IntervalV1](#entity-IntervalV1)[]

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
[
  {
    "weekday": "tuesday",
    "from": "08:00",
    "to": "20:00"
  }
]
```

{% endcut %}

</div>

<div class="openapi-entity">

### MoneyV1 {#entity-MoneyV1}

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

#|
|| **Name** | **Description** ||
||

_currency_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

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

_Min length:_{.json-schema-reset .json-schema-assertion} `3`

_Max length:_{.json-schema-reset .json-schema-assertion} `3`

_Example:_{.json-schema-reset .json-schema-example} `RUB`
{.table-cell}
||
||

_value_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

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

_Example:_{.json-schema-reset .json-schema-example} `350`
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "currency": "RUB",
  "value": "350"
}
```

{% endcut %}

</div>

<div class="openapi-entity">

### ThresholdV1 {#entity-ThresholdV1}

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

#|
|| **Name** | **Description** ||
||

_delivery_cost_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: [MoneyV1](#entity-MoneyV1)

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

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "currency": "RUB",
  "value": "350"
}
```

{% endcut %}
{.table-cell}
||
||

_order_cost_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: [MoneyV1](#entity-MoneyV1)

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

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "currency": "RUB",
  "value": "350"
}
```

{% endcut %}
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "order_cost": {
    "currency": "RUB",
    "value": "350"
  },
  "delivery_cost": null
}
```

{% endcut %}

</div>

<div class="openapi-entity">

### ZoneMetaV1 {#entity-ZoneMetaV1}

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

#|
|| **Name** | **Description** ||
||

_average_delivery_time_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: integer

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

_Min value:_{.json-schema-reset .json-schema-assertion} `0`

_Max value:_{.json-schema-reset .json-schema-assertion} `1440`
{.table-cell}
||
||

_intervals_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: [IntervalsV1](#entity-IntervalsV1)

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
[
  {
    "weekday": "tuesday",
    "from": "08:00",
    "to": "20:00"
  }
]
```

{% endcut %}
{.table-cell}
||
||

_is_active_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: boolean

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

_zone_id_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

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

_Min length:_{.json-schema-reset .json-schema-assertion} `1`

_Max length:_{.json-schema-reset .json-schema-assertion} `255`

_Example:_{.json-schema-reset .json-schema-example} `123`
{.table-cell}
||
||

_thresholds_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: [ThresholdV1](#entity-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:_{.json-schema-reset .json-schema-assertion} `1`

_Max items:_{.json-schema-reset .json-schema-assertion} `10`

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
[
  {
    "order_cost": {
      "currency": "RUB",
      "value": "350"
    },
    "delivery_cost": null
  }
]
```

{% endcut %}
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "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
    }
  ]
}
```

{% endcut %}

</div>

<div class="openapi-entity">

### ZoneChangedPartV1 {#entity-ZoneChangedPartV1}

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

#|
|| **Name** | **Description** ||
||

_meta_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: [ZoneMetaV1](#entity-ZoneMetaV1)

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

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "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
    }
  ]
}
```

{% endcut %}
{.table-cell}
||
||

_coordinates_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: [PointV1](#entity-PointV1)[][]

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
[
  [
    {
      "lt": 56.473673,
      "lg": 35.918658
    }
  ]
]
```

{% endcut %}
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "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
      }
    ]
  }
}
```

{% endcut %}

</div>

## Responses

<div class="openapi__response__code__200">

## 200 OK

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

<div class="openapi-entity">

### Body

{% cut "application/json" %}

```json translate=no
{
  "zones": [
    {
      "zone_id": "example",
      "is_success": true,
      "status": "updated",
      "error_code": "validation_general"
    }
  ]
}
```

{% endcut %}

#|
|| **Name** | **Description** ||
||

_zones_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: [ZoneChangeV1](#entity-ZoneChangeV1)[]

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

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
[
  {
    "zone_id": "example",
    "is_success": true,
    "status": "updated",
    "error_code": "validation_general"
  }
]
```

{% endcut %}
{.table-cell}
||
|#{.json-schema-properties}

</div>

<div class="openapi-entity">

### ZoneChangeV1 {#entity-ZoneChangeV1}

#|
|| **Name** | **Description** ||
||

_is_success_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: boolean
{.table-cell}
||
||

_error_code_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string

_Enum:_{.json-schema-reset .json-schema-value} `validation_general`, `validation_name`, `validation_delivery_conditions`, `validation_geo_zone`, `validation_schedule`, `validation_times`, `validation_types`
{.table-cell}
||
||

_status_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string

_Enum:_{.json-schema-reset .json-schema-value} `updated`, `error`
{.table-cell}
||
||

_zone_id_{.json-schema-reset .json-schema-property}
{.table-cell}|
**Type**: string

_Example:_{.json-schema-reset .json-schema-example} `example`
{.table-cell}
||
|#{.json-schema-properties}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{
  "zone_id": "example",
  "is_success": true,
  "status": "updated",
  "error_code": "validation_general"
}
```

{% endcut %}

</div>

</div>

<div class="openapi__response__code__400">

## 400 Bad Request

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

<div class="openapi-entity">

### Body

{% cut "application/json" %}

```json translate=no
{
  "message": "example",
  "code": 0,
  "details": {}
}
```

{% endcut %}

#|
|| **Name** | **Description** ||
||

_code_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: integer

Код ошибки.
{.table-cell}
||
||

_message_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

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

_Example:_{.json-schema-reset .json-schema-example} `example`
{.table-cell}
||
||

_details_{.json-schema-reset .json-schema-property}
{.table-cell}|
{% cut "**Type**: object" %}

#|
|#{.json-schema-properties}

{% endcut %}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{}
```

{% endcut %}
{.table-cell}
||
|#{.json-schema-properties}

</div>

</div>

<div class="openapi__response__code__500">

## 500 Internal Server Error

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

<div class="openapi-entity">

### Body

{% cut "application/json" %}

```json translate=no
{
  "message": "example",
  "code": 0,
  "details": {}
}
```

{% endcut %}

#|
|| **Name** | **Description** ||
||

_code_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: integer

Код ошибки.
{.table-cell}
||
||

_message_{.json-schema-reset .json-schema-property .json-schema-required}
{.table-cell}|
**Type**: string

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

_Example:_{.json-schema-reset .json-schema-example} `example`
{.table-cell}
||
||

_details_{.json-schema-reset .json-schema-property}
{.table-cell}|
{% cut "**Type**: object" %}

#|
|#{.json-schema-properties}

{% endcut %}

{% cut "**Example**" %}{.json-schema-example}

```json translate=no
{}
```

{% endcut %}
{.table-cell}
||
|#{.json-schema-properties}

</div>

</div>

</div>

[*Deprecated]: No longer supported, please use an alternative and newer version.