Получать изменения рейсов исполнителя

Статья обновлена November 12, 2026

Стенд по умолчанию — test. Только чтение. Порядок работы для агента.

Используйте общий порядок синхронизации. Для чтения ленты рейсов нужно право flight_view_changes_exec, для чтения карточек рейсов — flight_get_task. Если синхронизируете одну организацию, до получения курсора попросите её администратора подтвердить права профиля. Метод получения профилей показывает роль, а пустая порция ленты не подтверждает доступ к организации. При недоступном executorId метод начального курсора может использовать все доступные организации.

  1. Если курсора рейсов нет, вызовите POST /api/flight/changesForExecutors/getLastLogId/v0 и передайте границу чтения в data.toTime.
  2. Читайте порцию через POST /api/flight/changesForExecutors/get/v0. Передайте сохранённый курсор рейсов в data.lastId, размер порции — в data.limit. Для одной организации передайте её идентификатор в data.executorId в обоих запросах.
  3. При data.changes: [] завершите обработку порции без запроса деталей. При отсутствии массива остановитесь и проверьте ответ. При синхронизации одной организации сверьте data.changes[].executorId каждой записи. Если проверка не прошла, оставьте курсор прежним.
  4. Если нужны детали, соберите непустые flightId из записей и вызовите POST /api/flights/v1/listForExecutor с этим списком в data.ids. Для одной организации передайте её идентификатор в массиве data.executorIds и проверьте текущего исполнителя в data.flights[].executerId. Если он сменился, обработайте карточку как недоступную в выбранной организации.

В data.changes[].orderId перечислены связанные заказы записи ленты. Для синхронизации самих заказов используйте ленту изменений заказов исполнителя с её курсором.