# Яндекс Доставка API (Доставка по России): Рассчитать стоимость доставки

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

Показать покупателю цену доставки Яндекса до двери или до пункта выдачи.

1. Получи Bearer-токен в личном кабинете (раздел «Профиль») и ID своего склада отгрузки platform_station_id — его выдаёт менеджер. Для отладки есть тестовый контур https://b2b.taxi.tst.yandex.net с тестовым токеном и складом из документации.
2. Посчитай стоимость: POST /api/b2b/platform/pricing-calculator с source.platform_station_id, destination (platform_station_id пункта выдачи или address для доставки до двери), tariff (time_interval — до двери, self_pickup — до ПВЗ), total_weight и places.
3. Вес передавай в граммах, габариты dx, dy, dz — в сантиметрах. total_assessed_price — оценочная стоимость посылки.
4. Это предварительная оценка: точную цену и сроки покажут офферы при создании заявки.

```bash
curl -X POST https://b2b-authproxy.taxi.yandex.net/api/b2b/platform/pricing-calculator \
  -H "Authorization: Bearer $YD_TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{
        "source": {"platform_station_id": "<ID склада отгрузки>"},
        "destination": {"address": "Санкт-Петербург, Большая Монетная улица, 1к1А"},
        "tariff": "time_interval",
        "total_weight": 1500,
        "total_assessed_price": 1500,
        "client_price": 0,
        "payment_method": "already_paid",
        "places": [{"physical_dims": {"weight_gross": 1500, "dx": 20, "dy": 15, "dz": 10}}]
      }'
```

## Базовые 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/pricing-calculator — Предварительная оценка стоимости

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `is_oversized` | query | boolean | нет | Флаг КГТ |
| `source` | body | object | нет | Точка отправления: platform_station_id |
| `destination` | body | object | нет | Точка получения: platform_station_id или address (одно из двух) |
| `tariff` | body | string | нет | time_interval (до двери в интервал) или self_pickup (до ПВЗ) |
| `total_weight` | body | integer | нет | Суммарный вес, граммы |
| `total_assessed_price` | body | integer | нет | Оценочная стоимость |
| `client_price` | body | integer | нет | Стоимость для клиента |
| `payment_method` | body | string | нет | Способ оплаты, например already_paid |
| `places` | body | array | нет | Места: physical_dims.weight_gross, dx, dy, dz |

Пример запроса:

```
{
  "source": {
    "platform_station_id": "fbed3aa1-2cc6-4370-ab4d-59c5cc9bb924"
  },
  "destination": {
    "platform_station_id": "e1139f6d-e34f-47a9-a55f-31f032a861a6",
    "address": "Санкт-Петербург, Большая Монетная улица, 1к1А"
  },
  "tariff": "time_interval",
  "total_weight": 0,
  "total_assessed_price": 0,
  "client_price": 0,
  "payment_method": "already_paid",
  "places": [
    {
      "physical_dims": {
        "weight_gross": 100,
        "dx": 10,
        "dy": 10,
        "dz": 10
      }
    }
  ]
}
```

## Нюансы

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

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

- [Показать пункты выдачи и постаматы в городе](https://mcp-everything.ru/integrations/yandex-delivery/scenarios/pokazat-punkty-vydachi-i-postamaty.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
