Dodo IS API: Следить за скоростью доставки

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

Контроль сервиса: среднее время доставки по пиццериям и разбор конкретных долгих заказов.

  1. Получи scopes deliverystatistics и user.role:read.
  2. Сводные метрики за период: GET /delivery/statistics с units, from и to (ISO 8601).
  3. Детализация по каждому заказу курьеров: GET /delivery/couriers-orders с теми же units (до 30 заведений), from, to и страницами skip / take (до 1000). Время в ответе — UTC.
  4. Листай, увеличивая skip на число полученных записей, пока не придёт isEndOfListReached = true.
  5. Полные данные проблемного заказа — GET /orders с orderIds.
import requests

API = "https://api.dodois.io/dodopizza/ru"
H = {"Authorization": "Bearer <token>"}
params = {"units": "<unit_uuid>", "from": "2026-10-23T00:00:00", "to": "2026-10-24T00:00:00",
          "skip": 0, "take": 1000}

stats = requests.get(f"{API}/delivery/statistics", headers=H,
                     params={k: params[k] for k in ("units", "from", "to")}).json()

pages = []
while True:
    page = requests.get(f"{API}/delivery/couriers-orders", headers=H, params=params).json()
    pages.append(page)
    if page.get("isEndOfListReached", True):
        break
    params["skip"] += params["take"]

Базовые URL

Авторизация

Тип: OAuth 2.0

OAuth 2.0 Authorization Code. Приложение создаётся в личном кабинете разработчика; токен передаётся в заголовке Authorization: Bearer <token>.

Основные scopes: shared, orders, accounting:read, deliverystatistics, sales, stopsales, staffmembers:read, staffshifts:read, unit:read, user.role:read, offline_access (получение refresh_token).

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

GET /delivery/statistics — Статистика доставки

Основные метрики доставки за период по пиццериям. Scopes: deliverystatistics, user.role:read.

Параметр Где Тип Обяз. Описание
units query string да Заведения (UUID через запятую)
from query string да Начало периода, ISO 8601
to query string да Конец периода, ISO 8601

GET /delivery/couriers-orders — Заказы курьеров

Метрики по каждому заказу курьеров; время в ответе — UTC. units — не больше 30. Scopes: deliverystatistics, user.role:read.

Параметр Где Тип Обяз. Описание
units query string да Заведения (UUID)
from query string да Начало периода, ISO 8601
to query string да Конец периода, ISO 8601
skip query integer нет Смещение, по умолчанию 0
take query integer нет Размер страницы, по умолчанию 100, максимум 1000

GET /orders — Заказы по идентификаторам

Не постраничный: возвращаются все найденные заказы, число ID ограничено; заказы недоступных заведений и неизвестные ID в ответ не попадают. Scopes: orders, user.role:read.

Параметр Где Тип Обяз. Описание
orderIds query string да ID заказов (UUID)

Нюансы

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


Если этого недостаточно — официальная документация: https://docs.dodois.io/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/dodo-is.md