Документация
API
Формат запросов, ответов и справочник полей для интеграций.
Организации
Поля формы организации используются при создании и сохранении организации через API кабинета. Список и получение одной организации возвращают разный набор полей: это отмечено в таблице.
URL организаций
Для организаций используется общий API данных с именем раздела organizations.
| Метод | URL | Описание |
|---|---|---|
GET | /api/?mod=data&data=organizations | Получить список организаций текущего пользователя. |
GET | /api/?mod=data&data=organizations&id=ID | Получить одну организацию по id. |
POST | /api/?mod=save_data&data=organizations | Создать новую организацию или сохранить существующую. Для обновления передайте id в теле запроса. |
| Поле | Тип | Обязательное | Default | Значения | Сохранение | Список | Карточка | Описание |
|---|---|---|---|---|---|---|---|---|
public_name | string | Да | Нет | Любое | Название, которое видят клиенты и пользователи кабинета. | |||
type | select | Да | Нет | service_studiomedicaleducationsportother | Категория деятельности организации. | |||
id | number | Нет | Нет | Любое | Идентификатор существующей организации. При создании не передается. | |||
uid | string | Нет | auto | Любое | Публичный технический идентификатор, генерируется сервером. | |||
uri | string | Нет | Нет | Любое | Человекочитаемый адрес публичной страницы организации. | |||
description | string | Нет | Нет | Любое | Краткое описание для публичных сценариев и виджета. | |||
phone | string | Нет | Нет | Любое | Рабочий телефон организации. | |||
email | string | Нет | Нет | Любое | Рабочий email организации. | |||
website | string | Нет | Нет | Любое | Сайт организации. | |||
address | string | Нет | Нет | Любое | Адрес точки обслуживания или офиса. | |||
address_data | json | Нет | Нет | Любое | Структурные данные адреса: строка адреса, координаты и подсказка как добраться. | |||
timezone | timezone | Нет | Europe/Moscow | IANA-таймзона организации. | ||||
language | select | Нет | ru | ruen | Основной язык организации. | |||
currency | select | Нет | RUB | RUBUSDEUR | Валюта по умолчанию для услуг. | |||
day_start | time | Нет | 10:00:00 | Любое | Начало рабочего дня в формате HH:mm или HH:mm:ss. | |||
day_end | time | Нет | 18:00:00 | Любое | Окончание рабочего дня, должно быть позже начала. | |||
use_ru_production_calendar | boolean | Нет | false | falsetrue | Учитывать российский производственный календарь. | |||
slot_step | number | Нет | 60 | Любое | Минимальный шаг записи в минутах. | |||
min_lead_time | number | Нет | 1440 | Любое | Минимальное время до записи в минутах. | |||
booking_horizon_days | number | Нет | 5 | Любое | Горизонт записи в днях, целое число от 1 до 365. | |||
client_confirmation_enabled | boolean | Нет | false | falsetrue | Запрашивать у клиента подтверждение записи. | |||
client_confirmation_lead_time | number | Нет | 180 | Любое | Интервал в минутах внутри ежедневных часов day_start–day_end. Ночные часы пропускаются, дни недели и производственный календарь не учитываются. | |||
allow_client_cancel | boolean | Нет | true | falsetrue | Разрешить клиенту самостоятельную отмену записи. | |||
collect_feedback | boolean | Нет | true | falsetrue | Предлагать клиенту оценить состоявшийся визит. Настройка включена по умолчанию и проверяется при выполнении действия complete. |
Ответы с ошибками
Если запрос не выполнен, API возвращает ok=false и числовой code. Подробности по полям передаются в errors[].type.
| Код | Когда возникает | Ответ |
|---|---|---|
16 | Не переданы обязательные public_name или type, либо обязательные кастомные поля организации. | required со списком незаполненных полей. |
17 | Поля организации переданы, но не прошли проверку типа, списка значений, времени, числа или тарифа. | errors со списком ошибок полей. |
11-14 | Нет доступа к организации, созданию, сохранению или превышен лимит тарифа. | message с причиной отказа. |
| Тип ошибки | Поле | Когда возникает |
|---|---|---|
select_error | type, language, currency | Значение не входит в разрешенный список. |
invalid_timezone | timezone | Таймзона не входит в справочник IANA-зон. |
time_error | day_start, day_end | Время не соответствует HH:mm или окончание дня не позже начала. |
number_error | slot_step, min_lead_time, booking_horizon_days, client_confirmation_lead_time | Ожидается положительное целое число. |
tariff_error | uri | Смена адреса страницы uri доступна только на тарифе Pro. |