# Достависта Business API: Рассчитать стоимость срочной доставки

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

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

1. Возьми токен в личном кабинете и передавай его в заголовке X-DV-Auth-Token. Отлаживай интеграцию на тестовом стенде https://robotapitest.dostavista.ru/api/business/1.5, доступ к рабочему открывают через api@dostavista.ru.
2. Посчитай: POST /calculate-order с теми же полями, что и для создания заказа: matter, points (адрес забора и адрес доставки), total_weight_kg, vehicle_type_id. Обязательных полей нет — но чем больше данных, тем точнее цена; без параметров вернётся минимальная стоимость.
3. Успешный ответ — is_successful: true. При ошибке — HTTP 400 и список errors; при invalid_parameters подробности в parameter_errors той же структуры, что и запрос.

```bash
curl -X POST https://robot.dostavista.ru/api/business/1.5/calculate-order \
  -H 'X-DV-Auth-Token: <токен>' \
  -H 'Content-Type: application/json' \
  -d '{
        "matter": "Документы",
        "total_weight_kg": 1,
        "points": [
          {"address": "Москва, ул. Покровка, 11"},
          {"address": "Москва, ул. Солянка, 4"}
        ]
      }'
```

## Базовые URL

- Боевой: `https://robot.dostavista.ru/api/business/1.5`
- Тестовый: `https://robotapitest.dostavista.ru/api/business/1.5`

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

Тип: API-ключ

Секретный токен из личного кабинета передаётся в заголовке `X-DV-Auth-Token` в каждом запросе. Используются только методы GET (параметры в строке запроса) и POST (JSON в UTF-8), только по HTTPS.

Ответ:

```
curl --include --header 'X-DV-Auth-Token: SECRET_AUTH_TOKEN' 'https://robotapitest.dostavista.ru/api/business/1.5'
```

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

### POST /calculate-order — Расчёт стоимости доставки

Точная стоимость перед созданием заказа; чем больше параметров, тем точнее. Без параметров возвращает минимальную стоимость. Принимает те же параметры, что `create-order`, но без обязательных.

## Нюансы

- Успешный ответ — HTTP 200 и `is_successful: true`; ошибка — HTTP 400, `is_successful: false`, список `errors` и при `invalid_parameters` — объект `parameter_errors` той же структуры, что запрос.
- Неизвестные ключи в запросе дают предупреждение `invalid_schema` в `schema_warnings`; неизвестные поля в ответах нужно игнорировать.
- Даты — ISO 8601 (`YYYY-MM-DDThh:mm:ss±hh:mm` или с `Z`); в GET-запросах дату нужно url-кодировать (`+` → `%2B`).
- Callback-уведомления о заказах (`order_created`, `order_changed`), доставках и местоположении курьера приходят POST с JSON на URL из личного кабинета. Подпись — заголовок `X-DV-Signature`: HMAC-SHA256 от тела с ключом Callback Secret Key из кабинета.
- Новые поля и методы добавляются без смены версии; версия меняется только при несовместимых изменениях.

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

- [Создать заказ на курьерскую доставку](https://mcp-everything.ru/integrations/dostavista/scenarios/sozdat-zakaz-na-kurerskuyu-dostavku.md)
- [Следить за заказом и курьером](https://mcp-everything.ru/integrations/dostavista/scenarios/sledit-za-zakazom-i-kurerom.md)
- [Отменить или изменить заказ](https://mcp-everything.ru/integrations/dostavista/scenarios/otmenit-ili-izmenit-zakaz.md)

---

Если этого недостаточно — официальная документация: https://apitest.dostavista.ru/business-api/doc
Вся интеграция одним документом: https://mcp-everything.ru/integrations/dostavista.md
