# Яндекс Доставка API (Доставка по России): Показать пункты выдачи и постаматы в городе

Сценарий из mcp-everything. Актуально на 2026-10-24.

Список ПВЗ Яндекса для выбора при оформлении заказа.

1. Определи населённый пункт: POST /api/b2b/platform/location/detect с адресом или его фрагментом (например, названием города). В ответе — geo_id.
2. Запроси точки: POST /api/b2b/platform/pickup-points/list с geo_id и type = pickup_point. Для поиска на карте вместо geo_id передай диапазоны latitude и longitude видимой области.
3. Если нужны примерка или частичный выкуп, отфильтруй по pickup_services. С пустым телом метод вернёт вообще все доступные точки.
4. Сохрани ID выбранной точки — он пойдёт в destination.platform_station при создании заявки.

```bash
curl -X POST https://b2b-authproxy.taxi.yandex.net/api/b2b/platform/location/detect \
  -H "Authorization: Bearer $YD_TOKEN" -H 'Content-Type: application/json' \
  -d '{"location": "Казань"}'

curl -X POST https://b2b-authproxy.taxi.yandex.net/api/b2b/platform/pickup-points/list \
  -H "Authorization: Bearer $YD_TOKEN" -H 'Content-Type: application/json' \
  -d '{"geo_id": <geo_id>, "type": "pickup_point"}'
```

## Базовые URL

- Боевой: `https://b2b-authproxy.taxi.yandex.net`
- Тестовый: `https://b2b.taxi.tst.yandex.net`

## Авторизация

Тип: Bearer-токен

Bearer-токен в заголовке `Authorization: Bearer <token>`. Для продакшена токен берут в личном кабинете в разделе «Профиль»; ID склада отгрузки (`platform_station_id`) выдаёт коммерческий менеджер.

Для тестового контура в документации даны:

Для корректной работы нужен TLS 1.2 и выше с шифрами по стандарту PCI DSS v4.

## Методы сценария

### POST /api/b2b/platform/location/detect — Определение geo_id по адресу

Возвращает идентификатор населённого пункта (`geo_id`) по адресу или его фрагменту.

### POST /api/b2b/platform/pickup-points/list — Точки самопривоза и ПВЗ

С пустым телом возвращает все доступные точки самопривоза, ПВЗ и постаматы.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `geo_id` | body | integer | нет | Населённый пункт |
| `type` | body | string | нет | Тип точки, например pickup_point |
| `available_for_dropoff` | body | boolean | нет | Возможность отгрузки в точку; для warehouse обязательно true |
| `is_yandex_branded` | body | boolean | нет | Только брендированные точки |
| `is_not_branded_partner_station` | body | boolean | нет | Добавить партнёрские ПВЗ |
| `payment_method` | body | string | нет | Способ оплаты |
| `latitude` | body | object | нет | Диапазон широт from/to |
| `longitude` | body | object | нет | Диапазон долгот from/to |
| `pickup_services` | body | object | нет | Услуги: примерка, частичный выкуп и др. |

## Нюансы

- Основной поток — двухшаговый: `offers/create` возвращает офферы с ограниченным сроком (`expires_at`), заявка создаётся только после `offers/confirm`.
- Суммы в товарах передаются в копейках, вес — в граммах, габариты — в сантиметрах.
- Для `destination` заполняется либо `platform_station` (ПВЗ), либо `custom_location` (доставка до двери) в соответствии с `type`.
- `operator_request_id` должен быть уникальным для каждого заказа.
- В тестовом контуре используйте тестовый токен и тестовый склад из документации; продакшен-ID склада выдаёт менеджер.

## Другие сценарии

- [Рассчитать стоимость доставки](https://mcp-everything.ru/integrations/yandex-delivery/scenarios/rasschitat-stoimost-dostavki.md)
- [Создать заказ: выбрать вариант доставки и подтвердить](https://mcp-everything.ru/integrations/yandex-delivery/scenarios/sozdat-zakaz-vybrat-variant-dostavki.md)
- [Отследить заказ и при необходимости отменить](https://mcp-everything.ru/integrations/yandex-delivery/scenarios/otsledit-zakaz-i-pri-neobhodimosti.md)
- [Напечатать ярлыки на посылки](https://mcp-everything.ru/integrations/yandex-delivery/scenarios/napechatat-yarlyki-na-posylki.md)

---

Если этого недостаточно — официальная документация: https://yandex.ru/support/delivery-profile/ru/api/other-day/
Вся интеграция одним документом: https://mcp-everything.ru/integrations/yandex-delivery.md
