Dodo IS API: Выгрузить смены сотрудников для расчёта зарплаты

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

Отработанные часы и доставленные заказы за период — в свою систему расчёта зарплаты или премий курьерам.

  1. Получи scopes staffshifts:read, staffmembers:read и user.role:read.
  2. Запроси смены: GET /staff/shifts с units, clockInFrom и clockInTo (смены выбираются по времени начала), при необходимости staffTypeName. В сменах — дневные, ночные и праздничные часы в минутах, доставленные заказы и расстояние.
  3. Листай по skip и take до isEndOfListReached = true.
  4. Имена и статусы сотрудников — GET /staff/members с units и statuses. Это персональные данные: храни их по правилам 152-ФЗ.
  5. Кто сейчас на смене — GET /staff/couriers-on-shift с units.
curl -G "https://api.dodois.io/dodopizza/ru/staff/shifts" \
  -H "Authorization: Bearer $DODO_TOKEN" \
  -d units=<unit_uuid> \
  -d clockInFrom=2026-10-01T00:00:00 -d clockInTo=2026-10-16T00:00:00 \
  -d skip=0 -d take=1000

Базовые 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 /staff/members — Список сотрудников

Сортировка по дате трудоустройства (hiredOn); содержит персональные данные. Scopes: staffmembers:read, user.role:read.

Параметр Где Тип Обяз. Описание
units query string нет Заведения (UUID)
staffType query string нет Тип сотрудников (одно значение)
statuses query string нет Статусы через запятую, например Dismissed, Suspended
hiredFrom query string нет Дата трудоустройства, с
hiredTo query string нет Дата трудоустройства, по
dismissedFrom query string нет Дата увольнения, с
dismissedTo query string нет Дата увольнения, по
lastModifiedFrom query string нет Дата изменения, с
lastModifiedTo query string нет Дата изменения, по
skip query integer нет Смещение
take query integer нет По умолчанию 100, максимум 1000

GET /staff/shifts — Смены сотрудников по пиццериям

Отработанное время (дневные, ночные, праздничные часы в минутах), доставленные заказы, расстояние. Смены выбираются по времени начала. Scopes: staffshifts:read, user.role:read.

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

GET /staff/couriers-on-shift — Курьеры на смене

В units — до 30 заведений. Scopes: staffshifts:read, user.role:read.

Параметр Где Тип Обяз. Описание
units query string да Заведения (UUID)
on query string нет Момент времени в прошлом; по умолчанию — текущий

Нюансы

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


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