Документация

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ЗначенияСохранениеСписокКарточкаОписание
namestringДаНетЛюбоеНазвание услуги, которое видят клиенты и пользователи кабинета.
pricenumberДаНетЛюбоеЦена услуги — десятичное число от 0 до 9999999999,99, не более двух знаков после запятой.
idnumberНетНетЛюбоеИдентификатор существующей услуги. При создании не передается.
sort_ordernumberНетautoЛюбоеПозиция услуги в сортировке списка. Заполняется сервером.
descriptionstringНетНетЛюбоеОписание услуги для карточки и виджета.
group_idnumberНет0ЛюбоеИдентификатор группы услуг. Значение 0 означает отсутствие группы.
additional_servicesarrayНетНетЛюбоеСписок id дополнительных услуг, которые можно предложить вместе с основной услугой. Пример: [12, 15].
is_additionalbooleanНетfalsefalsetrueПризнак дополнительной услуги.
photoimageНетНетЛюбоеИзображение услуги.
photo_originalimageНетНетЛюбоеИсходное изображение услуги.
photo_settingsjsonНетНетЛюбоеНастройки кадрирования изображения.
price_currencyselectНетRUBRUBUSDEURВалюта цены.
durationtimeНет01:00:00ЛюбоеДлительность услуги для клиента.
real_durationtimeНет01:00:00ЛюбоеФактическая длительность, которая занимает время в расписании.
max_clientsnumberНет1ЛюбоеМаксимальное количество клиентов на один слот.
personal_requirementsarrayНетНетЛюбоеТребования к персоналу. Передаются массивом объектов со стабильным идентификатором группы tag_id и положительным целым количеством сотрудников count. Пример: [{"tag_id":12,"count":1}].
resource_requirementsarrayНетНетЛюбоеТребования к ресурсам. Передается массивом объектов с ресурсом и количеством. Пример: [{"resource_id":3,"count":1}].
customFieldsobjectНетНетЛюбоеЗначения кастомных полей по uid. Для сохранения используйте поле custom_fields в теле запроса.

Ответы с ошибками

Если запрос не выполнен, API возвращает ok=false и числовой code. Подробности по полям передаются в errors[].type.

КодКогда возникаетОтвет
16Не переданы обязательные name или price, либо обязательные кастомные поля услуги.required со списком незаполненных полей.
17Поля услуги переданы, но не прошли проверку числа, времени, списка значений или изображения.errors со списком ошибок полей.
11-14Нет доступа к услуге, созданию, сохранению, удалению или превышен лимит тарифа.message с причиной отказа.
Тип ошибкиПолеКогда возникает
number_errorprice, max_clientsЦена должна быть десятичным числом от 0 до 9999999999,99 с точностью не более двух знаков, а максимальное количество клиентов — положительным целым числом.
select_errorprice_currency, group_idЗначение не входит в разрешенный список или указанная группа услуг недоступна.
time_errorduration, real_durationВремя должно быть передано в формате HH:mm или HH:mm:ss.
image_errorphoto, photo_originalИзображение передано в неподдерживаемом формате или не прошло обработку.