Справочник · Запись

Записи и свободные слоты

Записи клиентов на услуги - те же, что в разделе «Запись» личного кабинета. Через API можно найти свободное время, записать клиента, перенести и отменить запись. Услуги, исполнители и филиалы для записи - в справочнике ниже. Запись принадлежит проекту: ключ видит записи только своих проектов.

Объект записи

Запись клиента на услугу.

objectстрокаобязателен

Тип объекта, всегда appointment.

Значения: appointment

iduuidобязателен

id записи.

project_iduuidобязателен

id проекта записи.

branch_iduuidобязателен

id филиала.

service_iduuidобязателен

id услуги.

service_nameстрокаобязателенможет быть null

Название услуги.

resource_iduuidобязателенможет быть null

id главного исполнителя записи: мастера, места или оборудования.

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обязателенможет быть null

id контакта клиента в CRM.

customer_nameстрокаобязателенможет быть null

Имя клиента.

customer_phoneстрокаобязателенможет быть null

Телефон клиента в E.164.

customer_emailстрокаобязателенможет быть null

Email клиента.

conversation_iduuidобязателенможет быть null

id диалога в чате, в котором сделали запись, - тот же 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"
}
GET/v1/appointments

Список записей

Право: appointments:read

Записи проектов ключа, от новых к старым, по страницам. Фильтры можно сочетать: например, записи мастера на день - resource_id и starts_at[gte], starts_at[lt].

Параметры запроса

limitцелое числоможет быть null

Сколько объектов на странице, от 1 до 100.

По умолчанию: 20

starting_afteruuidможет быть null

id последнего объекта предыдущей страницы: страница начнётся после него. См. Пагинация.

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
}
POST/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может быть null

Email клиента. С contact_id - вместо email из CRM.

commentстрокаможет быть null

Комментарий к записи.

notify_customerлогическоеможет быть null

false - не отправлять клиенту письма об этой записи.

По умолчанию: 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"
}
GET/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"
}
POST/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логическоеможет быть null

false - не отправлять клиенту письмо о переносе.

По умолчанию: 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"
}
POST/v1/appointments/{appointment}/cancel

Отменить запись

Право: appointments:write Idempotency-Key поддерживается

Отменяет запись и освобождает время. Повторная отмена уже отменённой записи - не ошибка: ответ 200 с той же записью. Состоявшийся визит отменить нельзя.

Параметры пути

appointmentuuidобязателен

id записи.

Параметры тела

reasonстрокаможет быть null

Причина отмены.

notify_customerлогическоеможет быть null

false - не отправлять клиенту письмо об отмене.

По умолчанию: 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"
}
GET/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
}
GET/v1/services

Список услуг

Право: appointments:read

Активные услуги проектов ключа - на них можно записать. Отсюда берут service_id для записи и свободного времени.

Параметры запроса

limitцелое числоможет быть null

Сколько объектов на странице, от 1 до 100.

По умолчанию: 20

starting_afteruuidможет быть null

id последнего объекта предыдущей страницы: страница начнётся после него. См. Пагинация.

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
}
GET/v1/resources

Список исполнителей

Право: appointments:read

Активные исполнители и ресурсы: мастера, места и оборудование. С service_id - только те, к кому можно записать на эту услугу.

Параметры запроса

limitцелое числоможет быть null

Сколько объектов на странице, от 1 до 100.

По умолчанию: 20

starting_afteruuidможет быть null

id последнего объекта предыдущей страницы: страница начнётся после него. См. Пагинация.

project_iduuidможет быть null

Только объекты этого проекта. Проекта нет в ключе - ошибка 403.

branch_iduuidможет быть null

Только ресурсы этого филиала.

kindстрокаможет быть null

person - мастера, 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
}
GET/v1/branches

Список филиалов

Право: appointments:read

Активные филиалы проектов ключа. Отсюда берут branch_id, если у проекта несколько филиалов.

Параметры запроса

limitцелое числоможет быть null

Сколько объектов на странице, от 1 до 100.

По умолчанию: 20

starting_afteruuidможет быть null

id последнего объекта предыдущей страницы: страница начнётся после него. См. Пагинация.

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
}