# API Яндекс Go для бизнеса: Отменить заказ такси

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

Сотрудник передумал ехать — отменяем заказ по правилам, которые сейчас действуют.

1. Узнай допустимые правила отмены: GET /2.0/orders/info с order_id — поле cancel_rules (free, paid или minimal).
2. Отмени: POST /2.0/orders/cancel с order_id в строке запроса и state из cancel_rules в теле. Ответ — {"status": "cancelled"}.
3. Если доступна только платная отмена, предупреди сотрудника до вызова: деньги спишутся с корпоративного счёта.

```bash
curl -X POST "https://b2b-api.go.yandex.ru/integration/2.0/orders/cancel?order_id=<order_id>" \
  -H "Authorization: Bearer $YAGO_TOKEN" -H 'Content-Type: application/json' \
  -d '{"state": "free"}'
```

## Базовые URL

- Боевой: `https://b2b-api.go.yandex.ru/integration`

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

Тип: OAuth 2.0

OAuth-токен получают в Кабинете Корпоративного Клиента: «Профиль компании» → «Получить токен» → вход на `oauth.yandex.ru`. Токен действует ограниченное время, затем его нужно получить заново.

Если по токену доступно несколько кабинетов, во всех запросах передаётся заголовок `X-YaTaxi-Selected-Corp-Client-Id` с ID клиента из профиля компании.

```
Authorization: Bearer <OAuth-токен>
```

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

### GET /2.0/orders/info — Информация о заказе

В ответе: `id`, `user_id`, `class`, `status`, `due_date`, `finished_date`, `performer` (водитель и автомобиль), `source`, `destination`, `cancel_rules`, `cost`, `cost_with_vat`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `order_id` | query | string | да | ID заказа |

### POST /2.0/orders/cancel — Отмена заказа

Ответ: `{"status": "cancelled"}`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `order_id` | query | string | да | ID заказа |
| `state` | body | string | нет | Правило отмены из cancel_rules: free, paid, minimal |

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

```
POST http://b2b-api.go.yandex.ru/integration/2.0/orders/cancel?order_id=191...280
...
Authorization: Bearer <OAuth-token>
X-YaTaxi-Selected-Corp-Client-Id: <client-id>
 {
 "state": "free"
 }
```

## Нюансы

- Порядок работы: получить токен → настроить центры затрат, роли и сотрудников → `routestats` → `orders/create` → `orders/progress`/`orders/info` → при необходимости `orders/cancel`.
- Координаты в `route` и `geopoint` — в порядке [долгота, широта]; в `vehicle.location` ответа — [широта, долгота] (см. примеры документации).
- Для отмены передайте `state` из `cancel_rules` метода `orders/info`.
- Также есть методы департаментов и их лимитов, районов (`geo_restrictions`), информации о зоне (`zoneinfo`), промокодов, автопарка, заказов Еды, операций Заправок и командировок.
- Для заказа доставки есть отдельный API доставки (cargo API).

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

- [Заказать такси сотруднику](https://mcp-everything.ru/integrations/yandex-go-business/scenarios/zakazat-taksi-sotrudniku.md)
- [Завести нового сотрудника](https://mcp-everything.ru/integrations/yandex-go-business/scenarios/zavesti-novogo-sotrudnika.md)
- [Выгрузить поездки за месяц](https://mcp-everything.ru/integrations/yandex-go-business/scenarios/vygruzit-poezdki-za-mesyats.md)

---

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