Справочник · Запись
Записи и свободные слоты
Записи клиентов на услуги - те же, что в разделе «Запись» личного кабинета. Через API можно найти свободное время, записать клиента, перенести и отменить запись. Услуги, исполнители и филиалы для записи - в справочнике ниже. Запись принадлежит проекту: ключ видит записи только своих проектов.
Объект записи
Запись клиента на услугу.
objectстрокаобязателенТип объекта, всегда appointment.
Значения: appointment
iduuidобязателенid записи.
project_iduuidобязателенid проекта записи.
branch_iduuidобязателенid филиала.
service_iduuidобязателенid услуги.
service_nameстрокаобязателенможет быть nullНазвание услуги.
resource_iduuidобязателенможет быть nullid главного исполнителя записи: мастера, места или оборудования.
resource_idsмассив (uuid)обязателенid всех ресурсов, занятых записью, например мастер и кабинет. У отменённой записи пусто: время освобождено.
statusстрокаобязателенpending - ждёт подтверждения, confirmed - подтверждена, arrived - клиент пришёл, completed - визит состоялся, cancelled - отменена, no_show - клиент не пришёл.
Значения: pendingconfirmedarrivedcompletedcancelledno_show
sourceстрокаобязателенОткуда запись: api - через API, widget - виджет записи на сайте, page - страница записи, lk - сотрудник в личном кабинете, neuro_chat, neuro_voice, neuro_image - ИИ-ассистент в чате, в звонке, в ответах на комментарии, waitlist - из листа ожидания. Список значений может пополняться.
starts_atдата и время с зонойобязателенНачало визита, UTC.
ends_atдата и время с зонойобязателенКонец визита, UTC.
timezoneстрокаобязателенЧасовой пояс филиала, например Europe/Moscow. Время клиенту показывайте в нём.
guests_countцелое числообязателенСколько гостей в записи.
contact_iduuidобязателенможет быть nullid контакта клиента в CRM.
customer_nameстрокаобязателенможет быть nullИмя клиента.
customer_phoneстрокаобязателенможет быть nullТелефон клиента в E.164.
customer_emailстрокаобязателенможет быть nullEmail клиента.
conversation_iduuidобязателенможет быть nullid диалога в чате, в котором сделали запись, - тот же id, что в GET /v1/conversations/{conversation}. У записей не из чата - null.
price_amountцелое числообязателенможет быть nullЦена в копейках, как её посчитали при записи.
price_currencyстрокаобязателенможет быть nullВалюта цены, ISO 4217: RUB.
commentстрокаобязателенможет быть nullКомментарий к записи.
cancel_reasonстрокаобязателенможет быть nullПричина отмены.
cancelled_byстрокаобязателенможет быть nullКто отменил: api - через API, staff - сотрудник, client - клиент, neuro - ИИ-ассистент, system - автоматически. Список значений может пополняться. Не отменена - null.
metadataобъектобязателенможет быть nullВаши данные, переданные при создании через API. У записей из других источников - null. См. Формат данных.
created_atдата и время с зонойобязателенможет быть nullКогда запись создана, UTC.
updated_atдата и время с зонойобязателенможет быть nullКогда запись последний раз менялась, UTC.
{
"object": "appointment",
"id": "01a0d7f0-d3e1-7a2b-8c4d-5e6f7a8b9c0d",
"project_id": "01a0c4e2-3f10-7b4d-9c2e-5d8a1f6b3e20",
"branch_id": "01a0c4e2-6a2c-7d11-b3f4-7e8a9b0c1d2e",
"service_id": "01a0c4e2-7b3d-7e22-a4c5-8f9a0b1c2d3e",
"service_name": "Стрижка",
"resource_id": "01a0c4e2-8c4e-7f33-95d6-9a0b1c2d3e4f",
"resource_ids": [
"01a0c4e2-8c4e-7f33-95d6-9a0b1c2d3e4f"
],
"status": "confirmed",
"source": "api",
"starts_at": "2026-10-01T09:00:00Z",
"ends_at": "2026-10-01T10:00:00Z",
"timezone": "Europe/Moscow",
"guests_count": 1,
"contact_id": "01a0d7f0-b6c0-7a1a-82e4-2cab98a901c7",
"customer_name": "Иван",
"customer_phone": "+79991234567",
"customer_email": null,
"conversation_id": null,
"price_amount": 150000,
"price_currency": "RUB",
"comment": null,
"cancel_reason": null,
"cancelled_by": null,
"metadata": {
"visit_id": "V-2031"
},
"created_at": "2026-09-25T09:41:12Z",
"updated_at": "2026-09-25T09:41:12Z"
}/v1/appointmentsСписок записей
appointments:readЗаписи проектов ключа, от новых к старым, по страницам. Фильтры можно сочетать: например, записи мастера на день - resource_id и starts_at[gte], starts_at[lt].
Параметры запроса
limitцелое числоможет быть nullСколько объектов на странице, от 1 до 100.
По умолчанию: 20
starting_afteruuidможет быть nullid последнего объекта предыдущей страницы: страница начнётся после него. См. Пагинация.
project_iduuidможет быть nullТолько объекты этого проекта. Проекта нет в ключе - ошибка 403.
statusстрокаможет быть nullТолько записи в этом статусе.
Значения: pendingconfirmedarrivedcompletedcancelledno_show
branch_iduuidможет быть nullТолько записи этого филиала.
service_iduuidможет быть nullТолько записи на эту услугу.
resource_iduuidможет быть nullТолько записи, где занят этот ресурс: мастер, место или оборудование.
contact_iduuidможет быть nullТолько записи этого клиента - id контакта в CRM.
customer_phoneстрокаможет быть nullТолько записи с этим телефоном клиента. Номер в другой записи API приведёт к E.164.
starts_at[gte]дата и время с зонойможет быть nullВизиты, которые начинаются не раньше этого времени. Время с часовым поясом (RFC 3339).
starts_at[lt]дата и время с зонойможет быть nullВизиты, которые начинаются раньше этого времени. Время с часовым поясом (RFC 3339).
Ответы
200Страница списка записей.401Нет ключа, ключ неверный, истёк или отозван (unauthenticated).402У компании не подключено дополнение «Публичный API» (api-addon-required).403У ключа нет нужного права или доступа к проекту (forbidden).422Данные запроса не прошли проверку (validation). Какие поля и почему - в errors.429Превышен лимит запросов (rate-limited). Повторите через столько секунд, сколько указано в Retry-After.503Сервис временно недоступен (unavailable). Повторите позже.
curl https://api.ru.dialogi.io/v1/appointments \
-H "Authorization: Bearer dk_live_…"200{
"object": "list",
"data": [
{
"object": "appointment",
"id": "01a0d7f0-d3e1-7a2b-8c4d-5e6f7a8b9c0d",
"project_id": "01a0c4e2-3f10-7b4d-9c2e-5d8a1f6b3e20",
"branch_id": "01a0c4e2-6a2c-7d11-b3f4-7e8a9b0c1d2e",
"service_id": "01a0c4e2-7b3d-7e22-a4c5-8f9a0b1c2d3e",
"service_name": "Стрижка",
"resource_id": "01a0c4e2-8c4e-7f33-95d6-9a0b1c2d3e4f",
"resource_ids": [
"01a0c4e2-8c4e-7f33-95d6-9a0b1c2d3e4f"
],
"status": "confirmed",
"source": "api",
"starts_at": "2026-10-01T09:00:00Z",
"ends_at": "2026-10-01T10:00:00Z",
"timezone": "Europe/Moscow",
"guests_count": 1,
"contact_id": "01a0d7f0-b6c0-7a1a-82e4-2cab98a901c7",
"customer_name": "Иван",
"customer_phone": "+79991234567",
"customer_email": null,
"conversation_id": null,
"price_amount": 150000,
"price_currency": "RUB",
"comment": null,
"cancel_reason": null,
"cancelled_by": null,
"metadata": {
"visit_id": "V-2031"
},
"created_at": "2026-09-25T09:41:12Z",
"updated_at": "2026-09-25T09:41:12Z"
}
],
"has_more": true
}/v1/appointmentsСоздать запись
appointments:write Idempotency-Key обязателенЗаписывает клиента на услугу. Время проверяется так же, как при записи через виджет: по графику, буферам и занятости. Какое время свободно, покажет Свободное время.
Проект записи - проект услуги. Филиал - branch_id, филиал выбранного resource_id или единственный филиал проекта. Без resource_id исполнителя подберут сами.
Клиент - contact_id из CRM или customer_phone (с ним имя и email). Письма клиенту о записи уходят как при записи через виджет; notify_customer = false их выключает.
Запись создаётся подтверждённой, по цене из услуги. В прошлое записать нельзя.
Параметры тела
service_iduuidобязателенid услуги из справочника услуг.
starts_atдата и время с зонойобязателенНачало визита, время с часовым поясом (RFC 3339).
branch_iduuidможет быть nullФилиал. Обязателен, если у проекта несколько филиалов и не передан resource_id.
resource_iduuidможет быть nullИсполнитель - мастер, место или оборудование. Без него подберут свободного.
duration_minцелое числоможет быть nullДлительность в минутах - только для аренды (booking_mode = interval), в границах и с шагом услуги.
guests_countцелое числоможет быть nullСколько гостей. У аренды - не больше max_guests услуги, у остальных услуг - не больше свободных мест ресурса (capacity).
По умолчанию: 1
contact_iduuidможет быть nullКлиент - id контакта в CRM проекта услуги. Без него нужен customer_phone.
customer_nameстрокаможет быть nullИмя клиента. С contact_id - вместо имени из CRM.
customer_phoneстрокаможет быть nullТелефон клиента. Обязателен без contact_id. Номер в другой записи API приведёт к E.164.
customer_emailemailможет быть nullEmail клиента. С contact_id - вместо email из CRM.
commentстрокаможет быть nullКомментарий к записи.
notify_customerлогическоеможет быть nullfalse - не отправлять клиенту письма об этой записи.
По умолчанию: true
metadataобъектможет быть nullВаши данные: плоский объект до 50 ключей, ключ - до 40 символов и не число (10042 или -5 не подойдут), значение - строка до 500 символов, число, true/false или null. Пробелы по краям строки API убирает, пустая строка сохраняется как null. См. Формат данных.
Ответы
201Созданная запись.400Нет заголовка Idempotency-Key (idempotency-key-required) или ключ в неверном формате (idempotency-key-invalid).401Нет ключа, ключ неверный, истёк или отозван (unauthenticated).402У компании не подключено дополнение «Публичный API» (api-addon-required).403У ключа нет нужного права или доступа к проекту (forbidden).409Idempotency-Key уже использован с другим запросом (idempotency-conflict) или первый запрос с ним ещё выполняется (idempotency-in-progress). Время уже занято или на нём не хватает мест для гостей (slot-unavailable), вне графика работы (outside-working-hours) или в филиале нет исполнителя для услуги (no-resources).422Данные запроса не прошли проверку (validation). Какие поля и почему - в errors. Нельзя записать в прошлое (starts-at-in-past), услуга или филиал не найдены (service-not-found, branch-not-found), у проекта несколько филиалов, а branch_id не передан (branch-id-required), исполнитель не подходит (resource-not-eligible), клиент не найден (contact-not-found), длительность или число гостей вне правил аренды (invalid-duration, too-many-guests).429Превышен лимит запросов (rate-limited). Повторите через столько секунд, сколько указано в Retry-After.503Сервис временно недоступен (unavailable). Повторите позже.
curl https://api.ru.dialogi.io/v1/appointments \
-H "Authorization: Bearer dk_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-20195208" \
-d '{
"service_id": "0192d3a1-7b2c-7c3e-9a51-2f6b8e4d1c90",
"starts_at": "2026-10-01T12:00:00+03:00",
"guests_count": 1,
"customer_name": "Иван",
"customer_phone": "+79991234567",
"notify_customer": true
}'201{
"object": "appointment",
"id": "01a0d7f0-d3e1-7a2b-8c4d-5e6f7a8b9c0d",
"project_id": "01a0c4e2-3f10-7b4d-9c2e-5d8a1f6b3e20",
"branch_id": "01a0c4e2-6a2c-7d11-b3f4-7e8a9b0c1d2e",
"service_id": "01a0c4e2-7b3d-7e22-a4c5-8f9a0b1c2d3e",
"service_name": "Стрижка",
"resource_id": "01a0c4e2-8c4e-7f33-95d6-9a0b1c2d3e4f",
"resource_ids": [
"01a0c4e2-8c4e-7f33-95d6-9a0b1c2d3e4f"
],
"status": "confirmed",
"source": "api",
"starts_at": "2026-10-01T09:00:00Z",
"ends_at": "2026-10-01T10:00:00Z",
"timezone": "Europe/Moscow",
"guests_count": 1,
"contact_id": "01a0d7f0-b6c0-7a1a-82e4-2cab98a901c7",
"customer_name": "Иван",
"customer_phone": "+79991234567",
"customer_email": null,
"conversation_id": null,
"price_amount": 150000,
"price_currency": "RUB",
"comment": null,
"cancel_reason": null,
"cancelled_by": null,
"metadata": {
"visit_id": "V-2031"
},
"created_at": "2026-09-25T09:41:12Z",
"updated_at": "2026-09-25T09:41:12Z"
}/v1/appointments/{appointment}Получить запись
appointments:readЗапись по id. Запись из проекта, которого нет в ключе, для ключа не существует - ответ 404.
Параметры пути
appointmentuuidобязателенid записи.
Ответы
200Запись.401Нет ключа, ключ неверный, истёк или отозван (unauthenticated).402У компании не подключено дополнение «Публичный API» (api-addon-required).403У ключа нет нужного права или доступа к проекту (forbidden).404Объекта с таким id нет или он в проекте, которого нет в ключе (not-found).429Превышен лимит запросов (rate-limited). Повторите через столько секунд, сколько указано в Retry-After.503Сервис временно недоступен (unavailable). Повторите позже.
curl https://api.ru.dialogi.io/v1/appointments/0192d3a1-7b2c-7c3e-9a51-2f6b8e4d1c90 \
-H "Authorization: Bearer dk_live_…"200{
"object": "appointment",
"id": "01a0d7f0-d3e1-7a2b-8c4d-5e6f7a8b9c0d",
"project_id": "01a0c4e2-3f10-7b4d-9c2e-5d8a1f6b3e20",
"branch_id": "01a0c4e2-6a2c-7d11-b3f4-7e8a9b0c1d2e",
"service_id": "01a0c4e2-7b3d-7e22-a4c5-8f9a0b1c2d3e",
"service_name": "Стрижка",
"resource_id": "01a0c4e2-8c4e-7f33-95d6-9a0b1c2d3e4f",
"resource_ids": [
"01a0c4e2-8c4e-7f33-95d6-9a0b1c2d3e4f"
],
"status": "confirmed",
"source": "api",
"starts_at": "2026-10-01T09:00:00Z",
"ends_at": "2026-10-01T10:00:00Z",
"timezone": "Europe/Moscow",
"guests_count": 1,
"contact_id": "01a0d7f0-b6c0-7a1a-82e4-2cab98a901c7",
"customer_name": "Иван",
"customer_phone": "+79991234567",
"customer_email": null,
"conversation_id": null,
"price_amount": 150000,
"price_currency": "RUB",
"comment": null,
"cancel_reason": null,
"cancelled_by": null,
"metadata": {
"visit_id": "V-2031"
},
"created_at": "2026-09-25T09:41:12Z",
"updated_at": "2026-09-25T09:41:12Z"
}/v1/appointments/{appointment}/rescheduleПеренести запись
appointments:write Idempotency-Key поддерживаетсяПереносит запись на другое время, по желанию - к другому исполнителю. Время проверяется так же, как при создании. Перенести можно только запись, которая ещё не состоялась: pending или confirmed.
Без resource_id запись остаётся у прежнего исполнителя, и новое время должно быть свободно у него. Его свободное время покажет Свободное время с resource_id записи. Если берёте слот из общего списка, передайте и resource_id этого слота.
Параметры пути
appointmentuuidобязателенid записи.
Параметры тела
starts_atдата и время с зонойобязателенНовое начало визита, время с часовым поясом (RFC 3339).
resource_iduuidможет быть nullДругой исполнитель того же филиала, например resource_id из слота. Без него запись остаётся у прежнего исполнителя.
notify_customerлогическоеможет быть nullfalse - не отправлять клиенту письмо о переносе.
По умолчанию: true
Ответы
200Запись после переноса.400Idempotency-Key в неверном формате (idempotency-key-invalid).401Нет ключа, ключ неверный, истёк или отозван (unauthenticated).402У компании не подключено дополнение «Публичный API» (api-addon-required).403У ключа нет нужного права или доступа к проекту (forbidden).404Объекта с таким id нет или он в проекте, которого нет в ключе (not-found).409Idempotency-Key уже использован с другим запросом (idempotency-conflict) или первый запрос с ним ещё выполняется (idempotency-in-progress). Запись в этом статусе нельзя перенести (appointment-not-reschedulable), услугу записи выключили (service-inactive). Время уже занято (slot-unavailable), вне графика работы (outside-working-hours) или в филиале нет исполнителя для услуги (no-resources).422Данные запроса не прошли проверку (validation). Какие поля и почему - в errors. Нельзя перенести в прошлое (starts-at-in-past) или исполнитель не подходит (resource-not-eligible).429Превышен лимит запросов (rate-limited). Повторите через столько секунд, сколько указано в Retry-After.503Сервис временно недоступен (unavailable). Повторите позже.
curl https://api.ru.dialogi.io/v1/appointments/0192d3a1-7b2c-7c3e-9a51-2f6b8e4d1c90/reschedule \
-H "Authorization: Bearer dk_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-20195208" \
-d '{
"starts_at": "2026-10-02T15:00:00+03:00",
"notify_customer": true
}'200{
"object": "appointment",
"id": "01a0d7f0-d3e1-7a2b-8c4d-5e6f7a8b9c0d",
"project_id": "01a0c4e2-3f10-7b4d-9c2e-5d8a1f6b3e20",
"branch_id": "01a0c4e2-6a2c-7d11-b3f4-7e8a9b0c1d2e",
"service_id": "01a0c4e2-7b3d-7e22-a4c5-8f9a0b1c2d3e",
"service_name": "Стрижка",
"resource_id": "01a0c4e2-8c4e-7f33-95d6-9a0b1c2d3e4f",
"resource_ids": [
"01a0c4e2-8c4e-7f33-95d6-9a0b1c2d3e4f"
],
"status": "confirmed",
"source": "api",
"starts_at": "2026-10-01T09:00:00Z",
"ends_at": "2026-10-01T10:00:00Z",
"timezone": "Europe/Moscow",
"guests_count": 1,
"contact_id": "01a0d7f0-b6c0-7a1a-82e4-2cab98a901c7",
"customer_name": "Иван",
"customer_phone": "+79991234567",
"customer_email": null,
"conversation_id": null,
"price_amount": 150000,
"price_currency": "RUB",
"comment": null,
"cancel_reason": null,
"cancelled_by": null,
"metadata": {
"visit_id": "V-2031"
},
"created_at": "2026-09-25T09:41:12Z",
"updated_at": "2026-09-25T09:41:12Z"
}/v1/appointments/{appointment}/cancelОтменить запись
appointments:write Idempotency-Key поддерживаетсяОтменяет запись и освобождает время. Повторная отмена уже отменённой записи - не ошибка: ответ 200 с той же записью. Состоявшийся визит отменить нельзя.
Параметры пути
appointmentuuidобязателенid записи.
Параметры тела
reasonстрокаможет быть nullПричина отмены.
notify_customerлогическоеможет быть nullfalse - не отправлять клиенту письмо об отмене.
По умолчанию: true
Ответы
200Отменённая запись.400Idempotency-Key в неверном формате (idempotency-key-invalid).401Нет ключа, ключ неверный, истёк или отозван (unauthenticated).402У компании не подключено дополнение «Публичный API» (api-addon-required).403У ключа нет нужного права или доступа к проекту (forbidden).404Объекта с таким id нет или он в проекте, которого нет в ключе (not-found).409Idempotency-Key уже использован с другим запросом (idempotency-conflict) или первый запрос с ним ещё выполняется (idempotency-in-progress). Запись в этом статусе нельзя отменить (appointment-not-cancellable).422Данные запроса не прошли проверку (validation). Какие поля и почему - в errors.429Превышен лимит запросов (rate-limited). Повторите через столько секунд, сколько указано в Retry-After.503Сервис временно недоступен (unavailable). Повторите позже.
curl https://api.ru.dialogi.io/v1/appointments/0192d3a1-7b2c-7c3e-9a51-2f6b8e4d1c90/cancel \
-H "Authorization: Bearer dk_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-20195208" \
-d '{
"reason": "Клиент перенёс поездку",
"notify_customer": true
}'200{
"object": "appointment",
"id": "01a0d7f0-d3e1-7a2b-8c4d-5e6f7a8b9c0d",
"project_id": "01a0c4e2-3f10-7b4d-9c2e-5d8a1f6b3e20",
"branch_id": "01a0c4e2-6a2c-7d11-b3f4-7e8a9b0c1d2e",
"service_id": "01a0c4e2-7b3d-7e22-a4c5-8f9a0b1c2d3e",
"service_name": "Стрижка",
"resource_id": "01a0c4e2-8c4e-7f33-95d6-9a0b1c2d3e4f",
"resource_ids": [
"01a0c4e2-8c4e-7f33-95d6-9a0b1c2d3e4f"
],
"status": "confirmed",
"source": "api",
"starts_at": "2026-10-01T09:00:00Z",
"ends_at": "2026-10-01T10:00:00Z",
"timezone": "Europe/Moscow",
"guests_count": 1,
"contact_id": "01a0d7f0-b6c0-7a1a-82e4-2cab98a901c7",
"customer_name": "Иван",
"customer_phone": "+79991234567",
"customer_email": null,
"conversation_id": null,
"price_amount": 150000,
"price_currency": "RUB",
"comment": null,
"cancel_reason": null,
"cancelled_by": null,
"metadata": {
"visit_id": "V-2031"
},
"created_at": "2026-09-25T09:41:12Z",
"updated_at": "2026-09-25T09:41:12Z"
}/v1/slotsСвободное время
appointments:readСвободное время услуги в филиале в окне from - to не шире 31 дня. Учитывает график, буферы и занятость - то же время, что видит виджет записи. Прошедшее время в ответ не попадает.
Параметры запроса
service_iduuidобязателенid услуги.
fromдата и время с зонойобязателенНачало окна поиска, время с часовым поясом (RFC 3339).
toдата и время с зонойобязателенКонец окна поиска, время с часовым поясом (RFC 3339). Позже from, не дальше 31 дня от него.
branch_iduuidможет быть nullФилиал. Обязателен, если у проекта несколько филиалов и не передан resource_id.
resource_iduuidможет быть nullТолько время этого исполнителя.
guestsцелое числоможет быть nullСколько гостей - для услуг и мест на несколько человек.
По умолчанию: 1
limitцелое числоможет быть nullСколько слотов или окон вернуть, от 1 до 200.
По умолчанию: 100
Ответы
200Свободное время.401Нет ключа, ключ неверный, истёк или отозван (unauthenticated).402У компании не подключено дополнение «Публичный API» (api-addon-required).403У ключа нет нужного права или доступа к проекту (forbidden).422Данные запроса не прошли проверку (validation). Какие поля и почему - в errors. Услуга или филиал не найдены (service-not-found, branch-not-found), у проекта несколько филиалов, а branch_id не передан (branch-id-required), исполнитель не подходит (resource-not-eligible).429Превышен лимит запросов (rate-limited). Повторите через столько секунд, сколько указано в Retry-After.503Сервис временно недоступен (unavailable). Повторите позже.
curl "https://api.ru.dialogi.io/v1/slots?service_id=0192d3a1-7b2c-7c3e-9a51-2f6b8e4d1c90&from=2026-10-01T00%3A00%3A00%2B03%3A00&to=2026-10-08T00%3A00%3A00%2B03%3A00" \
-H "Authorization: Bearer dk_live_…"200{
"object": "availability",
"service_id": "01a0c4e2-7b3d-7e22-a4c5-8f9a0b1c2d3e",
"project_id": "01a0c4e2-3f10-7b4d-9c2e-5d8a1f6b3e20",
"branch_id": "01a0c4e2-6a2c-7d11-b3f4-7e8a9b0c1d2e",
"mode": "fixed",
"timezone": "Europe/Moscow",
"duration_min": 60,
"min_duration_min": null,
"max_duration_min": null,
"duration_step_min": null,
"slots": [
{
"starts_at": "2026-10-01T09:00:00Z",
"ends_at": "2026-10-01T10:00:00Z",
"resource_id": "01a0c4e2-8c4e-7f33-95d6-9a0b1c2d3e4f"
},
{
"starts_at": "2026-10-01T10:00:00Z",
"ends_at": "2026-10-01T11:00:00Z",
"resource_id": "01a0c4e2-8c4e-7f33-95d6-9a0b1c2d3e4f"
}
],
"windows": [],
"has_more": false
}/v1/servicesСписок услуг
appointments:readАктивные услуги проектов ключа - на них можно записать. Отсюда берут service_id для записи и свободного времени.
Параметры запроса
limitцелое числоможет быть nullСколько объектов на странице, от 1 до 100.
По умолчанию: 20
starting_afteruuidможет быть nullid последнего объекта предыдущей страницы: страница начнётся после него. См. Пагинация.
project_iduuidможет быть nullТолько объекты этого проекта. Проекта нет в ключе - ошибка 403.
Ответы
200Страница списка услуг.401Нет ключа, ключ неверный, истёк или отозван (unauthenticated).402У компании не подключено дополнение «Публичный API» (api-addon-required).403У ключа нет нужного права или доступа к проекту (forbidden).422Данные запроса не прошли проверку (validation). Какие поля и почему - в errors.429Превышен лимит запросов (rate-limited). Повторите через столько секунд, сколько указано в Retry-After.503Сервис временно недоступен (unavailable). Повторите позже.
curl https://api.ru.dialogi.io/v1/services \
-H "Authorization: Bearer dk_live_…"200{
"object": "list",
"data": [
{
"object": "service",
"id": "01a0c4e2-7b3d-7e22-a4c5-8f9a0b1c2d3e",
"project_id": "01a0c4e2-3f10-7b4d-9c2e-5d8a1f6b3e20",
"name": "Стрижка",
"description": null,
"booking_mode": "fixed",
"duration_min": 60,
"min_duration_min": null,
"max_duration_min": null,
"duration_step_min": null,
"max_guests": null,
"price_amount": 150000,
"price_currency": "RUB",
"price_unit": "service",
"online_bookable": true,
"created_at": "2026-08-20T07:00:00Z",
"updated_at": "2026-09-01T12:30:00Z"
}
],
"has_more": true
}/v1/resourcesСписок исполнителей
appointments:readАктивные исполнители и ресурсы: мастера, места и оборудование. С service_id - только те, к кому можно записать на эту услугу.
Параметры запроса
limitцелое числоможет быть nullСколько объектов на странице, от 1 до 100.
По умолчанию: 20
starting_afteruuidможет быть nullid последнего объекта предыдущей страницы: страница начнётся после него. См. Пагинация.
project_iduuidможет быть nullТолько объекты этого проекта. Проекта нет в ключе - ошибка 403.
branch_iduuidможет быть nullТолько ресурсы этого филиала.
kindстрокаможет быть nullperson - мастера, place - места, item - оборудование.
Значения: personplaceitem
service_iduuidможет быть nullТолько те, к кому можно записать на эту услугу.
Ответы
200Страница списка исполнителей и ресурсов.401Нет ключа, ключ неверный, истёк или отозван (unauthenticated).402У компании не подключено дополнение «Публичный API» (api-addon-required).403У ключа нет нужного права или доступа к проекту (forbidden).422Данные запроса не прошли проверку (validation). Какие поля и почему - в errors. Услуга не найдена (service-not-found).429Превышен лимит запросов (rate-limited). Повторите через столько секунд, сколько указано в Retry-After.503Сервис временно недоступен (unavailable). Повторите позже.
curl https://api.ru.dialogi.io/v1/resources \
-H "Authorization: Bearer dk_live_…"200{
"object": "list",
"data": [
{
"object": "resource",
"id": "01a0c4e2-8c4e-7f33-95d6-9a0b1c2d3e4f",
"project_id": "01a0c4e2-3f10-7b4d-9c2e-5d8a1f6b3e20",
"branch_id": "01a0c4e2-6a2c-7d11-b3f4-7e8a9b0c1d2e",
"kind": "person",
"name": "Марина",
"position_title": "Стилист",
"capacity": 1,
"timezone": "Europe/Moscow",
"created_at": "2026-08-20T07:00:00Z",
"updated_at": "2026-08-20T07:00:00Z"
}
],
"has_more": true
}/v1/branchesСписок филиалов
appointments:readАктивные филиалы проектов ключа. Отсюда берут branch_id, если у проекта несколько филиалов.
Параметры запроса
limitцелое числоможет быть nullСколько объектов на странице, от 1 до 100.
По умолчанию: 20
starting_afteruuidможет быть nullid последнего объекта предыдущей страницы: страница начнётся после него. См. Пагинация.
project_iduuidможет быть nullТолько объекты этого проекта. Проекта нет в ключе - ошибка 403.
Ответы
200Страница списка филиалов.401Нет ключа, ключ неверный, истёк или отозван (unauthenticated).402У компании не подключено дополнение «Публичный API» (api-addon-required).403У ключа нет нужного права или доступа к проекту (forbidden).422Данные запроса не прошли проверку (validation). Какие поля и почему - в errors.429Превышен лимит запросов (rate-limited). Повторите через столько секунд, сколько указано в Retry-After.503Сервис временно недоступен (unavailable). Повторите позже.
curl https://api.ru.dialogi.io/v1/branches \
-H "Authorization: Bearer dk_live_…"200{
"object": "list",
"data": [
{
"object": "branch",
"id": "01a0c4e2-6a2c-7d11-b3f4-7e8a9b0c1d2e",
"project_id": "01a0c4e2-3f10-7b4d-9c2e-5d8a1f6b3e20",
"name": "Центр",
"address": "Москва, Тверская, 1",
"phone": "+74950000000",
"timezone": "Europe/Moscow",
"created_at": "2026-08-20T07:00:00Z",
"updated_at": "2026-08-20T07:00:00Z"
}
],
"has_more": true
}