Документация
API
Формат запросов, ответов и справочник полей для интеграций.
Услуги
Справочник описывает основные и дополнительные услуги. Дополнительная услуга отличается значением is_additional=true.
URL методов
Для работы с услугами используйте значение data=services.
| Метод | URL | Описание |
|---|---|---|
GET | /api/?mod=data&data=services | Получить список услуг текущей организации. |
GET | /api/?mod=data&data=services&id=ID | Получить одну услугу по id. |
POST | /api/?mod=save_data&data=services | Создать или обновить услугу. Для создания id не передается. |
POST | /api/?mod=delete_data&data=services&id=ID | Удалить услугу по id. После успешного запроса услуга больше не возвращается в ответах API. |
| Поле | Тип | Обязательное | Default | Значения | Сохранение | Список | Карточка | Описание |
|---|---|---|---|---|---|---|---|---|
name | string | Да | Нет | Любое | Название услуги, которое видят клиенты и пользователи кабинета. | |||
price | number | Да | Нет | Любое | Цена услуги — десятичное число от 0 до 9999999999,99, не более двух знаков после запятой. | |||
id | number | Нет | Нет | Любое | Идентификатор существующей услуги. При создании не передается. | |||
sort_order | number | Нет | auto | Любое | Позиция услуги в сортировке списка. Заполняется сервером. | |||
description | string | Нет | Нет | Любое | Описание услуги для карточки и виджета. | |||
group_id | number | Нет | 0 | Любое | Идентификатор группы услуг. Значение 0 означает отсутствие группы. | |||
additional_services | array | Нет | Нет | Любое | Список id дополнительных услуг, которые можно предложить вместе с основной услугой. Пример: [12, 15]. | |||
is_additional | boolean | Нет | false | falsetrue | Признак дополнительной услуги. | |||
photo | image | Нет | Нет | Любое | Изображение услуги. | |||
photo_original | image | Нет | Нет | Любое | Исходное изображение услуги. | |||
photo_settings | json | Нет | Нет | Любое | Настройки кадрирования изображения. | |||
price_currency | select | Нет | RUB | RUBUSDEUR | Валюта цены. | |||
duration | time | Нет | 01:00:00 | Любое | Длительность услуги для клиента. | |||
real_duration | time | Нет | 01:00:00 | Любое | Фактическая длительность, которая занимает время в расписании. | |||
max_clients | number | Нет | 1 | Любое | Максимальное количество клиентов на один слот. | |||
personal_requirements | array | Нет | Нет | Любое | Требования к персоналу. Передаются массивом объектов со стабильным идентификатором группы tag_id и положительным целым количеством сотрудников count. Пример: [{"tag_id":12,"count":1}]. | |||
resource_requirements | array | Нет | Нет | Любое | Требования к ресурсам. Передается массивом объектов с ресурсом и количеством. Пример: [{"resource_id":3,"count":1}]. | |||
customFields | object | Нет | Нет | Любое | Значения кастомных полей по uid. Для сохранения используйте поле custom_fields в теле запроса. |
Ответы с ошибками
Если запрос не выполнен, API возвращает ok=false и числовой code. Подробности по полям передаются в errors[].type.
| Код | Когда возникает | Ответ |
|---|---|---|
16 | Не переданы обязательные name или price, либо обязательные кастомные поля услуги. | required со списком незаполненных полей. |
17 | Поля услуги переданы, но не прошли проверку числа, времени, списка значений или изображения. | errors со списком ошибок полей. |
11-14 | Нет доступа к услуге, созданию, сохранению, удалению или превышен лимит тарифа. | message с причиной отказа. |
| Тип ошибки | Поле | Когда возникает |
|---|---|---|
number_error | price, max_clients | Цена должна быть десятичным числом от 0 до 9999999999,99 с точностью не более двух знаков, а максимальное количество клиентов — положительным целым числом. |
select_error | price_currency, group_id | Значение не входит в разрешенный список или указанная группа услуг недоступна. |
time_error | duration, real_duration | Время должно быть передано в формате HH:mm или HH:mm:ss. |
image_error | photo, photo_original | Изображение передано в неподдерживаемом формате или не прошло обработку. |