Смены
Смена — это период для планирования работы агентов, например дневная или ночная смена. Вы можете указать время начала и окончания, периодичность смены, списки задач и агентов. Смены могут пересекаться: несколько смен с агентами (в том числе с одними и теми же) могут проходить одновременно. Подробнее о сменах см. в разделе Смены Руководства администратора.
Получение списка смен
Вы можете получить список смен за заданный период с данными о них: ID, названием, датой и временем создания и обновления, часовым поясом, признаком, что смена продолжается сутки, датой и временем начала и окончания смены.
Чтобы получить список смен, отправьте GET-запрос к /v1/shifts со следующими параметрами:
from— дата и время начала периода в формате RFC 3339.to— дата и время окончания периода в формате RFC 3339.limit— максимальное число смен в ответе, от 1 до 100.
Пример запроса:
curl --request GET \
--url 'https://geoflow.2gis.ru/public/api/v1/shifts?from=2026-09-15T00:00:00Z&to=2026-09-17T00:00:00Z&limit=10' \
--header 'Authorization: Bearer <token>'
Пример ответа:
response.json
{
"items": [
{
"id": "75692d4b-8da0-442e-a5a2-1c6ef561c7ad",
"name": "Смена-1789456582",
"start_at": "2026-09-15T07:16:25Z",
"end_at": "2026-09-15T15:16:22Z",
"timezone": "Asia/Novosibirsk",
"full_day": false,
"created_at": "2026-09-15T07:16:22.03358Z",
"updated_at": "2026-09-15T07:16:34.400014Z"
},
{
"id": "014c49db-76c5-43c4-9cd6-e7578b1dc573",
"name": "Смена-1789456710",
"start_at": "2026-09-15T07:18:32Z",
"end_at": "2026-09-15T15:18:29Z",
"timezone": "Asia/Novosibirsk",
"full_day": false,
"created_at": "2026-09-15T07:18:29.289052Z",
"updated_at": "2026-09-15T07:18:41.726039Z"
},
{
"id": "e820bf1f-9edd-4b76-a423-62b700efa92a",
"name": "Смена-1789456828",
"start_at": "2026-09-15T07:20:30Z",
"end_at": "2026-09-15T15:20:27Z",
"timezone": "Asia/Novosibirsk",
"full_day": false,
"created_at": "2026-09-15T07:20:27.251107Z",
"updated_at": "2026-09-15T07:20:39.597549Z"
},
{
"id": "a494744d-44b8-41ac-a3a9-80d37299b398",
"name": "Смена-1789566599",
"start_at": "2026-09-16T13:50:01Z",
"end_at": "2026-09-16T21:49:58Z",
"timezone": "Asia/Novosibirsk",
"full_day": false,
"created_at": "2026-09-16T13:49:58.004265Z",
"updated_at": "2026-09-16T13:50:01.591082Z"
}
],
"cursor": {}
}
Получение смены по ID
Вы можете получить данные смены по её идентификатору: название, дату и время создания и обновления, часовой пояс, дату и время начала смены, дату и время окончания смены и флаг, что смена продолжается сутки.
Чтобы получить данные смены, отправьте GET-запрос к /v1/shifts/{id}, где {id} — идентификатор смены.
Пример запроса:
curl --request GET \
--url 'https://geoflow.2gis.ru/public/api/v1/shifts/26307c36-6aad-47d5-8e8b-0425f96f9b27' \
--header 'Authorization: Bearer <token>'
Пример ответа:
response.json
{
"id": "26307c36-6aad-47d5-8e8b-0425f96f9b27",
"name": "Утренняя смена",
"start_at": "2026-09-18T10:00:00Z",
"end_at": "2026-09-18T18:00:00Z",
"timezone": "Europe/Moscow",
"full_day": false,
"created_at": "2026-09-17T09:32:53.603679Z",
"updated_at": "2026-09-17T09:32:53.603679Z"
}
Создание смены
Чтобы создать смену, отправьте POST-запрос к /v1/shifts со следующими параметрами:
name(обязательный параметр) — название смены.timezone(обязательный параметр) — часовой пояс в формате IANA (например,Europe/Moscow).start_at— дата и время начала смены в формате RFC 3339.end_at— дата и время окончания смены в формате RFC 3339.full_day— признак, что смена продолжается сутки (соответствует чекбоксу Весь день в веб-панели администратора).
Пример запроса:
curl --request POST \
--url 'https://geoflow.2gis.ru/public/api/v1/shifts' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "Утренняя смена",
"timezone": "Europe/Moscow",
"start_at": "2026-09-18T10:00:00Z",
"end_at": "2026-09-18T18:00:00Z",
"full_day": false
}'
Пример ответа:
response.json
{
"id": "26307c36-6aad-47d5-8e8b-0425f96f9b27",
"name": "Утренняя смена",
"start_at": "2026-09-18T10:00:00Z",
"end_at": "2026-09-18T18:00:00Z",
"timezone": "Europe/Moscow",
"full_day": false,
"created_at": "2026-09-17T09:32:53.603679Z",
"updated_at": "2026-09-17T09:32:53.603679Z"
}
Обновление смены
Чтобы обновить данные смены, отправьте PUT-запрос к /v1/shifts/{id}, где {id} — идентификатор смены, и передайте в теле запроса новые данные.
Пример запроса:
curl --request PUT \
--url 'https://geoflow.2gis.ru/public/api/v1/shifts/26307c36-6aad-47d5-8e8b-0425f96f9b27' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "Дневная смена",
"timezone": "Europe/Moscow",
"start_at": "2026-09-20T12:00:00Z",
"end_at": "2026-09-20T17:00:00Z",
"full_day": false
}'
Пример ответа:
response.json
{
"id": "26307c36-6aad-47d5-8e8b-0425f96f9b27",
"name": "Дневная смена",
"start_at": "2026-09-20T12:00:00Z",
"end_at": "2026-09-20T17:00:00Z",
"timezone": "Europe/Moscow",
"full_day": false,
"created_at": "2026-09-17T09:32:53.603679Z",
"updated_at": "2026-09-17T09:41:47.02996Z"
}
Удаление смены
Восстановить смену после удаления невозможно.
Чтобы удалить смену, отправьте DELETE-запрос к /v1/shifts/{id}, где {id} — идентификатор смены.
Пример запроса:
curl --request DELETE \
--url 'https://geoflow.2gis.ru/public/api/v1/shifts/26307c36-6aad-47d5-8e8b-0425f96f9b27' \
--header 'Authorization: Bearer <token>'
При успешном удалении вернётся ответ со статусом 204 No Content.
Получение назначений смены
Вы можете получить список агентов, добавленных в смену, и список задач смены с назначенными агентами.
Чтобы получить назначения смены, отправьте GET-запрос к /v1/shifts/{id}/assignments, где {id} — идентификатор смены.
Пример запроса:
curl --request GET \
--url 'https://geoflow.2gis.ru/public/api/v1/shifts/75692d4b-8da0-442e-a5a2-1c6ef561c7ad/assignments' \
--header 'Authorization: Bearer <token>'
Пример ответа:
response.json
{
"shift_id": "75692d4b-8da0-442e-a5a2-1c6ef561c7ad",
"agent_assignments": [
{
"agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978"
}
],
"task_assignments": [
{
"task_id": "736fde4d-9029-4915-8189-01353d6982cb",
"agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
"created_at": "2026-09-15T07:20:39.597549Z",
"updated_at": "2026-09-15T07:20:39.597549Z"
}
]
}
Обновление назначений смены
Вы можете обновить назначения смены: список агентов и задач.
Чтобы обновить назначения смены, отправьте POST-запрос к /v1/shifts/{id}/assignments, где {id} — идентификатор смены, со следующими параметрами:
-
agent_ids— список идентификаторов агентов, которых нужно добавить в смену. -
task_assignments— список назначений задач:task_id(обязательный параметр) — идентификатор задачи.agent_id— идентификатор агента, назначенного на задачу.
Пример запроса:
curl --request POST \
--url 'https://geoflow.2gis.ru/public/api/v1/shifts/75692d4b-8da0-442e-a5a2-1c6ef561c7ad/assignments' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"agent_ids": [
"82fb1fd7-9a98-4f49-81fa-2f380a8cba0e"
],
"task_assignments": [
{
"task_id": "736fde4d-9029-4915-8189-01353d6982cb",
"agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978"
}
]
}'
Пример ответа:
response.json
{
"shift_id": "75692d4b-8da0-442e-a5a2-1c6ef561c7ad",
"agent_assignments": [
{
"agent_id": "82fb1fd7-9a98-4f49-81fa-2f380a8cba0e"
},
{
"agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978"
}
],
"task_assignments": [
{
"task_id": "736fde4d-9029-4915-8189-01353d6982cb",
"agent_id": "2b1e3b65-2c04-4fa2-a2d7-467901e98978",
"created_at": "2026-09-18T09:42:11Z",
"updated_at": "2026-09-18T09:42:11Z"
}
]
}