Это официальный документ, описывающий взаимодействие с сервисом онлайн-бронирования YCLIENTS.
При проектировании методов, мы старались придерживаться архитектуры REST
Все обращения к протоколу осуществляются с использованием SSL-шифрования.
Лимиты 200 запросов в минуту, или 5 запросов в секунду на один IP-адрес.
URL API: https://api.yclients.com
Вопросы, пожелания, сообщения об ошибках можно направлять по адресу support@yclients.com
API позволяет сторонним разработчикам выполнять большинство операций с платформой YCLIENTS.
Внимание! Большинство обращений в техническую поддержку связаны с тем, что разработчики не читают документацию. Обязательно прочтите раздел INTRODUCTION полностью и внимательно ознакомьтесь с информацией на других ресурсах, на которые мы ссылаемся. Для тестирования запросов мы рекомендуем использовать сервис Postman, при обращении в службу поддержки используйте скриншоты из Postman.
Ниже приведены ссылки на SDK сторонних разработчиков. В ближайшее время мы планируем подключиться к их улучшению и развитию. И всегда привествуем Opensource инициативы, если у вас есть возможности и желание развивать одну из предложенных библиотек это принесет общую пользу. Если решите создать свою - сообщите нам о ней, мы примем участие в развитии и разместим ссылку на нее здесь.
Обмен данными с программой для автоматизации и учета.
Интеграция онлайн-записи со стронними сайтами и мобильными приложениями (каталоги компаний, приложения компаний и т.п.)
API для интеграции с YCLEINTS содержит две группы методов:
Для обращений и к первой и ко второй группе методов требуется авторизация партнера. Т.е. передача уникального hash-ключа партнера.
Авторизация запросов к API производится в соответствии с RFC 6749 "Resource Owner Password Credentials Grant". При запросах к API в HTTP заголовок Authorization должен быть включен ключ доступа в следущем формате:
Authorization: Bearer <partner token>
Для того, чтобы получить этот ключ нужно зарегистрироваться в маркетплейсе интеграций, а потом скопировать API-ключ в разделе «Настройки аккаунта».
Для получения API-ключа пользователя используйте метод auth. Передавать сам ключ нужно также в заголовке запроса (после ключа партнера через запятую):
Authorization: Bearer <partner token>, User <user token>
Нужна ли авторизация пользователя для работы с теми или иными сущностями нужно смотреть в описаниях формата данных и примерах запросов.
Текущая версия формата ответа 2.0, в нем всегда присутствуют секции "success", "data", "meta".
Указать версию необходимо с помощью заголовка
Accept: application/vnd.yclients.v2+json
Все даты в API представлены в виде строк в формате ISO 8601:
"2014-09-21T23:00:00.000+03:00"
Длительности услуг и других сущностей передаются в секундах. Например, если услуга длиться 15 минут, то формат данных следующий:
{ "length": 900 }
API позволяет работать с основными сущностями платформы:
Компания
Пользователь Пользователи могут управлять компаниями, они имеют права доступа к определенным настройкам компании. Не все пользователи имеют доступ ко всем настройкам. Для того, чтобы изменять те или иные настройки нужно сначала получить API-ключ пользователя с соответсвующими правами.
Категория услуг Все услуги компании группируются в рамках категории услуг .
Услуга Как правило, запись производится на определенную услугу, которую оказывает определенный сотрудник в определенной компании. Услуга имеет диапазон стоимости и некоторые другие параметры.
Сотрудник Как правило, запись производится, к определенному сотруднику или ресурсу (например, подъемник или квест-комната).
Расписание сотрудника У каждого сотрудника есть график работы - итервалы времени, в которое сотрудник работает с клиентами.
Свободное время сотрудника Время на которое можно записаться к сотруднику, т.е. интервалы времени, в которые он свободен.
Запись Интервал времени, в которое конкретный сотрудник оказывает конкретному клиенту услуги. Во время записи сотрудник занят.
Клиент Человек, который записывался на услугу в компанию.
Для работы с данными используется четыре основных структуры:
Сущность Одна из перечисленных выше сущностей, обладающая своими уникальными свойствами и параметрами. Сущности можно получать, изменять и удалять
Коллекция сущностей Набор сущностей. Например, список компаний или список услуг, оказываемых компаний. В коллекции сущностей можно добавлять сущности.
Связь сущностей Например, связь сотрудника и услуги определяет, что конкретный сотрудник оказывает конкретную услугу. У связи могут быть свои свойства, например, индивидуальная цена услуги для конкретного сотрудника
Коллекция связей сущностей Например, список услуг, оказываемых сотрудником и их свойсва. В коллекции можно добавлять связи
Для вызова многих методов требуется получить API-ключ пользователя, который будет использоваться для доступа к закрытым данным.
При смене пароля пользователем его API-ключ изменится и потребуется новая авторизация
Атрибут | Тип | Описание |
---|---|---|
login | string | В качестве логина может быть использован номер телефона пользователя в формате 79161234567 или его Email |
password | string | Пароль пользователя |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
login required | string Номер телефона или Email |
password required | string Пароль |
id | integer <int32> Идентификатор пользователя |
user_token | string User_token пользователя |
name | string Имя пользователя |
phone | string Телефон пользователя |
login | string Логин пользователя |
string Почтовый адрес пользователя | |
avatar | string Путь к файлу аватарки пользователя |
is_approved | boolean Подтвержден ли пользователь в системе |
{- "password": "testpass"
}
{- "id": 123456,
- "user_token": "wec23fh8cDfFV4432fc352456",
- "name": "Иван Попов",
- "phone": "79161001010",
- "login": "79161001010",
- "is_approved": true
}
При смене пароля пользователем онлайн-записи его API-ключ изменится и потребуется новая авторизация
Атрибут | Тип | Описание |
---|---|---|
login | string | В качестве логина может быть использован номер телефона посетителя в формате 79161234567 или его Email |
password | string | Пароль посетителя |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
login required | string Номер телефона или Email |
password required | string Пароль |
id | integer <int32> Идентификатор пользователя |
user_token | string User_token пользователя |
name | string Имя пользователя |
phone | string Телефон пользователя |
login | string Логин пользователя |
string Почтовый адрес пользователя | |
avatar | string Путь к файлу аватарки пользователя |
{- "password": "testpass"
}
{- "id": 123456,
- "user_token": "wec23fh8cDfFV4432fc352456",
- "name": "Иван Попов",
- "phone": "79161001010",
- "login": "79161001010",
}
Для реализации клиентской части онлайн-записи используется следующий набор методов. Они адаптированы для пользовательских сценариев онлайн-записи, в отличии от других REST-методов, которые лучше использовать для интеграциионных целей.
Каждый клиент сервиса YCLIENTS, может создать неограниченное количество форм онлайн-записи с разным дизайном и для разных сценариев записи.
Обычно, id формы бронирования хранится в поддомене, например: https://w123.yclients.com, где 123 - id формы записи. С помощью этого параметра можно получить все остальные необходимые для реализации онлайн-записи параметры, понять, будет происходить запись в конкретную компанию или в сеть компаний.
Для сетевого виджета необходимо будет дополнительно обратится к методу [GET] /companies с фильтром company_id и получить список копаний, в которые будет производиться запись.
Объект содержащий настройки формы бронирование имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
steps | Массив объектов | Шаги формы бронирования со своими настройками |
style | Object | Настройки дизайна формы бронирования |
group_id | number | Идентификатор сети компаний (0 - если форма записи для несетевой компании) |
company_id | number | Идентификатор компании (возвращается всегда, используется для получения дополнительных настроек) |
phone_confirmation | boolean | Нужно ли подтверждать телефон по смс (если groupid = 0 (не групповая форма), иначе смотреть в настройки каждой компании отдельно) |
lang | string | Язык формы бронирования (код из массива langs) |
langs | array of object | Список языков виджета |
comment_required | boolean | Является ли поле с комментарием к записи обязательным для заполнения |
metrika_counter_id | string | Идентификатор Яндекс.Метрики |
google_analytics_id | string | Идентификатор Google Analytics |
facebook_pixel_id | string | Идентификатор Facebook Pixel |
vkontakte_pixel_id | string | Идентификатор Вконтакте пиксель |
app_metrika_id | string | Идентификатор Yandex AppMetrika |
sms_enabled | boolean | Доступна ли отправка смс |
comment_input_name | string (optional) | Заголовок для поля с вводом комментария к записи (если не задано, то используется значение по умолчанию) |
booking_notify_text | string (optional) | Текст уведомления, которое выводится (если задано) на шаге ввода контактных данных |
is_show_privacy_policy | boolean | Нужно ли отображать пользователю текст соглашения о политике обработки персональных данных |
specialization_display_mode | number | Выводить специализацию или должность сотрудника. 0 - Специализация, 1 - Должность |
Массив steps состоит из объектов которые имеют следующие поля:
Поле | Тип | Описание | Для каких шагов указан |
---|---|---|---|
step | string | Шаг city/company/service/master/datetime/contact/confirm | Для всех |
title | string | Название шага для вывода в интерфейсе | Для всех |
num | number | Каким по счету должен выводиться данный шаг (начиная с 1) | Для всех |
default | string или number | Значение по умолчанию для данного шага, если задано | Для всех, кроме datetime |
hidden | boolean | Скрыть данный шаг при бронировании или нет | Для всех |
date_hidden | boolean | Скрыть данный шаг при бронировании или нет | Для datetime |
time_hidden | boolean | Скрыть данный шаг при бронировании или нет | Для datetime |
date_default | string | Значение по умолчанию для данного шага, если задано | Для datetime |
time_default | number | Значение по умолчанию для данного шага, если задано | Для datetime |
Объект style имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
show_header | boolean | Выводить шапку и меню или нет |
logo | string | Путь до картинки логотипа |
header_background | string | Путь до картинки фона подзаголовка |
menu_background | string | Путь до картинки фона меню |
primaryPalette | string | Главный цвет формы (все цвета из списка: red, pink, purple, deep-purple, indigo, blue, light-blue, cyan, teal, green, light-green, lime, yellow, amber, orange, deep-orange, brown, grey, blue-grey, white, black) |
accentPalette | string | Второстепенный цвет формы (полупрозрачный cover подзаголовка) |
warnPalette | string | Цвет кнопок формы записи |
backgroundPalette | string | Цвет фона формы записи |
id required | number Example: 1 id формы бронирования |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "steps": [
- {
- "step": "master",
- "title": "Выберите спеца",
- "num": 2,
- "hidden": "0",
- "default": -1
}, - {
- "step": "service",
- "title": "Выберите услугу",
- "num": 1,
- "hidden": "1",
- "default": "196"
}, - {
- "step": "datetime",
- "title": "Выберите дату и время сеанса",
- "num": 3,
- "hidden": false,
- "date_hidden": "0",
- "time_hidden": "0",
- "date_default": 1437609600,
- "time_default": "27900"
}, - {
- "step": "contact",
- "title": "",
- "num": 3,
- "hidden": false,
- "default": 0
}, - {
- "step": "comfirm",
- "title": "",
- "num": 4,
- "hidden": false,
- "default": 0
}
], - "style": {
- "show_header": true,
- "main_color": "666",
- "secondary_color": "999",
- "buttons_color": "FFF"
}, - "group_id": 1,
- "company_id": 1,
- "phone_confirmation": false,
- "lang": "ru-RU",
- "langs": [
- {
- "id": 1,
- "code": "ru-RU",
- "title": "Русский"
}, - {
- "id": 2,
- "code": "en-US",
- "title": "English"
}, - {
- "id": 4,
- "code": "lv-LV",
- "title": "Latviešu valoda"
}, - {
- "id": 5,
- "code": "et-EE",
- "title": "Eesti keel"
}, - {
- "id": 6,
- "code": "lt-LT",
- "title": "Летува́"
}, - {
- "id": 7,
- "code": "uk-UK",
- "title": "Українська"
}, - {
- "id": 8,
- "code": "fr-FR",
- "title": "Français"
}, - {
- "id": 9,
- "code": "it-IT",
- "title": "Italiano"
}, - {
- "id": 10,
- "code": "es-ES",
- "title": "Español"
}, - {
- "id": 13,
- "code": "ka-KA",
- "title": "ქართული"
}, - {
- "id": 14,
- "code": "hy-AM",
- "title": "Հայերեն"
}, - {
- "id": 15,
- "code": "kk-KK",
- "title": "қазақ тілі"
}, - {
- "id": 16,
- "code": "hr-HR",
- "title": "Hrvatski jezik"
}, - {
- "id": 17,
- "code": "cs-CS",
- "title": "český jazyk"
}, - {
- "id": 18,
- "code": "ro-RO",
- "title": "Limba Română"
}, - {
- "id": 19,
- "code": "cn-CN",
- "title": "中文"
}, - {
- "id": 20,
- "code": "ar-AR",
- "title": "العَرَبِيَّة"
}, - {
- "id": 21,
- "code": "bg-BG",
- "title": "Български"
}, - {
- "id": 22,
- "code": "he-IL",
- "title": "עברית"
}, - {
- "id": 23,
- "code": "hu-HU",
- "title": "Magyar nyelv"
}, - {
- "id": 24,
- "code": "Lt-sr-SP",
- "title": "Srpski jezik"
}, - {
- "id": 25,
- "code": "sk-SK",
- "title": "Slovenský jazyk"
}, - {
- "id": 26,
- "code": "mn-MN",
- "title": "Монгол хэл"
}, - {
- "id": 27,
- "code": "az-AZ",
- "title": "Azərbaycan dili"
}, - {
- "id": 28,
- "code": "pl-PL",
- "title": "Polszczyzna"
}, - {
- "id": 30,
- "code": "sl-SL",
- "title": "Slòvēnskī"
}
], - "comment_required": false,
- "metrika_counter_id": "50217133",
- "google_analytics_id": "UA-125358345-1",
- "facebook_pixel_id": "2218788388343154",
- "vkontakte_pixel_id": "VK-RTRG-96471-KZ24cpR",
- "app_metrika_id": "46ab3b93-1bc6-457d-82f0-c1b51f39b01e",
- "sms_enabled": true
}, - "meta": [ ]
}
Перевод доступен на один из языков:
langCode required | string Example: ru-RU Код языка. Один из набора 'ru-RU', 'lv-LV', 'en-US', 'ee-EE', 'lt-LT', 'de-DE', 'uk-UK' |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
object | |
object | |
object | |
object | |
object | |
and | string |
terms-of-agreement | string |
data-processing | string |
license-agreement | string |
personal-data | string |
buy-for | string |
object | |
object | |
object | |
object | |
back | string |
backCity | string |
backFilials | string |
backRecordType | string |
filials | string |
my_profile | string |
about_us | string |
object | |
at | string |
on | string |
h | string |
m | string |
from | string |
dist_m | string |
dist_km | string |
yesterday | string |
today | string |
tomorrow | string |
Close | string |
Yes | string |
No | string |
refresh | string |
online_record_disabled | string |
online_record_disabled_long_text | string |
object | |
object | |
object | |
object | |
object | |
save | string |
proceed | string |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
object | |
Jan | string |
Feb | string |
March | string |
Mar | string |
Apr | string |
May | string |
Jun | string |
Jul | string |
Aug | string |
Sep | string |
Oct | string |
Nov | string |
Dec | string |
object | |
object | |
landscape | string |
{- "404": {
- "not-found": "Кажется, такой страницы не существует",
- "not-found-record": "Такая запись не существует.",
- "go-home": "На главную"
}, - "action": {
- "send": "Отправить"
}, - "tips": {
- "terms": {
- "prefix": "Нажимая «Отправить», вы принимаете",
- "of-use": "Условия использования",
- "personal-policy": "Политику конфиденциальности"
}, - "review-sent": "Отзыв отправлен",
- "your-mark": "Ваша оценка",
- "leave-a-review": "Оставьте отзыв",
- "leave-a-tip-to-a-specialist": "Оставить чаевые специалисту",
- "credited": "Чаевые зачислены",
- "visit-amount": "Сумма визита",
- "will-be-written-off": "Будет списано",
- "at-time": "в",
- "rate-specialist-to-sent-feedback": "Поставьте оценку специалисту, чтобы отправить отзыв",
- "title": "Чаевые",
- "tips-required": "Пожалуйста, выберите сумму чаевых",
- "review-or-tips-required": "Кажется, пока нечего отправить специалисту",
- "enter-sum": "Введите сумму",
- "custom-sum": "Своя сумма",
- "cancel-tips": "Отменить чаевые",
- "bad-sum": "Чаевые должны быть указаны суммой"
}, - "payment-status": {
- "payment-error": "Ошибка оплаты. Повторите попытку",
- "payment-redirect": "Вас должно направить на платежную систему.",
- "payment-config-error": "Ошибка в настройке платежной системы",
- "contact-us-for-questions": "Свяжитесь с нами если у вас остались вопросы.",
- "contacts": "Контакты",
- "order-registered": "Заявка оформлена",
- "order-paid": "Заказ оплачен",
- "retry": "Повторить",
- "order-created-successfully": "Заказ успешно создан. С вами свяжется наш представитель для уточнения деталей.",
- "order-is-being-processed": "Операция обрабатывается",
- "get-payment-data": "Получение данных о платеже",
- "transaction-number": "Номер транзакции",
- "payment-transaction-info-1": "Если Вам пришел чек, то покупка успешно завершена. Проверьте указанную при покупке почту.",
- "payment-transaction-info-2": " Если чек не пришел, попробуйте снова или обратитесь к нам по контактам ниже.",
- "order-number-info": "Сообщите этот номер при посещении, чтобы воспользоваться сертификатом или абонементом."
}, - "user-data-form": {
- "loyalty-phone-tip": "Сообщите этот номер при посещении, чтобы воспользоваться сертификатом или абонементом.",
- "name-required": "Необходимо указать имя",
- "email-required": "Необходимо указать email",
- "loyalty-email": "E-mail для получения чека и покупки",
- "agreement-link": "с условиями соглашения",
- "data-processing-link": "обработкой данных",
- "terms-prefix": "Нажимая на кнопку вы соглашаетесь",
- "proceed": "Оформить",
- "pay": "Оплатить",
- "phone-code": "Код",
- "phone": "Телефон",
- "invalid-phone": "Некорректный номер"
}, - "and": "и",
- "terms-of-agreement": "Условия соглашения",
- "data-processing": "Обработка данных",
- "license-agreement": "Лицензионное соглашение",
- "personal-data": "Ваши данные",
- "buy-for": "Купить за",
- "group_booking": {
- "personal_booking": "Индивидуальные услуги",
- "group_booking": "Групповые события",
- "choose_group_event": "Выберите событие",
- "group_events_available": "Доступна запись на групповые события",
- "places": "Мест",
- "group_events_is_not_available": "На выбранный день нет групповых событий",
- "group_events_is_not_available_filial": "В этом филиале пока не настроены групповые события",
- "repeat": "Записаться снова",
- "duration": "Длительность",
- "no_space": "Нет мест",
- "not_found": "Нет событий по выбранным фильтрам. Попробуйте изменить параметры фильтрации"
}, - "geo": {
- "geo_timeout_error": "Не удается определить ваше местоположение. Возможно Вы находитесь вне зоны работы GPS",
- "geo_timeout_error_android": "Не удается определить ваше местоположение. Возможно Вы находитесь вне зоны работы GPS. Если у Вас отключена геолокация, ее нужно включить и перезапустить приложение.",
- "geo_access_error": "Нет доступа к определению вашего местоположения. Приложение не может показать ближайшие к Вам филиалы. Если у Вас отключена геолокация, ее нужно включить и перезапустить приложение."
}, - "tooltips": {
- "change_filial": "Теперь Вы будете начинать запись всегда с этого филиала. Изменить филиал можно через пункт меню",
- "change_filial_back_button": "Также можно использовать кнопку «Назад» для смены филиала"
}, - "prepaid": {
- "required": "предоплата обязательна",
- "allowed": "предоплата опциональна",
- "prepaid_sum": "К оплате онлайн:",
- "postpaid_sum": "Оплата на месте:"
}, - "back": "Назад",
- "backCity": "Города",
- "backFilials": "Филиалы",
- "backRecordType": "Тип записи",
- "filials": "Филиалы",
- "my_profile": "Кабинет",
- "about_us": "О нас",
- "record": {
- "show_details": "Смотреть детали",
- "is_canceled": "Запись отменена",
- "is_canceled_success": "Запись успешно отменена",
- "record": "Запись",
- "place": "Место",
- "master": "Сотрудник",
- "service": "Услуга",
- "services": "Услуги",
- "date": "Дата",
- "past": "Прошла",
- "through": "Через",
- "time": "Время",
- "clients_count": "Количество мест:",
- "book_visit": "Оформить визит",
- "add_service": "+ Добавить услугу",
- "add_master": "+ Добавить мастера",
- "add_datetime": "+ Добавить дату и время",
- "cancel_record": "Отменить запись",
- "cancel_record_warning": "После отмены запись будет невозможно восстановить",
- "confirm_cancel_record": "Вы уверены, что хотите отменить запись?",
- "error_cancel_record": "Вы не можете отменить запись",
- "error_cancel_record_new1": "Невозможно отменить запись онлайн. Пожалуйста, свяжитесь с администратором.",
- "error_cancel_record_new2_1": "Невозможно отменить запись онлайн за ",
- "error_cancel_record_new2_2": "до посещения. Пожалуйста, свяжитесь с администратором.",
- "add_to_google_calendar": "Добавить в google-календарь",
- "booking_success": "Вы успешно записались!",
- "create_new_record": "Записаться еще",
- "future_records": "Предстоящие сеансы",
- "past_records": "Прошедшие",
- "change_record_time": "Перенести запись",
- "error_change_record_time": "Невозможно перенести запись онлайн. Пожалуйста, свяжитесь с администратором.",
- "error_change_record_time2_1": "Невозможно перенести запись онлайн за ",
- "error_change_record_time2_2": "до посещения. Пожалуйста, свяжитесь с администратором.",
- "selected_services": "Выбранные услуги",
- "calculate_services": "Определяются доступные услуги...",
- "change_record_fail": "Ошибка при переносе записи, попробуйте выбрать другое время",
- "continue_booking": "Продолжить запись",
- "go_to_registration": "Перейти на сайт YCLIENTS",
- "repeat": "Повторить запись",
- "is_deleted": "Ваша запись удалена."
}, - "at": "в",
- "on": "на",
- "h": "ч.",
- "m": "мин.",
- "from": "из",
- "dist_m": "м",
- "dist_km": "км",
- "yesterday": "вчера",
- "today": "сегодня",
- "tomorrow": "завтра",
- "Close": "Закрыть",
- "Yes": "Да",
- "No": "Нет",
- "refresh": "Обновить",
- "online_record_disabled": "Онлайн запись отключена. <br> Приносим извинения за доставленные неудобства.",
- "online_record_disabled_long_text": "Онлайн-запись временно недоступна. Вы по-прежнему можете управлять своими онлайн-записями в личном кабинете, переносить их и удалять.",
- "address": {
- "about": "О компании",
- "address": "Адрес",
- "phone": "Телефон",
- "phones": "Телефоны",
- "schedule": "Время работы",
- "site": "Сайт",
- "date_and_time": "Дата и время",
- "photos": "Фотографии",
- "details": "Подробнее о салоне"
}, - "common": {
- "information": "информация",
- "reviews": "отзывы",
- "contacts": "контакты"
}, - "notification": {
- "your_city": "Ваш город <%- city_name %>?",
- "yes_my_city": "Да, это мой город",
- "no_my_city": "Нет, выбрать город",
- "read_all": "Прочитать",
- "delete_all": "Удалить",
- "deleted_record": "Удаление записи",
- "record": "Запись",
- "news": "Новости",
- "review": "Отзыв о мастере",
- "notify": "Уведомление",
- "sent": "Отправлено"
}, - "header": {
- "loyalty_cards": "Карты лояльности",
- "widget_settings": "Настройки виджета",
- "settings": "Настройки",
- "select_town": "Выберите город",
- "select_company": "Выберите филиал",
- "select_date": "Выбор даты",
- "select_master": "Выбор сотрудника",
- "select_time": "Выбор времени",
- "select_service": "Выбор услуги",
- "input_personal": "Ввод контактных данных",
- "online_record": "Онлайн-запись",
- "selection_of": "Выбор",
- "contacts_form": "Оформление",
- "record_created": "Запись создана!",
- "login": "Вход",
- "profile": "Личный кабинет",
- "my_records": "Мои записи",
- "record_create_disabled": "Онлайн-запись временно недоступна.",
- "master-info": "О сотруднике",
- "notification": "Уведомления",
- "my_notifications": "Мои уведомления",
- "none_notifications": "Нет уведомлений",
- "cart": "Подтверждение оплаты",
- "change_record": "Перенос записи",
- "you_booking": "Ваш заказ",
- "you_data": "Ваши данные",
- "record": "Запись",
- "actions": "Действия",
- "cancel-record": "Отмена записи",
- "booking_again": "Записаться снова",
- "choose_time": "Выберите время",
- "choose_staff": "Выберите специалиста",
- "about_service": "Об услуге",
- "records": "Записи",
- "confirmation": "Подтверждение"
}, - "loyalty": {
- "empty-list": "Здесь пока ничего нет",
- "points": {
- "nominative": "балл",
- "genitive": "балла",
- "plural-genitive": "баллов"
}, - "no_cards": "У Вас нет ни одной карты.",
- "no_certificate": "У Вас нет ни одного сертификата.",
- "no_subscription": "У Вас нет ни одного абонемента.",
- "discount": "скидка",
- "cashback": "cashback",
- "paid_amount": "Оплачено",
- "sold_amount": "Продано",
- "visit_count": "Визиты",
- "balance": "Накоплено (cashback)",
- "certificate": {
- "services-includes": "Что включено",
- "no-restrictions": "Без ограничений",
- "restrictions-only-services": "Все услуги, кроме товаров",
- "any-goods": "Любые товары",
- "without-goods": "Товары не включены",
- "without-services": "Услуги не включены",
- "validity": "Срок действия",
- "validity-without-restrictions": "Без ограничения срока действия",
- "validity-till": "До",
- "validity-after-purchase": "с момента покупки",
- "use-type": "Использование",
- "use-type-multiple": "Многократно",
- "use-type-single": "Однократно",
- "where-to-use": "Где использовать?",
- "where-to-use-show-more": "Показать больше",
- "where-to-use-all-group": "Во всей сети",
- "allow-to-freeze": "Возможность заморозки",
- "title": "Сертификат",
- "one-off-use": "Одноразовый",
- "multi-use": "Многоразовый",
- "denomination": "Номинал",
- "balance": "Остаток"
}, - "subscription": {
- "validity-without-restrictions": "без ограничений по количеству дней",
- "title": "Абонемент"
}, - "subscriptions": {
- "all-services": "(все услуги)",
- "from": "из",
- "valid_until": "Действителен до",
- "valid_unlimited": "Срок действия не ограничен",
- "unused": "Абонемент еще не использовался",
- "online_sale_button_text": "Купить сертификат или абонемент"
}, - "programs": {
- "item_type_id": {
- "any_services_any_goods": "Ко всем услугам и товарам",
- "any_service_no_goods": "К любым услугам",
- "no_services_any_goods": "К любым товарам",
- "custom_services_no_goods": "К некоторым услугам",
- "custom_services_any_goods": "К некоторым услугам и любым товарам",
- "no_services_custom_goods": "К некоторым товарам",
- "any_services_custom_goods": "К любым услугам и некоторым товарам",
- "custom_services_custom_goods": "К некоторым услугам и товарам",
- "no_services_no_goods": "Не для услуг; не для товаров"
}, - "determined_action_settings": "Определяется настройками акции"
}
}, - "save": "Сохранить",
- "proceed": "Продолжить",
- "profile": {
- "name": {
- "saved": "Имя пользователя изменено на ",
- "not_known": "Имя неизвестно"
}, - "noFutureRecords": "У вас нет предстоящих сеансов",
- "noPastRecords": "У вас нет прошедших сеансов",
- "phone": {
- "confirm": "Подтвердить телефон"
}, - "email": {
- "info": "Вам отправлено письмо для подтверждения email на "
}, - "password": {
- "info": "Пароль должен содержать не менее восьми символов",
- "badPassword": "Указан неверный пароль",
- "current": "Текущий пароль",
- "new": "Новый пароль",
- "invalidTooShort": "",
- "invalidNoDigit": "",
- "invalidNoCapital": "",
- "invalidNoSymbol": ""
}, - "error": "При сохранении данных произошла ошибка",
- "saved": "Изменения ваших персональных данных сохранены",
- "contactsDetails": "Контактные данные",
- "your_records": "Ваши записи в салон."
}, - "registration": {
- "registration": "Регистрация",
- "form": {
- "name": "Ваше имя",
- "company_title": "Название компании",
- "i_know_promo": "Я знаю промокод",
- "confirm_oferta_1": "Я принимаю условия",
- "confirm_oferta_2": "договора-оферты",
- "submit": "Зарегистрироваться",
- "promo": "промо-код",
- "unknownError": "Произошла системная ошибка, попробуйте зарегистрироваться позже"
}
}, - "menu": {
- "account": "Личные данные",
- "change_filial": "Изменить филиал",
- "change_city": "Изменить город",
- "online_record": "Онлайн запись",
- "about": "О компании",
- "change_lang": "Изменить язык",
- "hide_menu": "Скрыть меню",
- "login": "Войти",
- "myRecords": "Мои записи",
- "on-line": "Онлайн-запись",
- "logout": "Выйти",
- "my": "Личный кабинет",
- "favorite": "Избранное",
- "change_password": "Смена пароля",
- "header": "Меню",
- "profile": "Профиль",
- "loyalty": "Мои карты",
- "loyalty_subscriptions": "Абонементы",
- "loyalty_certificates": "Сертификаты"
}, - "footer": {
- "worked_on": "Работает на",
- "worked_on_company_name": "YCLIENTS"
}, - "city": {
- "town_abbreviation": "г. ",
- "service_count": "Количество филиалов:",
- "select_filial": "Выбор филиала",
- "not_found_cities": "По вашему запросу города не найдены",
- "search_cities": "Найти города",
- "affiliate": {
- "1": "филиал",
- "2": "филиала",
- "3": "филиалов"
}
}, - "company": {
- "list": "Список",
- "on_map": "На карте",
- "no_companies_text_1": "У Вас нет ни одной активной компании. Для настройки компаний перейдите в",
- "lk": "Личный кабинет YCLIENTS",
- "no_companies_text_2": "После настройки нажмите кнопку",
- "no_companies": "Нет компаний",
- "near_session": "Ближайший доступный сеанс для записи:",
- "active_master": "Активных специалистов:",
- "at_o_clock": "в",
- "find_companies": "Найти филиалы",
- "not_found_companies": "По вашему запросу филиалы не найдены",
- "look_at_the_map": "Посмотреть на карте"
}, - "steps": {
- "date_and_time": "Дата и время",
- "staff": {
- "nominative": "Сотрудник",
- "genitive": "сотрудника"
}, - "service": "Услуга",
- "time": "Время"
}, - "master": {
- "master": "Специалист",
- "skip_select_master": "Пропустить выбор сотрудника",
- "skip_select": "Пропустить выбор",
- "near_session": "Ближайшие сеансы",
- "nearest_time": "Ближайшее время для записи",
- "no_record": "На выбранный день нет свободных сеансов",
- "no_record_new": "На эту дату нет свободного времени для записи. Выберите другую дату или другого специалиста",
- "no_master": "Сотрудник уволен или больше не работает в этом филиалае",
- "any_master": "Не имеет значения",
- "record_is_available": "Можно записаться",
- "reviews": {
- "nominative": "отзыв",
- "genitive": "отзыва",
- "plural-genitive": "отзывов"
}, - "prepaid": {
- "forbidden": "Предоплата не требуется",
- "allowed": "Возможна предоплата",
- "required": "Предоплата обязательна"
}
}, - "cart": {
- "title": "Выбранные для оплаты услуги",
- "confirm": "Подтвердить запись",
- "go-to-pay": "Перейти к оплате",
- "confirmed": "Запись оплачена",
- "pay-success": "Оплата прошла успешно!"
}, - "reviews": {
- "cancelAddReview": "Отмена",
- "later": "Оценить позже",
- "addReview": "Оставить отзыв",
- "yourReviewMark": "Ваша оценка",
- "reviewFieldLabelText": "Ваш отзыв",
- "reviewTitle": "Пожалуйста, оцените качество работы приложения",
- "reviewMessage": "Напишите предложения по доработкам",
- "reviewRequestStoreTitle": "Хотите оставить оценку в магазине?",
- "reviewButton": "Оценить",
- "thanksForReview": "Спасибо за отзыв"
}, - "date": {
- "day_of": "Выходной",
- "no_record": "Рабочий, записи нет",
- "have_record": "Рабочий, запись есть",
- "by_month_num": {
- "1": "Январь",
- "2": "Февраль",
- "3": "Март",
- "4": "Апрель",
- "5": "Май",
- "6": "Июнь",
- "7": "Июль",
- "10": "Октябрь",
- "11": "Ноябрь",
- "12": "Декабрь",
- "08": "Август",
- "09": "Сентябрь"
}, - "by_month_short": {
- "Jan": "Января",
- "Feb": "Февраля",
- "March": "Марта",
- "Mar": "Марта",
- "Apr": "Апреля",
- "May": "Мая",
- "Jun": "Июня",
- "Jul": "Июля",
- "Aug": "Августа",
- "Sep": "Сентября",
- "Oct": "Октября",
- "Nov": "Ноября",
- "Dec": "Декабря"
}
}, - "time": {
- "hourCased": {
- "nominative": "час",
- "genitive": "часа",
- "plural-genitive": "часов"
}, - "weekCased": {
- "nominative": "неделя",
- "genitive": "недели",
- "plural-genitive": "недель"
}, - "monthCased": {
- "nominative": "месяц",
- "genitive": "месяца",
- "plural-genitive": "месяцев"
}, - "yearCased": {
- "nominative": "год",
- "genitive": "года",
- "plural-genitive": "лет"
}, - "dayCased": {
- "nominative": "день",
- "genitive": "дня",
- "plural-genitive": "дней"
}, - "minuteCased": {
- "nominative": "минута",
- "genitive": "минуты",
- "accusative": "минуту",
- "plural-genitive": "минут"
}, - "secondCased": {
- "nominative": "секунда",
- "genitive": "секунды",
- "accusative": "секунду",
- "plural-genitive": "секунд"
}, - "at_o_clock": "в",
- "noTimes": "На выбранный день нет свободных сеансов",
- "the_part_of_day": {
- "morning": "Утро",
- "day": "День",
- "evening": "Вечер"
}, - "by_week_day": {
- "Mon": "Пн",
- "Tue": "Вт",
- "Wed": "Ср",
- "Thu": "Чт",
- "Fri": "Пт",
- "Sat": "Сб",
- "Sun": "Вс"
}, - "by_full_week_day": {
- "Monday": "Понедельник",
- "Tuesday": "Вторник",
- "Wednesday": "Среда",
- "Thursday": "Четверг",
- "Friday": "Пятница",
- "Saturday": "Суббота",
- "Sunday": "Воскресенье"
}
}, - "service": {
- "selected": "Выбрано",
- "selected_service_count": "Выбрано услуг:",
- "noServicesAndEvents": "Не найдено ни одной акции или услуги по вашему запросу",
- "noMoreServices": "Нет услуг, на которые можно записаться вместе с выбранными услугами",
- "noMoreService": "Нет услуг, на которые можно записаться вместе с выбранной услугой",
- "search": "Поиск...",
- "sale": "Акции",
- "services": "Услуги",
- "add": "Добавить услугу",
- "add_short": "Добавить",
- "currency_short": "р.",
- "services_pref": {
- "1": "услугу",
- "2": "услуги",
- "3": "услуг"
}, - "order_on": "Заказ на",
- "price": "цена",
- "price_not_available": "Цена не указана",
- "price_from": "от",
- "price_to": "до",
- "unavailable_service": "больше недоступна для онлайн-записи. Хотите выбрать другую?",
- "unavailable_services": "больше недоступны для онлайн-записи. Хотите выбрать другие?"
}, - "confirm": {
- "confirm": "Записаться",
- "show_order_details": "Посмотреть детали заказа",
- "order_details": "Детали заказа",
- "smsNotify": "Напоминание",
- "dontSend": "Не отправлять",
- "order_on": "Заказ на услуги",
- "service_sale": "Услуги по акции",
- "license_text": "Duis placerat lectus et justo mollis, nec sodales orci congue. Vestibulum semper non urna ac suscipit. Vestibulum tempor, ligula id laoreet hendrerit, massa augue iaculis magna, sit amet dapibus tortor ligula non nibh.",
- "accept": "Нажимая кнопку «Записаться», вы соглашаетесь с",
- "i_accept": "Я принимаю",
- "i_agree": "Я соглашаюсь с тем,",
- "accept_inline": "Нажимая кнопку «Записаться», вы соглашаетесь",
- "accept_personal_data_inline": "обработку персональных данных",
- "and_accept": "и принимаете",
- "terms_of_agreement": "условиями пользовательского соглашения",
- "terms_of_agreement_inline": "условия пользовательского соглашения",
- "how_my_personal_data_will_be_processed": "как будут обрабатываться мои персональные данные",
- "first_name": "Имя",
- "phone": "Телефон",
- "will_be_used_to_confirm": "Будет использован для подтверждения",
- "comment": "Комментарий",
- "email": "Email",
- "recording": "Записаться",
- "code_and_phone_num": "Код и номер телефона",
- "phone_confirm_short": "Подтвердите номер",
- "phone_already_exists": "Заданный номер уже используется",
- "phone_confirm": "Подтвердите номер телефона",
- "phone_confirm_button": "Подтвердить",
- "defaultError": "Системная ошибка:",
- "you_want_to_book": "Вы хотите записаться",
- "your_master": "Ваш мастер",
- "waiting_for_you_at_the_address": "Мы ждем вас по адресу",
- "untilVisit": {
- "postfix": "до визита",
- "prefix": "За"
}, - "orderErrorsActions": {
- "changeService": "Выбрать другие услуги",
- "changeTime": "Выбрать другое время",
- "changeRecord": "Изменить запись",
- "deleteRecord": "Удалить запись"
}, - "orderErrors": {
- "unknown": "некорректные параметры записи",
- "server": "что-то пошло не так, попробуйте позже",
- "code_400": "некорректный email",
- "code_404": "некорректные параметры записи",
- "code_422": "некорректные параметры записи",
- "code_437": "пересечение по времени с другим визитом",
- "code_433": "невозможно записаться на выбранное время",
- "code_436": "нет сотрудников доступных для записи",
- "code_438": "невозможно записаться на выбранные услуги",
- "code_501": "неизвестная ошибка",
- "bigLetter": {
- "unknown": "Некорректные параметры записи",
- "server": "Что-то пошло не так, попробуйте позже",
- "code_400": "Некорректный email",
- "code_404": "Некорректные параметры записи",
- "code_422": "Некорректные параметры записи",
- "code_437": "Пересечение по времени с другим визитом",
- "code_433": "Невозможно записаться на выбранное время",
- "code_436": "Нет сотрудников доступных для записи",
- "code_438": "Невозможно записаться на выбранные услуги",
- "code_501": "Неизвестная ошибка"
}
}, - "errors": {
- "name": {
- "required": "Введите имя"
}, - "company": {
- "required": "Введите название компании"
}, - "phone": {
- "required": "Введите телефон",
- "incorrect": "Неверный номер"
}, - "email": {
- "required": "Введите email",
- "invalid": "Некорректный формат email"
}, - "agreement": {
- "required": "Вы должны принять пользовательское соглашение"
}, - "agreement_privacy_and_terms_of_use": {
- "required": "Для продолжения необходимо принять пользовательское соглашение, а также дать согласие на обработку персональных данных"
}, - "comment_default": {
- "required": "Введите комментарий"
}, - "comment": {
- "required": "Заполните поле"
}, - "code": {
- "incorrect": "Указан неверный код из смс"
}
}
}, - "login": {
- "login": "Вход",
- "sms_auth": "SMS авторизация",
- "input_code_confirm": "Введите код, полученный по SMS на номер",
- "input_phone_num": "Введите номер телефона, на него мы отправим SMS с кодом доступа к личному кабинету",
- "input_login_and_password": "Если у вас уже есть логин и пароль введите их ниже",
- "code_confirm": "Код подтверждения",
- "come_in": "Войти",
- "sms_not_send_with_colon": "Если SMS не пришла, повторный код можно запросить через:",
- "sms_not_send": "Если SMS не пришла, повторный код можно запросить через ",
- "sms_not_send_next_try": "Если SMS не пришла вы можете",
- "request_new_sms_code": "Запросить код повторно",
- "change_phone_num": "Изменить номер телефона",
- "get_code": "Получить код",
- "or": "или",
- "authorized_as": "Вы авторизовались как",
- "come_in_with_login_and_pass": "Войдите с логином и паролем",
- "phone_or_email": "Телефон или email",
- "pass": "Пароль",
- "come_in_with_sms_authorise": "Войдите через SMS авторизацию",
- "errors": {
- "incorrect_login_password": "Пользователя с таким логином или паролем не существует",
- "undefined_error": "Произошла системная ошибка, попробуйте авторизоваться попозже"
}
}, - "Jan": "января",
- "Feb": "февраля",
- "March": "марта",
- "Mar": "марта",
- "Apr": "апреля",
- "May": "мая",
- "Jun": "июня",
- "Jul": "июля",
- "Aug": "августа",
- "Sep": "сентября",
- "Oct": "октября",
- "Nov": "ноября",
- "Dec": "декабря",
- "activity": {
- "places_left": "Осталось мест",
- "filters": {
- "select": "Выберите фильтры",
- "reset": "Сбросить",
- "apply": "Применить"
}
}, - "button": {
- "select": "Выбрать",
- "select_time": "Выбрать время",
- "all_right": "Все верно",
- "get_sms": "Получить СМС",
- "back": "Вернуться",
- "add_more": "Добавить еще",
- "remove-from-record": "Удалить из заказа",
- "continue": "Продолжить",
- "confirm": "Подтвердить",
- "canceling": "Отмена",
- "more_reviews": "Еще отзывы"
}, - "landscape": "Будет удобнее, если повернуть устройство вертикально"
}
Вася
) - Имя клиентаcompany_id required | number Example: 4564 ID компании |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
phone | string Номер телефона клиента |
fulname | string Имя клиента |
success | boolean Статус успешности выполнения (true) |
object Метаданные |
{- "phone": "79991234567",
- "fulname": "Вася"
}
{- "success": true,
- "meta": {
- "message": "Created"
}
}
После формирования параметров записи(ей) можно проверить их на возможность создание записей.
JSON-Объект содержащий параметры онлайн записи имеет следующие поля:
Поле | Тип | Обязательный | Описание |
---|---|---|---|
appointments | Массив объектов | ДА | Параметры записи (услуги, специалисты...) |
Массив appointments состоит из объектов, которые имеют следующие поля:
Поле | Тип | Обязательный | Описание |
---|---|---|---|
id | number | Да | Идентификатор записи для обратной связи после сохранения (смотри ответ на запрос). |
services | array of numbers | НЕТ | Массив идентификаторов услуг, на которые клиент хочет записаться |
staff_id | number | ДА | Идентификатор специалиста, к которому клиент хочет записаться (0 если выбран любой мастер) |
datetime | datetime | ДА | Дата и время сеанса в формате ISO8601 (передается для каждого сеанса в ресурсе book_times) |
В ответ на запрос проверки параметров придет пустой ответ с кодом 201 если параметры записи в порядке и записи могут быть созданы:
Если в ответ придет JSON с HTTP кодом отличным от 201, значит параметры записи не в порядке, а записи не могут быть созданы.
Ошибки, которые может вернуть сервер:
Выбранное время одной из записей уже занято. В этом случае приходит ответ с http-кодом 422 и кодом ошибки 433, а так же в поле id передается идентификатор записи из массива appointments
Нет сотрудников доступных для записи (если был выбран мастер по умолчанию). В этом случае приходит ответ с http-кодом 422 и кодом ошибки 436
Выбранное время одной из записей пересекается с временем записи, создаваемой этим же запросом. В этом случае приходит ответ с http-кодом 422 и кодом ошибки 437, а так же в поле id передается идентификатор записи из массива appointments
Нет записи на указанную услуги. (Компания уже удалили выбранные услуги) В этом случае приходит ответ с http-кодом 422 и кодом ошибки 438
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
appointments required | Array of objects Параметры записи (услуги, специалисты...) |
success | boolean Статус успешности выполнения (true) |
object Метаданные |
success | boolean Статус успешности выполнения (true) |
object Метаданные |
{- "appointments": [
- {
- "id": 1,
- "services": [
- 331
], - "staff_id": 6544,
- "datetime": 1443612600
}, - {
- "id": 2,
- "services": [
- 99055
], - "staff_id": 6544,
- "datetime": 1443614400
}
]
}
{- "success": true,
- "meta": {
- "message": "Created"
}
}
JSON-Объект содержащий параметры онлайн записи имеет следующие поля:
Поле | Тип | Обязательный | Описание |
---|---|---|---|
phone | string | ДА | Телефон клиента (например 79161502239) |
fullname | string | ДА | Имя клиента |
string | НЕТ | Почтовый адрес клиента | |
appointments | Массив объектов | ДА | Параметры записи (услуги, специалисты...) |
code | string | НЕТ | Код подтверждения номера телефона, высланный по СМС (нужен только в случае необходимости подтверждения номера) |
notify_by_sms | number | НЕТ | За какое кол-во часов отправить смс напоминание о записи (0 если не нужно напоминать) |
notify_by_email | number | НЕТ | За какое кол-во часов отправить email напоминание о записи (0 если не нужно напоминать) |
comment | string | НЕТ | Комментарий к записи |
api_id | string | НЕТ | Внешний идентификатор записи |
Массив appointments состоит из объектов, которые имеют следующие поля:
Поле | Тип | Обязательный | Описание |
---|---|---|---|
id | number | Да | Идентификатор записи для обратной связи после сохранения (смотри ответ на запрос). |
services | array of numbers | НЕТ | Массив идентификаторов услуг, на которые клиент хочет записаться |
staff_id | number | ДА | Идентификатор специалиста, к которому клиент хочет записаться (0 если выбран любой мастер) |
datetime | datetime | ДА | Дата и время сеанса в формате ISO8601 (передается для каждого сеанса в ресурсе book_times) |
custom_fields | key-value object | НЕТ | Значения дополнительных полей записи которые возвращаются вместе с записью |
Дополнительные поля в массиве appointments
При создании дополнительных полей записи (см. раздел "Дополнительные поля") становится возможным передавать собственные значения для полей. Дополнительные поля уникальны для каждой компании. После создания дополнительных полей, их значения для конкретной записи могут передаваться в необязательном поле custom_fields в виде пар ключ-значение где ключ это поле "code" дополнительного поля. Пример:
В ответ на запрос создания записи придет массив объектов (кол-во объектов равно кол-ву объектов в массиве appointments) со следующими полями:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор записи, переданный в массиве appointments |
record_id | number | Идентификатор созданной в системе записи |
record_hash | string | Идентификатор записи, для ее удаления непосредственно сразу после создания |
Ошибки, которые необходимо обрабатывать:
Введенный код подтверждения номера из SMS неправильный. В этом случае приходит ответ с http-кодом 422 и кодом ошибки 432
Выбранное время одной из записей уже занято. В этом случае приходит ответ с http-кодом 422 и кодом ошибки 433, а так же в поле id передается идентификатор записи из массива appointments
Пользователь с указанным телефоном в черном списке и не может записываться. В этом случае приходит ответ с http-кодом 403 и кодом ошибки 434
Номер телефона пользователя в неправильном формате. В этом случае приходит ответ с http-кодом 422 и кодом ошибки 431
Не указано имя клиента. В этом случае приходит ответ с http-кодом 422 и кодом ошибки 435
Нет сотрудников доступных для записи (если был выбран мастер по умолчанию). В этом случае приходит ответ с http-кодом 422 и кодом ошибки 436
Выбранное время одной из записей пересекается с временем записи, создаваемой этим же запросом. В этом случае приходит ответ с http-кодом 422 и кодом ошибки 437, а так же в поле id передается идентификатор записи из массива appointments
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
phone required | string Телефон клиента |
fullname required | string Имя клиента |
string Почтовый адрес клиента | |
code | number Код подтверждения телефона, высланный по смс (обязателен если у компании выставлен phone_conformation = true) |
comment | string Коммаентарий к записи |
type | string Источник записи |
notify_by_sms | number За сколько часов до визита следует выслать смс напоминание клиенту (0 - если не нужно) |
notify_by_email | number За сколько часов до визита следует выслать email напоминание клиенту (0 - если не нужно) |
api_id | number ID записи из внешней системы |
Array of objects Параметры записей (сеанс, услуги, мастер) |
success | boolean Статус успешности выполнения (true) |
Array of objects Данные (массив объектов) | |
meta | Array of objects Метаданные (пустой массив) |
{- "phone": "79000000000",
- "fullname": "ДИМА",
- "code": "38829",
- "comment": "тестовая запись!",
- "type": "mobile",
- "notify_by_sms": 6,
- "notify_by_email": 24,
- "api_id": "777",
- "appointments": [
- {
- "id": 1,
- "services": [
- 331
], - "staff_id": 6544,
- "datetime": 1443517200,
- "custom_fields": {
- "my_custom_field": 123,
- "some_another_field": [
- "first value",
- "next value"
]
}
}, - {
- "id": 2,
- "services": [
- 99055
], - "staff_id": 6544,
- "datetime": 1443614400,
- "custom_fields": {
- "my_custom_field": 456,
- "some_another_field": [
- "next value",
- "last value"
]
}
}
]
}
{- "success": true,
- "data": [
- {
- "id": 1,
- "record_id": 2820023,
- "record_hash": "567df655304da9b98487769426d4e76e"
}, - {
- "id": 2,
- "record_id": 2820024,
- "record_hash": "34a45ddabdd446d5d33bdd27fbf855b2"
}
], - "meta": [ ]
}
company_id required | number ID компании |
record_id required | number ID записи которую необходимо перенести |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
datetime | string <date-time> Дата и время на которое мы хотим перенести запись |
comment | string Комментарий к записи |
success | boolean Статус успешности выполнения (true) |
object Данные (объект) |
{- "datetime": 1463754600,
- "comment": "DODO!"
}
{- "success": true,
- "data": {
- "id": 30358,
- "services": [
- {
- "id": 2838,
- "title": "Массаж ног",
- "cost": 0,
- "discount": 0
}
], - "company": {
- "id": 4564,
- "title": "",
- "country_id": "0",
- "country": "",
- "city_id": "0",
- "city": "Москва",
- "phone": "+7 916 684-41-22",
- "timezone": "0",
- "address": "",
- "coordinate_lat": "0",
- "coordinate_lon": "0"
}, - "staff": {
- "id": 924,
- "name": "Евгения",
- "spec": "о ес",
- "show_rating": "1",
- "rating": "5",
- "votes_count": "1",
- "comments_count": "0"
}, - "date": 1463754600,
- "create_date": 1463668210,
- "comment": "",
- "deleted": true,
- "length": 3600,
- "notify_by_sms": 0,
- "notify_by_email": 0,
- "master_requested": false,
- "online": true,
- "api_id": "0"
}
}
company_id required | number ID компании |
record_id required | number Example: 22123 ID записи (достаточно для просмотра записи если пользователь авторизован) |
record_hash required | string Example: 'dawd4fs09rhf0s9fafef0' HASH записи (обязательно для просмотра записи если пользователь не авторизован) |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | number ID записи |
Array of objects Список ID услуг | |
object Параметры компании | |
object Параметры сотрудника | |
clients_count | integer <int32> |
date | string <date-time> 04-02T12:00:00Z' (required, string) - Дата сеанса |
datetime | string <date-time> Дата сеанса в ISO |
create_date | string <date-time> 04-02T12:00:00Z' (required, string) - Дата создания записи |
comment | string Комментарий к записи |
deleted | boolean Удалена ли запись (true если удалена) |
attendance | number 2 - Пользователь подтвердил запись, 1 - Пользователь пришел, услуги оказаны, 0 - ожидание пользователя, -1 - пользователь не пришел на визит |
length | number Длительность сеанса |
notify_by_sms | number За какое кол-во часов отправить смс напоминание о записи (0 если не нужно напоминать) |
notify_by_email | number За какое кол-во часов отправить email напоминание о записи (0 если не нужно напоминать) |
master_requested | boolean Был ли указан определенный специалист при записи (false если был указан "не имеет значения") |
online | boolean Запись онлайновая или нет (false если запись внес администратор) |
api_id | string Внешний идентификатор записи |
last_change_date | string <date-time> Дата последнего редактирования записи |
prepaid | boolean Доступна ли онлайн-оплата для записи |
prepaid_confirmed | boolean Статус online-оплаты |
activity_id | number ID групповой записи |
{- "id": 13132699,
- "services": [
- {
- "id": 389043,
- "title": "Коррекция нарощенных ногтей",
- "cost": 2300,
- "price_min": 2300,
- "price_max": 2300,
- "discount": 0,
- "amount": 1,
- "seance_length": 1800
}
], - "company": {
- "id": 4564,
- "title": "Салон корекции ногтей",
- "country_id": 1,
- "country": "Россия",
- "city_id": 2,
- "city": "Москва",
- "phone": "+84 9 243 31 231",
- "phones": [
- "+84 9 243 31 231",
- "+84 9 243 31 231"
], - "timezone": 12,
- "address": "ул. Образцова, 345",
- "coordinate_lat": 54.786441,
- "coordinate_lon": 37.608852,
- "allow_delete_record": true,
- "allow_change_record": true,
- "site": "www.nogti.com",
- "currency_short_title": "₽",
- "allow_change_record_delay_step": 0,
- "allow_delete_record_delay_step": 0
}, - "staff": {
- "id": 55436,
- "name": "Наталья",
- "specialization": "Мастер маникюра и педикюра",
- "position": {
- "id": 446,
- "title": "Мастер маникюра"
}, - "show_rating": 1,
- "rating": 4.84,
- "votes_count": 0,
- "comments_count": 37
}, - "clients_count": 1,
- "date": 1508866200,
- "datetime": "2017-10-24T17:30:00+0000",
- "create_date": "2017-10-20T21:40:24+0000",
- "comment": "",
- "deleted": true,
- "attendance": 0,
- "length": 1800,
- "notify_by_sms": 0,
- "notify_by_email": 0,
- "master_requested": false,
- "online": true,
- "api_id": "",
- "last_change_date": "2017-10-24T23:54:02+0000",
- "prepaid": false,
- "prepaid_confirmed": false,
- "activity_id": 0
}
company_id required | number ID компании |
activity_id required | number ID группового события |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
fullname required | string Имя клиента |
phone required | string Телефон клиента (например 79161502239) |
string Почтовый адрес клиента | |
code | number Код подтверждения телефона, высланный по смс (обязателен если у компании выставлен phone_conformation = true) |
comment | string Комментарий к записи |
notify_by_sms | integer <int32> За какое кол-во часов отправить смс напоминание о записи (0 если не нужно напоминать) |
notify_by_email | integer <int32> За какое кол-во часов отправить email напоминание о записи (0 если не нужно напоминать) |
type | string Источник записи |
api_id | number ID записи из внешней системы |
clients_count | number количество занимаемых мест |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "id": 28417878,
- "hash": "9e6a54a1a9b118b65cc39ab6f3c3b5b4"
}, - "meta": [ ]
}
Объект даты, доступные для бронирования имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
working_days | массив рабочих дней сгруппированных по месяцам | Рабочие дни сотрудника/организации |
working_dates | array of dates | Массив дат, когда работает сотрудник/организация |
booking_days | массив дней, когда есть свободные сеансы | Массив дней, которые доступны для бронирования на указанные услуги |
booking_dates | array of dates | Массив дат, когда есть свободные сеансы на услугу к выбранному сотруднику/организации |
working days и booking_days имеют одинаковый формат: месяц:[массив дней в этом месяце]
Например такой booking_days: "9": [ "4", "5"] "10": [ "14", "25"] Означает что на 4 и 5 сентября, и на 14 и 25 октября есть свободные сеансы для бронирования
Доступны следующие фильтры:
company_id required | number ID компании |
service_ids[] | string ID услуг. Фильтр по списку идентификаторов услуг |
staff_id | number Example: staff_id=0 ID сотрудника. Фильтр по идентификатору сотрудника Default: 0 |
date | string Example: date=2015-09-01 дата в формате iso8601. Фильтр по месяцу бронирования. |
date_from | string Example: date_from=2015-09-01 дата в формате iso8601. Начало диапазона поиска. Используется в паре с параметром "date_to" и имеет приоритет перед параметром "date". |
date_to | string Example: date_to=2015-09-30 дата в формате iso8601. Окончание диапазона поиска. Используется в паре с параметром "date_from" и имеет приоритет перед параметром "date". |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Статус успешности выполнения (true) |
object Данные (объект) | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "booking_days": {
- "9": [
- "4",
- "5",
- "8",
- "9",
- "12",
- "13",
- "16",
- "17",
- "20",
- "21",
- "24",
- "25",
- "28",
- "29",
- "30"
], - "10": [
- "1",
- "4",
- "5",
- "8",
- "9",
- "12",
- "13",
- "16",
- "17",
- "20",
- "21",
- "24",
- "25"
]
}, - "booking_dates": [
- 1441324800,
- 1441411200,
- 1441670400,
- 1441756800,
- 1442016000,
- 1442102400,
- 1442361600,
- 1442448000,
- 1442707200,
- 1442793600,
- 1443052800,
- 1443139200,
- 1443398400,
- 1443484800,
- 1443571200,
- 1443657600,
- 1443916800,
- 1444003200,
- 1444262400,
- 1444348800,
- 1444608000,
- 1444694400,
- 1444953600,
- 1445040000,
- 1445299200,
- 1445385600,
- 1445644800,
- 1445731200
], - "working_days": {
- "9": [
- "4",
- "5",
- "8",
- "9",
- "12",
- "13",
- "16",
- "17",
- "20",
- "21",
- "24",
- "25",
- "28",
- "29",
- "30"
], - "10": [
- "1",
- "4",
- "5",
- "8",
- "9",
- "12",
- "13",
- "16",
- "17",
- "20",
- "21",
- "24",
- "25"
]
}, - "working_dates": [
- 1441324800,
- 1441411200,
- 1441670400,
- 1441756800,
- 1442016000,
- 1442102400,
- 1442361600,
- 1442448000,
- 1442707200,
- 1442793600,
- 1443052800,
- 1443139200,
- 1443398400,
- 1443484800,
- 1443571200,
- 1443657600,
- 1443916800,
- 1444003200,
- 1444262400,
- 1444348800,
- 1444608000,
- 1444694400,
- 1444953600,
- 1445040000,
- 1445299200,
- 1445385600,
- 1445644800,
- 1445731200
]
}, - "meta": [ ]
}
Объект услуг, доступных для бронирования имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
categories | массив объектов | Массив категорий услуг (забронировать категорию нельзя) |
services | массив объектов | Услуги, доступные для бронирования, с указанием категории |
Объект из массива categories, имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор категории |
title | string | Название категории |
sex | number | Принадлежность категории к полу (1 - мужской, 2 - женский, 0 - не задано) |
weight | number | Вес категории. При выводе категории сортируются по весу, сначала более тяжелые |
api_id | string | Внешний идентификатор категории |
Объект из массива services, имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор услуги |
title | string | Название услуги |
category_id | number | Идентификатор категории, которой принадлежит услуга |
weight | number | Вес категории. При выводе услуги сортируются по весу, сначала более тяжелые |
price_min | number | Минимальная стоимость услуги |
price_max | number | Максимальная стоимость услуги |
discount | number | Скидка по услуге |
comment | string | Комментарий к услуге |
active | number | Активная ли услуга |
prepaid | string | Статус онлайн-оплаты |
sex | number | Пол, для которого оказывается услуга |
seance_length | number | Длительность оказания услуги в секундах (только если задан фильтр по сотруднику) |
image | string | Изображение услуги |
Если необходимо получить услуги, которые оказывает конкретный специалист, то нужно воспользоваться фильтром по специалисту. Доступны следующие фильтры:
company_id required | number Example: 4564 ID компании |
staff_id | number Example: staff_id=0 ID сотрудника. Фильтр по идентификатору сотрудника Default: 0 |
datetime | number Example: datetime=`` дата (в формате iso8601). Фильтр по дате бронирования услуги (например '2005-09-09T18:30') Default: '' |
service_ids[] | Array of numbers ID услуг. Фильтр по списку идентификаторов уже выбранных (в рамках одной записи) услуг. Имеет смысл если задан фильтр по мастеру и дате. |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Статус успшности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "events": [ ],
- "services": [
- {
- "id": 1896208,
- "title": "Мытье волос",
- "category_id": 1895571,
- "price_min": 0,
- "price_max": 0,
- "discount": 0,
- "comment": "",
- "weight": 0,
- "active": 0,
- "sex": 0,
- "image": "",
- "prepaid": "forbidden",
- "seance_length": 3600
}, - {
- "id": 1896303,
- "title": "Окрашивание",
- "category_id": 1895574,
- "price_min": 0,
- "price_max": 0,
- "discount": 0,
- "comment": "",
- "weight": 0,
- "active": 0,
- "sex": 0,
- "image": "",
- "prepaid": "forbidden",
- "seance_length": 3600
}
], - "category": [
- {
- "id": 1895571,
- "title": "Уходы для волос",
- "sex": 0,
- "api_id": 0,
- "weight": 60
}, - {
- "id": 1895574,
- "title": "Окрашивание волос",
- "sex": 0,
- "api_id": 0,
- "weight": 7
}
]
}, - "meta": [ ]
}
Объект ближайших сеансов сотрудника имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
seance_date | string | Ближайшая дата с доступными сеансами |
seances | Array | Список доступных сеансов |
company_id required | number ID компании |
staff_id required | number ID сотрудника |
service_ids[] | Array of numbers ID услуг. Фильтр по списку идентификаторов услуг |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "seance_date": 1492041600,
- "seances": [
- {
- "time": "10:00",
- "seance_length": 3600,
- "datetime": 1492063200
}, - {
- "time": "10:15",
- "seance_length": 3600,
- "datetime": 1492064100
}, - {
- "time": "10:30",
- "seance_length": 3600,
- "datetime": 1492065000
}, - {
- "time": "10:45",
- "seance_length": 3600,
- "datetime": 1492065900
}, - {
- "time": "11:00",
- "seance_length": 3600,
- "datetime": 1492066800
}
]
}, - "meta": [ ]
}
Каждый объект из массива сотрудников, доступных для бронирования имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор сотрудника |
name | string | Имя сотрудника |
specialization | string | Специализация сотрудника |
position | object | Должность сотрудника |
bookable | boolean | Есть ли у сотрудника сеансы, доступные для бронирования |
weight | number | Вес сотрудника. При выводе сотрудники сортируются по весу, сначала более тяжелые |
show_rating | number | Показывать ли рейтинг сотрудника (1 - показывать, 0 - не показывать) |
rating | number | Рейтинг сотрудника |
votes_count | number | Кол-во голос, оценивших сотрудника |
comments_count | number | Кол-во комментариев к сотруднику |
avatar | string | Путь к файлу аватарки сотрудника |
information | string | Дополнительная информация о сотруднике (HTML формат) |
seance_date | string | Дата ближайшего дня, на который есть доступные сеансы (только для bookable = true) |
Доступны следующие фильтры:
company_id required | number Example: 4564 ID компании |
service_ids[] | Array of numbers ID услуг. Фильтр по списку идентификаторов услуг |
datetime | number дата в формате iso8601. Фильтр по дате бронирования услуги (например '2005-09-09T18:30') |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": "16",
- "name": "Вася",
- "bookable": true,
- "specialization": "Фельдшер",
- "position": {
- "id": 1,
- "title": "Администратор"
}, - "show_rating": "1",
- "rating": "3",
- "votes_count": "1",
- "comments_count": "0",
- "weight": "11",
- "information": "<span></span>",
- "seance_date": 1443139200,
- "seances": [ ]
}, - {
- "id": "32",
- "name": "Петя",
- "bookable": false,
- "specialization": "Терапевт",
- "position": [ ],
- "show_rating": "1",
- "rating": "4",
- "votes_count": "1",
- "comments_count": "0",
- "weight": "8",
- "information": "<span></span>"
}
], - "meta": [ ]
}
Объект сеансы, доступные для бронирования имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
time | string | Время сеанса (17:30 например) |
seance_length | number | Длительность сеанса в секундах |
datetime | datetime | Дата и время сеанса в формате ISO8601 (нужно передавать при создании записи) |
Доступны следующие фильтры:
company_id required | number ID компании |
date required | string дата в формате iso8601. Фильтр по дате бронирования (например '2015-09-30') |
staff_id required | number Example: 0 ID сотрудника. Фильтр по идентификатору сотрудника Default: 0 |
service_ids[] | string ID услуг. Фильтр по списку идентификаторов услуг |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "time": "12:00",
- "seance_length": 3600,
- "datetime": 1443513600
}, - {
- "time": "13:00",
- "seance_length": 3600,
- "datetime": 1443517200
}, - {
- "time": "14:00",
- "seance_length": 3600,
- "datetime": 1443520800
}, - {
- "time": "15:00",
- "seance_length": 3600,
- "datetime": 1443524400
}, - {
- "time": "16:00",
- "seance_length": 3600,
- "datetime": 1443528000
}
], - "meta": [ ]
}
Для доступа к своим онлайн и оффлайн (сделанным по телефону) записям пользователь должен авторизоваться подтвердив свой номер телефона. Для этого ему нужно выслать на свой номер телефона код подтверждения с помощью ресурса "СМС код подтверждения номера телефона
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
login required | string Номер телефона или Email |
password required | string Пароль |
user_token | string User_token пользователя |
{- "password": "testpass"
}
{- "user_token": "wec23fh8cDfFV4432fc352456"
}
JSON-Объект содержащий параметры записи пользователя имеет следующие поля:
Поле | Тип | Обязательный | Описание |
---|---|---|---|
id | number | ДА | ID записи |
services | array of numbers | ДА | Список ID услуг записи |
company | object | ДА | Параметры компании |
staff | object | ДА | Параметры специалиста, которые был забронирован |
clients_count | int | ДА | Количество клиентов |
date | string | ДА | Дата сеанса |
datetime | string | ДА | Дата сеанса в ISO |
create_date | string | ДА | Дата создания записи |
length | number | ДА | Длительность сеанса |
deleted | boolean | ДА | Удалена ли запись (true если удалена) |
notify_by_sms | number | НЕТ | За какое кол-во часов отправить смс напоминание о записи (0 если не нужно напоминать) |
notify_by_email | number | НЕТ | За какое кол-во часов отправить email напоминание о записи (0 если не нужно напоминать) |
comment | string | ДА | Комментарий к записи |
master_requested | boolean | ДА | Был ли указан определенный специалист при записи (false если был указан "не имеет значения") |
online | boolean | ДА | Запись онлайновая или нет (false если запись внес администратор) |
visit_attendance | number | ДА | 2 - Пользователь подтвердил запись, 1 - Пользователь пришел, услуги оказаны, 0 - ожидание пользователя, -1 - пользователь не пришел на визит |
api_id | string | НЕТ | Внешний идентификатор записи |
last_change_date | string | НЕТ | Дата последнего редактирования записи |
prepaid | boolean | НЕТ | Доступна ли онлайн-оплата для записи |
prepaid_confirmed | boolean | НЕТ | Статус online-оплаты |
last_change_date | string | НЕТ | Дата последнего редактирования записи |
activity_id | int | НЕТ | ID чего групповой записи |
Каждый объект из массива services имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор услуги |
title | string | Название услуги |
cost | float | Стоимость услуги |
price_min | float | Минимальная цена услуги |
price_max | float | Максимальная цена услуги |
discount | float | Скидка |
amount | int | Количество заказанных услуг |
seance_length | int | Длительность оказания услуги в секундах (только если задан фильтр по сотруднику) |
Объект company имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор компании |
title | string | Название компании |
country_id | number | Идентификатор страны, в которой расположена компания |
country | string | Название старны компании |
city_id | number | Идентификатор города, в котором расположена компания) |
city | string | Название города компании |
timezone | string | Timezone компании |
address | string | Адрес, по которому расположена компания |
phone | string | Основной номер телефона компании |
phones | array of strings | Все номера телефонов компании |
coordinate_lat | float | Широта, на которой расположена компания |
coordinate_lng | float | Долгота |
allow_delete_record | boolean | Можно ли удалять запись |
allow_change_record | boolean | Можно ли переносить запись |
site | string | Сайт компании |
currency_short_title | string | Символ валюты |
allow_change_record_delay_step | int | Время, через которое можно переносить запись |
allow_delete_record_delay_step | int | Время, через которое можно удалять запись |
Объект staff имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор сотрудника |
name | string | Имя сотрудника |
specialization | string | Специализация сотрудника |
position | object | Должность сотрудника |
show_rating | number | Показывать ли рейтинг сотрудника (1 - показывать, 0 - не показывать) |
rating | number | Рейтинг сотрудника |
votes_count | number | Кол-во голос, оценивших сотрудника |
comments_count | number | Кол-во комментариев к сотруднику |
avatar | string | Путь к файлу аватарки сотрудника |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": 13132699,
- "services": [
- {
- "id": 389043,
- "title": "Коррекция нарощенных ногтей",
- "cost": 2300,
- "price_min": 2300,
- "price_max": 2300,
- "discount": 0,
- "amount": 1,
- "seance_length": 1800
}
], - "company": {
- "id": 4564,
- "title": "Салон корекции ногтей",
- "country_id": 1,
- "country": "Россия",
- "city_id": 2,
- "city": "Москва",
- "phone": "+84 9 243 31 231",
- "phones": [
- "+84 9 243 31 231",
- "+84 9 243 31 231"
], - "timezone": 12,
- "address": "ул. Образцова, 345",
- "coordinate_lat": 54.786441,
- "coordinate_lon": 37.608852,
- "allow_delete_record": true,
- "allow_change_record": true,
- "site": "www.nogti.com",
- "currency_short_title": "₽",
- "allow_change_record_delay_step": 0,
- "allow_delete_record_delay_step": 0
}, - "staff": {
- "id": 55436,
- "name": "Наталья",
- "specialization": "Мастер маникюра и педикюра",
- "position": {
- "id": 446,
- "title": "Мастер маникюра"
}, - "show_rating": 1,
- "rating": 4.84,
- "votes_count": 0,
- "comments_count": 37
}, - "clients_count": 1,
- "date": 1508866200,
- "datetime": "2017-10-24T17:30:00+0000",
- "create_date": "2017-10-20T21:40:24+0000",
- "comment": "",
- "deleted": true,
- "attendance": 0,
- "length": 1800,
- "notify_by_sms": 0,
- "notify_by_email": 0,
- "master_requested": false,
- "online": true,
- "api_id": "",
- "last_change_date": "2017-10-24T23:54:02+0000",
- "prepaid": false,
- "prepaid_confirmed": false,
- "activity_id": 0
}, - {
- "id": 13133413,
- "services": [
- {
- "id": 389045,
- "title": "Массаж рук (10 мин)",
- "cost": 300,
- "price_min": 300,
- "price_max": 400,
- "discount": 0,
- "amount": 1,
- "seance_length": 1800
}
], - "company": {
- "id": 4564,
- "title": "Салон корекции ногтей",
- "country_id": 1,
- "country": "Россия",
- "city_id": 2,
- "city": "Москва",
- "phone": "+84 9 243 31 231",
- "phones": [
- "+84 9 243 31 231",
- "+84 9 243 31 231"
], - "timezone": 12,
- "address": "ул. Образцова, 345",
- "coordinate_lat": 54.786441,
- "coordinate_lon": 37.608852,
- "allow_delete_record": true,
- "allow_change_record": true,
- "site": "www.nogti.com",
- "currency_short_title": "₽",
- "allow_change_record_delay_step": 0,
- "allow_delete_record_delay_step": 0
}, - "staff": {
- "id": 55436,
- "name": "Наталья",
- "specialization": "Мастер маникюра и педикюра",
- "position": {
- "id": 446,
- "title": "Мастер маникюра"
}, - "show_rating": 1,
- "rating": 4.84,
- "votes_count": 0,
- "comments_count": 37
}, - "clients_count": 1,
- "date": 1508866200,
- "datetime": "2017-10-24T17:30:00+0000",
- "create_date": "2017-10-20T21:40:24+0000",
- "comment": "",
- "deleted": true,
- "attendance": 0,
- "length": 1800,
- "notify_by_sms": 0,
- "notify_by_email": 0,
- "master_requested": false,
- "online": true,
- "api_id": "",
- "last_change_date": "2017-10-24T23:54:02+0000",
- "prepaid": false,
- "prepaid_confirmed": false,
- "activity_id": 0
}
], - "meta": [ ]
}
record_id required | number Example: 22123 ID записи (достаточно для удаления записи если пользователь авторизован) |
record_hash required | string Example: 'dawd4fs09rhf0s9fafef0' HASH записи (обязательно для удаления записи если пользователь не авторизован) |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
При смене пароля пользователем онлайн-записи его API-ключ изменится и потребуется новая авторизация
Атрибут | Тип | Описание |
---|---|---|
login | string | В качестве логина может быть использован номер телефона посетителя в формате 79161234567 или его Email |
password | string | Пароль посетителя |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
login required | string Номер телефона или Email |
password required | string Пароль |
id | integer <int32> Идентификатор пользователя |
user_token | string User_token пользователя |
name | string Имя пользователя |
phone | string Телефон пользователя |
login | string Логин пользователя |
string Почтовый адрес пользователя | |
avatar | string Путь к файлу аватарки пользователя |
{- "password": "testpass"
}
{- "id": 123456,
- "user_token": "wec23fh8cDfFV4432fc352456",
- "name": "Иван Попов",
- "phone": "79161001010",
- "login": "79161001010",
}
В запросе должен обязательно присутствовать один из двух параметров: company_id или group_id
company_id required | integer Идентификатор компании |
group_id required | integer Идентификатор сети |
phone required | string Номер телефона |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
Обновление пароля пользователя онлайн-записи.
В ответе приходит новый токен пользователя.
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
old_password | string Текущий пароль |
new_password | string Новый пароль |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "old_password": "qwerty123",
- "new_password": "example!"
}
{- "success": true,
- "data": {
- "user_token": "4de9d8cc108c0"
}, - "meta": [ ]
}
Обновление основных данных пользователя онлайн-записи.
При обновлении номера телефона нужно отправлять поле confirmation_code с кодом, который нужно получить из ресурса СМС код подтверждения номера телефона для изменения данных
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
name | string Имя |
string Почта | |
phone | string Номер телефона |
confirmation_code | string Код подтверждения из смс (при смене номера телефона) |
{- "name": "Вася",
- "phone": "79999999999",
- "confirmation_code": "1234"
}
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
Получение данных пользователя онлайн-записи.
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
0 | string Токен пользователя |
id | integer <int32> Идентификатор пользователя |
user_token | string Токен пользователя |
name | string Имя пользователя |
phone | string Телефон пользователя |
login | string Логин пользователя |
string Почта пользователя | |
avatar | string Аватар пользователя |
{- "0": "152afb01134237bc844d7e",
- "id": 32132133,
- "user_token": "152afb01134237bc844d7e",
- "name": "Вася",
- "phone": "79999999999",
- "login": "79999999999",
}
Для работы с компаниями используются следующие методы
Объект компании имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор компании |
title | string | Название компании (Обязательное поле для создания компании) |
logo | string | Адрес изображения логотипа компании |
short_descr | string | Категория компании |
country_id | number | Идентификатор страны, в которой расположена компания |
country | string | Название старны компании |
city_id | number | Идентификатор города, в котором расположена компания) |
city | string | Название города компании |
timezone | string | Timezone компании |
schedule | string | Расписание работы компании |
address | string | Адрес, по которому расположена компания |
phone | string | Номер телефона компании |
coordinate_lat | float | Широта, на которой расположена компания |
coordinate_lon | float | Долгота |
app_ios | string | Ссылка на приложение под ios |
app_android | string | Ссылка на приложение под android |
phone_confirmation | boolean | Нужно ли подтверждать телефон по смс |
active_staff_count | number | Кол-во сотрудников доступных для бронирования |
next_slot | datetime | Дата и время ближайшего свободного сеанса в компании(ISO8601). Поле будет присутствовать только если передан GET параметр forBooking=1 |
booking_comment_required | boolean | Является ли поле с комментарием к записи обязательным для заполнения |
booking_email_required | boolean | Является ли поле Email к записи обязательным для заполнения |
booking_comment_input_name | string (optional) | Заголовок для поля с вводом комментария к записи (если не задано, то используется значение по умолчанию) |
booking_notify_text | string (optional) | Текст уведомления, которое выводится (если задано) на шаге ввода контактных данных |
reminds_sms_disabled | boolean | True - если у компании выключен сервис SMS напоминаний клиентам. |
group_priority | number | Чем больше приоритет, тем выше компания при выводе в списке филиалов сети |
allow_change_record | boolean | Изменение записи |
allow_change_record_delay_step | number | Запретить изменять записи за период. (В секундах) |
allow_delete_record | boolean | Удаление записи |
allow_delete_record_delay_step | number | Запретить удалять записи за период. (В секундах) |
Получить список с данными о компаниях
id | number Example: id=4564 ID компании. Фильтр по идентификатору компании |
group_id | number Example: group_id=83 ID сети компаний. Фильтр по идентификатору сети компаний Default: 83 |
my | number Example: my=1 Только для авторизованного пользователя. Если нужно компании, на управление которыми пользователь имеет права |
active | number Example: active=1 Если нужно получить только компании с активной лицензией и доступным бронированием |
moderated | number Example: moderated=1 Если нужно получить только прошедшие модерацию компании, чей контент проверен для публикации |
forBooking | number Example: forBooking=1 Показать дату и время ближайшего свободного сеанса в компании (ISO8601) |
show_groups | number Example: show_groups=1 Включить в объект компании список сетей в которые входит эта компания |
city_id | |
showBookforms | number Example: showBookforms=1 Включить в объект компании виджеты онлайн-записи |
vk_api_id | number Example: vk_api_id=2 Поиск виджеты онлайн-записи по vk_api_id. Параметр работает при showBookforms=1 |
min_id | number Example: min_id=1000 Минимальный ID компании |
show_deleted | number Example: show_deleted=1 Включить в список удалённые компании |
hide_record_type_single | number Example: hide_record_type_single=1 Не показывать салоны с индивидуальной записью |
hide_record_type_activity | number Example: hide_record_type_activity=1 Не показывать салоны с групповой записью |
hide_record_type_mixed | number Example: hide_record_type_mixed=1 Не показывать салоны со смешанной записью |
business_group_id | number Example: business_group_id=1 Идентификатор группы бизнеса. Фильтр по группе бизнеса |
business_type_id | number Example: business_type_id=1 Идентификатор сферы бизнеса. Фильтр по сфере бизнеса |
yandex | number Example: yandex=1 Фильтр по синхронизации данных компании с партнерскими площадкам |
include | Array of strings Items Enum: "staff" "positions" "accounts" "storages" "expenses" Example: include=staff&include=positions Включить в объект компании дополнительные данные |
count | number Количество компаний на странице |
page | number Номер страницы |
Accept required | string Должен быть равен |
Content-Type required | string Должен быть равен |
Authorization required | string Bearer partner_token |
success | boolean Статус успешного выполнения (true) |
Array of objects Массив объектов | |
meta | Array of objects Метаданные (пустой массив) |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
{- "success": true,
- "data": [
- {
- "id": "1050",
- "title": "Ля Визаж",
- "short_descr": "Салон красоты",
- "active": "1",
- "phone": "+7 495 509-24-46",
- "country_id": 1,
- "schedule": "",
- "country": "Россия",
- "city_id": 1,
- "city": "Москва",
- "timezone_name": "Europe/Moscow",
- "address": "Талалихина, д. 1, к. 2",
- "coordinate_lat": "55.735662",
- "coordinate_lon": "37.678218",
- "phone_confirmation": true,
- "active_staff_count": 2,
- "next_slot": "2023-03-23T10:10:00+0300",
- "app_ios": "",
- "app_android": "",
- "currency_short_title": "р",
- "group_priority": 900
}, - {
- "id": "1051",
- "title": "Ля Визаж 2",
- "short_descr": "Салон красоты",
- "active": "1",
- "phone": "+7 495 509-24-46",
- "country_id": 1,
- "country": "Россия",
- "city_id": 1,
- "city": "Москва",
- "timezone_name": "Europe/Moscow",
- "address": "Талалихина, д. 1, к. 2",
- "coordinate_lat": "55.835662",
- "coordinate_lon": "37.778218",
- "phone_confirmation": false,
- "active_staff_count": 3,
- "next_slot": "2023-03-23T10:10:00+0300",
- "app_ios": "",
- "app_android": "",
- "currency_short_title": "р",
- "group_priority": 901
}
], - "meta": { }
}
Создать новую компанию.
Accept required | string Должен быть равен |
Content-Type required | string Должен быть равен |
Authorization required | string Bearer partner_token, User user_token |
title | string Название компании |
country_id | number Идентификатор страны, в которой расположена копания (метод получения стран) |
city_id | number Идентификатор города, в котором расположена компания (метод получения городов) |
address | string Адрес компании |
site | string Сайт компании |
coordinate_lat | number <float> Широта |
coordinate_lot | number <float> Долгота |
business_type_id | number Сфера бизнеса |
short_descr | string Категория компании |
success | boolean Статус успешного выполнения (true) |
object Объект данных | |
meta | Array of objects Метаданные (пустой массив) |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "title": "Новая компания",
- "country_id": 1,
- "city_id": 2,
- "address": "Талалихина, д. 1, к. 2",
- "site": "new-company.ru",
- "coordinate_lat": "55.835662",
- "coordinate_lot": "37.778218",
- "business_type_id": 1,
- "short_descr": "Салон красоты"
}
{- "success": true,
- "data": {
- "id": "1050",
- "title": "Новая компания",
- "short_descr": "Салон красоты",
- "active": "1",
- "phone": "",
- "country_id": 1,
- "schedule": "",
- "country": "Россия",
- "city_id": 2,
- "city": "Москва",
- "timezone_name": "Europe/Moscow",
- "address": "Талалихина, д. 1, к. 2",
- "coordinate_lat": "55.735662",
- "coordinate_lon": "37.678218",
- "phone_confirmation": true,
- "active_staff_count": 2,
- "app_ios": "",
- "app_android": "",
- "currency_short_title": "р"
}, - "meta": { }
}
Получение данных о компании.
id required | number Example: 37532 Идентификатор компании, информацию о которой нужно получить. |
my | number Example: my=1 Только для авторизованного пользователя. Если нужны дополнительные данные по компании, на управление которой пользователь имеет права |
forBooking | number Example: forBooking=1 Показать дату и время ближайшего свободного сеанса в компании (ISO8601). |
show_groups | number Example: show_groups=1 Включить в объект компании список сетей в которые входит эта компания |
showBookforms | number Example: showBookforms=1 Показать виджеты онлайн-записи компании |
bookform_id | number Example: bookform_id=19203 Показать адрес виджета онлайн-записи с указанным идентификатором |
Accept required | string Должен быть равен |
Content-Type required | string Должен быть равен |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешного выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
object (Сообщение об ошибке запроса) Дополнительная информация об ошибках. | |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
object (Сообщение об ошибке запроса) Дополнительная информация об ошибках. | |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
{- "success": true,
- "data": {
- "id": 37532,
- "title": "Новая компания",
- "country_id": 1,
- "country": "Россия",
- "city_id": 1,
- "city": "Москва",
- "timezone_name": "Europe/Moscow",
- "address": "Большой Саввинский пер., д. 3",
- "zip": 119435,
- "coordinate_lat": 55.735662,
- "coordinate_lon": 37.678218,
- "short_descr": "Салон красоты",
- "social": {
- "facebook": "",
- "vk": "vk.com/newcompany",
- "instagram": "",
- "telegram": "",
- "whatsapp": "",
- "viber": ""
}, - "site": "new-company.ru",
- "business_type_id": 1,
- "description": "Самая <strong>Новая компания</strong> на рынке",
- "phone_confirmation": true,
- "active_staff_count": 3,
- "next_slot": "2023-03-23T10:10:00+0300",
- "group_priority": 900,
- "push_notification_phone_confirm": 1,
- "main_group_id": 9206,
- "main_group": {
- "id": 9206,
- "title": "Основная сеть компании Новая компания"
}, - "groups": {
- "9206": {
- "id": 9206,
- "title": "Основная сеть компании Новая компания"
}, - "9207": {
- "id": 9207,
- "title": "Другая сеть компании Новая компания"
}
}, - "bookforms": [
- {
- "id": 19203,
- "title": "Форма компании Новая компания",
- "is_default": 0,
}
], - "access": { }
}, - "meta": { }
}
Изменение данных о компании.
id required | number Example: 37532 Идентификатор компании |
Accept required | string Должен быть равен |
Content-Type required | string Должен быть равен |
Authorization required | string Bearer partner_token, User user_token |
title | string Название компании |
country_id | number Идентификатор страны (приоритетнее параметра country) |
country | string Страна |
city_id | number Идентификатор города (приоритетнее параметра city) |
city | string Город |
address | string Адрес компании |
zip | string Индекс |
phones | Array of strings Телефоны |
object Социальные сети компании | |
site | string Сайт компании |
coordinate_lat | number <float> Широта |
coordinate_lon | number <float> Долгота |
description | string <html> Описание |
business_type_id | number <int32> Сфера бизнеса |
short_descr | string Категория бизнеса |
id | number Идентификатор компании |
title | string Название компании |
country_id | number Идентификатор страны, в которой расположена компания |
country | string Название страны, в которой расположена компания |
city_id | number Идентификатор города, в котором расположена компания |
city | string Название города, в котором расположена компания |
timezone_name | string Наименование временной зоны, в которой расположена компания |
address | string Адрес, по которому расположена компания |
zip | number Индекс |
object Социальные сети компании | |
site | string Сайт компании |
coordinate_lat | number <float> Широта |
coordinate_lon | number <float> Долгота |
description | string <html> Описание |
business_type_id | number <int32> Сфера бизнеса |
short_descr | string Категория бизнеса |
phone_confirmation | boolean Нужно ли подтверждать телефон по смс, при бронировании |
group_priority | integer <int32> Чем больше приоритет, тем выше компания при выводе в списке филиалов сети |
push_notification_phone_confirm | boolean Подтверждать номер клиента для отправки push уведомлений |
access | object Список прав |
object (Сообщение об ошибке запроса) Дополнительная информация об ошибках. | |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
object (Сообщение об ошибке запроса) Дополнительная информация об ошибках. | |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
{- "title": "Новая компания",
- "country": "Россия",
- "city": "Москва",
- "address": "Большой Саввинский пер., д. 4",
- "zip": "119435",
- "phones": [
- "79876543210",
- "79876543211"
], - "social": {
- "vk": "vk.com/newcompany"
}, - "site": "new-company.ru",
- "coordinate_lat": 55.735662,
- "coordinate_lon": 37.678218,
- "description": "Самая <strong>Новая компания</strong> на рынке",
- "business_type_id": 1,
- "short_descr": "Салон красоты"
}
{- "id": 37532,
- "title": "Новая компания",
- "country_id": 1,
- "country": "Россия",
- "city_id": 2,
- "city": "Москва",
- "timezone_name": "Europe/Moscow",
- "address": "Большой Саввинский пер., д. 3",
- "zip": 119435,
- "coordinate_lat": 55.735662,
- "coordinate_lon": 37.678218,
- "short_descr": "Салон красоты",
- "social": {
- "facebook": "",
- "vk": "vk.com/newcompany",
- "instagram": "",
- "telegram": "",
- "whatsapp": "",
- "viber": ""
}, - "site": "new-company.ru",
- "business_type_id": 1,
- "description": "Самая <strong>Новая компания</strong> на рынке",
- "phone_confirmation": true,
- "group_priority": 900,
- "push_notification_phone_confirm": 1,
- "access": { }
}
Удаление компании.
id required | number Example: 37532 Идентификатор компании |
Accept required | string Должен быть равен |
Content-Type required | string Должен быть равен |
Authorization required | string Bearer partner_token, User user_token |
object (Сообщение об ошибке запроса) Дополнительная информация об ошибках. | |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
object (Сообщение об ошибке запроса) Дополнительная информация об ошибках. | |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
{- "errors": {
- "code": 401,
- "message": "Необходима авторизация"
}, - "meta": {
- "message": "Необходима авторизация"
}
}
Для работы с категориями услуг используются следующие методы
Объект категории услуг имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор категории |
title | string | Название категории |
api_id | string | Внешний идентификатор категории |
weight | number | Вес категории (используется для сортировки категорий при отображении) |
staff | array | Список ID сотрудников, оказывающих услугу |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title | string Название категории услуг |
api_id | string Внешний идентификатор категории |
weight | number Вес категории (используется для сортировки категорий при отображении) |
staff | Array of numbers Список ID сотрудников, оказывающих услуги из категории |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "title": "Стрижка очень женская",
- "api_id": "adw322",
- "weight": 111,
- "staff": [
- 5006,
- 8901
]
}
{- "success": true,
- "data": {
- "id": 3,
- "title": "Стрижка очень женская",
- "api_id": "adw322",
- "weight": 111,
- "staff": [
- 5006,
- 8901
]
}, - "meta": [ ]
}
company_id required | number ID компании |
id required | number ID категории услуг |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов | |
object Метаданные (количество категорий) |
{- "success": true,
- "data": {
- "id": 3,
- "salon_service_id": 15,
- "title": "Стрижки женские",
- "weight": 12,
- "staff": [
- 5006,
- 8901
]
}, - "meta": [ ]
}
company_id required | number ID компании |
id required | number ID категории услуги |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title | string Название категории услуг |
api_id | string Внешний идентификатор категории |
weight | number Вес категории (используется для сортировки категорий при отображении) |
staff | Array of numbers Список ID сотрудников, оказывающих услуги из категории |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов | |
object Метаданные (количество категорий) |
{- "title": "Стрижка очень женская",
- "api_id": "adw322",
- "weight": 111,
- "staff": [
- 5006,
- 8901
]
}
{- "success": true,
- "data": {
- "id": 3,
- "salon_service_id": 15,
- "title": "Стрижки женские",
- "weight": 15,
- "staff": [
- 5006,
- 8901
]
}, - "meta": [ ]
}
company_id required | number ID компании |
id required | number ID категории услуги |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Conetnt-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
chain_id required | integer Идентификатор сети |
include | string Value: "services" Включить в ответ дополительные ресурсы |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Идентификатор категории услуг |
title | string Название категории услуг |
Array of objects (Root Type for ServiceTitle) Услуги в категории (по запросу) |
[- {
- "id": 41,
- "title": "Категория услуг",
- "services": [
- {
- "id": 52,
- "title": "Услуга 1"
}, - {
- "id": 45,
- "title": "Услуга 2"
}
]
}
]
company_id required | number ID компании |
id required | number ID категории услуг |
staff_id | number ID сотрудника (для получения категорий, привязанных к сотруднику) |
Accept required | string e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов | |
object Метаданные (количество категорий) |
success | boolean Статус успешности выполнения (true) |
data | string имеет значение null |
object Метаданные (сообщение об ошибке) |
success | boolean Статус успешности выполнения (true) |
data | string имеет значение null |
object Метаданные (содержит возможные сообщения об ошибке) |
{- "success": true,
- "data": [
- {
- "id": 345,
- "salon_service_id": 353,
- "title": "Стрижки мужские",
- "api_id": "adw322",
- "weight": 10,
- "staff": [
- 5006,
- 8901,
- 26514,
- 26516,
- 26519,
- 26520
]
}, - {
- "id": 3456,
- "salon_service_id": 3252,
- "title": "Стрижки женские",
- "api_id": "adw323",
- "weight": 9,
- "staff": [
- 5006,
- 8901
]
}
], - "meta": {
- "total_count": 2
}
}
Получить список категорий услуг
company_id required | number Идентификатор компании |
id required | number Идентификатор категории услуги |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов | |
object Метаданные (количество категорий) |
{- "success": true,
- "data": [
- {
- "id": 345,
- "title": "Стрижки мужские",
- "api_id": "adw322",
- "weight": 10,
- "staff": [
- 5006,
- 8901,
- 26514,
- 26516,
- 26519,
- 26520
]
}, - {
- "id": 3456,
- "title": "Стрижки женские",
- "api_id": "adw323",
- "weight": 9,
- "staff": [
- 5006,
- 8901
]
}
], - "meta": [ ]
}
Для работы с услугами используются следующие методы
Объект услуги имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор услуги |
category_id | number | Идентификатор категории, в которой состоит услуга |
title | string | Название категории |
price_min | number | Минимальная цена на услугу |
price_max | number | Максимальная цена на услугу |
duration | number | Длительность услуги, по умолчанию равна 3600 секундам |
active | number | 1 - доступна для онлайн записи, 0 - не доступна |
comment | string | комментарий у услуге |
api_id | string | Внешний идентификатор услуги |
weight | number | Вес категории (используется для сортировки категорий при отображении) |
staff | array | Список сотрудников, оказывающих услугу и длительность сеанса |
image_group | object | Группа изображений услуги |
Массив со списком сотрудников, оказывающих услугу состоит из объектов со следующими полями
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор сотрудника |
seance_length | number | Длительность оказания услуги мастером. (В секундах) |
staff_id: ID сотрудника. Если нужны услуги, которые оказывает конкретный мастер
category_id: ID категории. Если нужны услуги, из конкретной категории
Метод, позволяющий создать услугу
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorizarion required | string Bearer partner_token, User user_token |
title | string Название услуги |
category_id | number ID категории услуг |
price_min | number <float> Минимальная стоимость услуги |
price_max | number <float> Максимальная стоимость услуги |
duration | number Длительность услуги, по умолчанию равна 3600 секундам |
discount | number <float> Скидка при оказании услуги |
comment | string Комментарий к услуге |
weight | number Вес услуги (используется для сортировки услуг при отображении) |
active | number Доступна ли для онлайн записи услуга. 1 - доступна, 0 не доступна. |
api_id | string Внешний идентификатор услуги |
Array of objects Сотрудники, оказываюшие услугу и длительность оказания услуги каждым из них |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "title": "Мужская стрижка",
- "category_id": 83167,
- "price_min": 1300,
- "price_max": 1300,
- "duration": 3600,
- "discount": 0,
- "comment": "",
- "weight": 6,
- "active": 1,
- "api_id": "00000000042",
- "staff": [
- {
- "id": 5905,
- "seance_length": 2700
}, - {
- "id": 5907,
- "seance_length": 3600
}, - {
- "id": 8973,
- "seance_length": 3600
}, - {
- "id": 13616,
- "seance_length": 3600
}, - {
- "id": 16681,
- "seance_length": 3600
}, - {
- "id": 1796,
- "seance_length": 3600
}, - {
- "id": 34006,
- "seance_length": 3600
}
]
}
{- "success": true,
- "data": {
- "id": 83169,
- "title": "Мужская стрижка",
- "category_id": 83167,
- "price_min": 1300,
- "price_max": 1300,
- "discount": 0,
- "duration": 3600,
- "comment": "",
- "weight": 6,
- "active": 1,
- "api_id": "00000000042",
- "staff": [
- {
- "id": 5905,
- "seance_length": 2700
}, - {
- "id": 5907,
- "seance_length": 3600
}, - {
- "id": 8973,
- "seance_length": 3600
}, - {
- "id": 13616,
- "seance_length": 3600
}, - {
- "id": 16681,
- "seance_length": 3600
}, - {
- "id": 1796,
- "seance_length": 3600
}, - {
- "id": 34006,
- "seance_length": 3600
}
]
}, - "meta": [ ]
}
1
) - ID компании1
) - ID услугиcompany_id required | number ID компании |
service_id required | number ID услуги, если нужно работать с конкретной услугой. |
staff_id | number ID сотрудника, если нужно отфильтровать по сотруднику |
category_id | number ID категории, если нужно отфильтровать по категории |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных услуг) |
success | boolean Статус успешности выполнения (true) |
data | string имеет значение null |
object Метаданные (сообщение об ошибке) |
success | boolean Статус успешности выполнения (true) |
data | string имеет значение null |
object Метаданные (содержит возможные сообщения об ошибке) |
{- "success": true,
- "data": [
- {
- "id": "79067",
- "title": "Бритье головы",
- "category_id": "4",
- "price_min": "1000.00",
- "price_max": "1000.00",
- "discount": "0",
- "comment": "",
- "weight": "2",
- "active": "1",
- "api_id": "",
- "staff": [ ]
}, - {
- "id": "83169",
- "title": "Мужская стрижка",
- "category_id": "83167",
- "price_min": "1300.00",
- "price_max": "1300.00",
- "discount": "0",
- "comment": "",
- "weight": "6",
- "active": "1",
- "api_id": "00000000042",
- "staff": [
- {
- "id": "5905",
- "seance_length": "2700"
}, - {
- "id": "5907",
- "seance_length": "3600"
}, - {
- "id": "8973",
- "seance_length": "3600"
}, - {
- "id": "13616",
- "seance_length": "3600"
}, - {
- "id": "16681",
- "seance_length": "3600"
}, - {
- "id": "17969",
- "seance_length": "3600"
}, - {
- "id": "34006",
- "seance_length": "3600"
}
], - "image_group": {
- "id": 72234,
- "entity": "settings_service",
- "entity_id": 389927,
- "images": {
- "basic": {
- "id": "186791",
- "width": "372",
- "height": "280",
- "type": "jpeg",
- "image_group_id": 72234,
- "version": "basic"
}
}
}
}
], - "meta": {
- "total_count": 2
}
}
Метод, позволяющий изменить услугу
company_id required | number ID компании |
service_id required | number ID услуги |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Название услуги |
booking_title required | string Название услуги для онлайн-записи |
category_id required | number ID категории услуг |
price_min required | number <float> Минимальная стоимость услуги |
price_max required | number <float> Максимальная стоимость услуги |
duration required | number Длительность услуги, по умолчанию равна 3600 секундам |
discount | number <float> Скидка при оказании услуги |
comment | string Комментарий к услуге |
is_multi required | boolean false - индивидуальная услуга, true - групповая услуга |
tax_variant required | number ID системы налогообложения |
vat_id required | number ID НДС |
is_need_limit_date required | boolean Ограничение по датам для онлайн-записи |
seance_search_start required | number Начало периода в какое время доступна запись, указывается в секундах |
seance_search_finish required | number Конец периода в какое время доступна запись, указывается в секундах |
step required | number Шаг вывода сеансов, указывается в секундах |
seance_search_step required | number Шаг поиска сеансов, указывается в секундах |
weight | number Вес услуги (используется для сортировки услуг при отображении) |
active | number Доступна ли для онлайн записи услуга. 1 - доступна, 0 не доступна. |
api_id | string Внешний идентификатор услуги |
Array of objects Сотрудники, оказываюшие услугу и длительность оказания услуги каждым из них |
success | boolean Статус успешности выполнения (true) |
object | |
meta | Array of objects Метаданные (пустой массив) |
{- "title": "Мужская стрижка",
- "booking_title": "Мужская стрижка",
- "category_id": 83167,
- "price_min": 1300,
- "price_max": 1300,
- "duration": 3600,
- "discount": 0,
- "tax_variant": 1,
- "vat_id": 3,
- "is_multi": false,
- "is_need_limit_date": true,
- "date_from": "2022-09-19",
- "date_to": "2022-09-30",
- "seance_search_start": 36000,
- "seance_search_finish": 84600,
- "step": 300,
- "seance_search_step": 900,
- "comment": "",
- "weight": 6,
- "active": 1,
- "api_id": "00000000042",
- "staff": [
- {
- "id": 5905,
- "seance_length": 2700
}, - {
- "id": 5907,
- "seance_length": 3600
}, - {
- "id": 8973,
- "seance_length": 3600
}, - {
- "id": 13616,
- "seance_length": 3600
}, - {
- "id": 16681,
- "seance_length": 3600
}, - {
- "id": 1796,
- "seance_length": 3600
}, - {
- "id": 34006,
- "seance_length": 3600
}
]
}
{- "success": true,
- "data": {
- "booking_title": "Мужская стрижка",
- "tax_variant": 0,
- "vat_id": 2,
- "print_title": "Мужская стрижка",
- "service_type": 1,
- "api_service_id": 0,
- "repeat_visit_days_step": "null",
- "seance_search_start": 1800,
- "seance_search_finish": 84600,
- "seance_search_step": 900,
- "step": 300,
- "is_need_limit_date": "true",
- "date_from": "2022-09-19",
- "date_to": "2022-09-30",
- "schedule_template_type": 2,
- "online_invoicing_status": 0,
- "is_abonement_autopayment_enabled": 0,
- "autopayment_before_visit_time": 0,
- "abonement_restriction_value": 0,
- "is_chain": "false",
- "is_price_managed_only_in_chain": "false",
- "is_comment_managed_only_in_chain": "false",
- "price_prepaid_amount": 0,
- "price_prepaid_percent": 100,
- "id": 10832934,
- "salon_service_id": 12192004,
- "title": "Мужская стрижка",
- "category_id": 10832928,
- "price_min": 250,
- "price_max": 1200,
- "discount": 0,
- "comment": "",
- "weight": 0,
- "active": 1,
- "api_id": "0",
- "prepaid": "forbidden",
- "is_multi": "false",
- "capacity": 0,
- "image_group": [ ],
- "staff": [
- {
- "id": 5905,
- "seance_length": 2700,
- "technological_card_id": 0
}, - {
- "id": 5907,
- "seance_length": 3600,
- "technological_card_id": 0
}
], - "dates": [
- "2022-09-19",
- "2022-09-20",
- "2022-09-21",
- "2022-09-22",
- "2022-09-23",
- "2022-09-24",
- "2022-09-25",
- "2022-09-26",
- "2022-09-27",
- "2022-09-28",
- "2022-09-29",
- "2022-09-30"
], - "duration": 3600,
- "resources": [ ],
- "is_online": true
}, - "meta": [ ]
}
company_id required | number ID компании |
service_id required | number ID услуги, если нужно работать с конкретной услугой. |
staff_id | number ID сотрудника, если нужно отфильтровать по сотруднику |
category_id | number ID категории, если нужно отфильтровать по категории |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных услуг) |
{- "success": true,
- "data": [
- {
- "id": "79067",
- "title": "Бритье головы",
- "category_id": "4",
- "price_min": "1000.00",
- "price_max": "1000.00",
- "discount": "0",
- "comment": "",
- "weight": "2",
- "active": "1",
- "api_id": "",
- "staff": [ ]
}, - {
- "id": "83169",
- "title": "Мужская стрижка",
- "category_id": "83167",
- "price_min": "1300.00",
- "price_max": "1300.00",
- "discount": "0",
- "comment": "",
- "weight": "6",
- "active": "1",
- "api_id": "00000000042",
- "staff": [
- {
- "id": "5905",
- "seance_length": "2700"
}, - {
- "id": "5907",
- "seance_length": "3600"
}, - {
- "id": "8973",
- "seance_length": "3600"
}, - {
- "id": "13616",
- "seance_length": "3600"
}, - {
- "id": "16681",
- "seance_length": "3600"
}, - {
- "id": "17969",
- "seance_length": "3600"
}, - {
- "id": "34006",
- "seance_length": "3600"
}
], - "image_group": {
- "id": 72234,
- "entity": "settings_service",
- "entity_id": 389927,
- "images": {
- "basic": {
- "id": "186791",
- "width": "372",
- "height": "280",
- "type": "jpeg",
- "image_group_id": 72234,
- "version": "basic"
}
}
}
}
], - "meta": [ ]
}
Устаревшее. Метод, позволяющий изменить услугу
company_id required | number ID компании |
service_id required | number ID услуги |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title | string Название услуги |
category_id | number ID категории услуг |
price_min | number <float> Минимальная стоимость услуги |
price_max | number <float> Максимальная стоимость услуги |
duration | number Длительность услуги, по умолчанию равна 3600 секундам |
discount | number <float> Скидка при оказании услуги |
comment | string Комментарий к услуге |
weight | number Вес услуги (используется для сортировки услуг при отображении) |
active | number Доступна ли для онлайн записи услуга. 1 - доступна, 0 не доступна. |
api_id | string Внешний идентификатор услуги |
Array of objects Сотрудники, оказываюшие услугу и длительность оказания услуги каждым из них |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "title": "Мужская стрижка",
- "category_id": 83167,
- "price_min": 1300,
- "price_max": 1300,
- "duration": 3600,
- "discount": 0,
- "comment": "",
- "weight": 6,
- "active": 1,
- "api_id": "00000000042",
- "staff": [
- {
- "id": 5905,
- "seance_length": 2700
}, - {
- "id": 5907,
- "seance_length": 3600
}, - {
- "id": 8973,
- "seance_length": 3600
}, - {
- "id": 13616,
- "seance_length": 3600
}, - {
- "id": 16681,
- "seance_length": 3600
}, - {
- "id": 1796,
- "seance_length": 3600
}, - {
- "id": 34006,
- "seance_length": 3600
}
]
}
{- "success": true,
- "data": {
- "id": 83169,
- "title": "Мужская стрижка",
- "category_id": 83167,
- "price_min": 1300,
- "price_max": 1300,
- "duration": 3600,
- "discount": 0,
- "comment": "",
- "weight": 6,
- "active": 1,
- "api_id": "00000000042",
- "staff": [
- {
- "id": 5905,
- "seance_length": 2700
}, - {
- "id": 5907,
- "seance_length": 3600
}, - {
- "id": 8973,
- "seance_length": 3600
}, - {
- "id": 13616,
- "seance_length": 3600
}, - {
- "id": 16681,
- "seance_length": 3600
}, - {
- "id": 1796,
- "seance_length": 3600
}, - {
- "id": 34006,
- "seance_length": 3600
}
]
}, - "meta": [ ]
}
Метод, позволяющий удалить услугу
company_id required | number ID компании |
service_id required | number ID услуги |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
Метод, позволяющий изменить длительность оказания услуги сотрудниками, технические карты, названия на других языках
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
service_id required | number ID услуги |
required | Array of objects Список сотрудников, оказывающих услугу c длительностью сеанса и технологическими картами |
resource_ids required | Array of numbers Список ресурсов необходимых для оказания услуги |
required | Array of objects Список переводов для каждого языка |
{- "service_id": 10832939,
- "master_settings": [
- {
- "master_id": 2033728,
- "technological_card_id": 291341,
- "hours": 0,
- "minutes": 45
}, - {
- "master_id": 1987799,
- "technological_card_id": 291341,
- "hours": 1,
- "minutes": 15
}
], - "resource_ids": [
- 62173
], - "translations": [
- {
- "language_id": 1,
- "translation": ""
}, - {
- "language_id": 2,
- "translation": "Massage"
}
]
}
Создает привязку сотрудника к услуге с указанием длительности и технологической карты.
company_id required | number Example: 123 Идентификатор филиала. |
service_id required | number Example: 123 Идентификатор услуги. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
master_id required | number Идентификатор сотрудника, оказывающего услугу. |
seance_length required | number Длительность оказания услуги указанным сотрудником в секундах, |
technological_card_id required | number or null Идентификатор технологической карты, используемой при оказании услуги указанным сотрудником. |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект модели "Сотрудник, оказывающий услугу") | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "master_id": 123,
- "seance_length": 3600,
- "technological_card_id": 123
}
{- "success": true,
- "data": {
- "service_id": 123,
- "master_id": 123,
- "length": 3600,
- "technological_card_id": 123
}, - "meta": { }
}
Обновляет данные привязки сотрудника к услуге с указанием длительности и технологической карты.
company_id required | number Example: 123 Идентификатор филиала. |
service_id required | number Example: 123 Идентификатор услуги. |
master_id required | number Example: 123 Идентификатор сотрудника. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
seance_length required | number Длительность оказания услуги указанным сотрудником в секундах, |
technological_card_id required | number or null Идентификатор технологической карты, используемой при оказании услуги указанным сотрудником. |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект модели "Сотрудник, оказывающий услугу") | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "seance_length": 3600,
- "technological_card_id": 123
}
{- "success": true,
- "data": {
- "service_id": 123,
- "master_id": 123,
- "length": 3600,
- "technological_card_id": 123
}, - "meta": { }
}
Удаляет привязку сотрудника к услуге.
company_id required | number Example: 123 Идентификатор филиала. |
service_id required | number Example: 123 Идентификатор услуги. |
master_id required | number Example: 123 Идентификатор сотрудника. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": null,
- "meta": { }
}
Возвращает список ролей пользователей вместе с правами для каждой роли.
company_id required | number Example: 123 Идентификатор филиала. |
include | Array of strings Items Value: "user_permissions" Набор сущностей, которые должны быть включены в ответ. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
Array of objects (Объект модели "Роль пользователя") | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": [
- {
- "slug": "worker",
- "title": "Сотрудник",
- "description": "Оказывает услуги",
- "weight": 1,
- "user_permissions": [
- {
- "slug": "timetable_access",
- "title": "Журнал записей",
- "hint": "",
- "is_recommended": true,
- "is_editable": true,
- "default_value": true,
- "entity_name": null,
- "children": [
- {
- "slug": "timetable_position_id",
- "title": "Просматривать расписание и записи должностей",
- "hint": "",
- "is_recommended": true,
- "is_editable": true,
- "default_value": null,
- "entity_name": "position",
- "children": null,
- "options": [
- {
- "title": "Всех должностей",
- "value": 0,
- "is_disabled": false
}, - {
- "title": "Администратор",
- "value": 1234,
- "is_disabled": false
}
], - "type": {
- "slug": "allowed_id",
- "all_access_value": 0,
- "no_access_value": 0
}
}
], - "options": null,
- "type": {
- "slug": "has_group_access",
- "all_access_value": true,
- "no_access_value": false
}
}
]
}
], - "meta": { }
}
Возвращает список ролей пользователей вместе с правами для каждой роли. Позволяет увидеть возможность изменить конкретные права (поле is_editable
) у существующего пользователя филиала в зависимости от набора прав пользователя, от имени которого выполняется запрос.
company_id required | number Example: 123 Идентификатор филиала. |
user_id required | number Example: 123 Идентификатор пользователя. |
include | Array of strings Items Value: "user_permissions" Набор сущностей, которые должны быть включены в ответ. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
Array of objects (Объект модели "Роль пользователя") | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": [
- {
- "slug": "worker",
- "title": "Сотрудник",
- "description": "Оказывает услуги",
- "weight": 1,
- "user_permissions": [
- {
- "slug": "timetable_access",
- "title": "Журнал записей",
- "hint": "",
- "is_recommended": true,
- "is_editable": true,
- "default_value": true,
- "entity_name": null,
- "children": [
- {
- "slug": "timetable_position_id",
- "title": "Просматривать расписание и записи должностей",
- "hint": "",
- "is_recommended": true,
- "is_editable": true,
- "default_value": null,
- "entity_name": "position",
- "children": null,
- "options": [
- {
- "title": "Всех должностей",
- "value": 0,
- "is_disabled": false
}, - {
- "title": "Администратор",
- "value": 1234,
- "is_disabled": false
}
], - "type": {
- "slug": "allowed_id",
- "all_access_value": 0,
- "no_access_value": 0
}
}
], - "options": null,
- "type": {
- "slug": "has_group_access",
- "all_access_value": true,
- "no_access_value": false
}
}
]
}
], - "meta": { }
}
Возвращает роль пользователя и список прав со значениями.
company_id required | number Example: 123 Идентификатор филиала. |
user_id required | number Example: 123 Идентификатор пользователя. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект модели "Права и роль пользователя") Данные по правам и роли пользователя | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": {
- "is_editable": true,
- "staff_id": 12345,
- "user_role": "owner",
- "user_permissions": [
- {
- "slug": "timetable_access",
- "value": true
}, - {
- "slug": "timetable_position_id",
- "value": 0
}, - {
- "slug": "auth_list_allowed_ip",
- "value": ""
}
]
}, - "meta": { }
}
Обновляет роль и права пользователя, а так же сотрудника который к этому пользователю прикреплен.
company_id required | number Example: 123 Идентификатор филиала. |
user_id required | number Example: 123 Идентификатор пользователя. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
user_role | string Enum: "worker" "administrator" "accountant" "manager" "owner" Название роли |
Array of items Список значений прав пользователя | |
staff_id | number Идентификатор сотрудника привязанного к пользователю |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект модели "Права и роль пользователя") Данные по правам и роли пользователя | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "user_role": "worker",
- "user_permissions": [
- {
- "slug": "timetable_access",
- "value": true
}
], - "staff_id": 0
}
{- "success": true,
- "data": {
- "is_editable": true,
- "staff_id": 12345,
- "user_role": "owner",
- "user_permissions": [
- {
- "slug": "timetable_access",
- "value": true
}, - {
- "slug": "timetable_position_id",
- "value": 0
}, - {
- "slug": "auth_list_allowed_ip",
- "value": ""
}
]
}, - "meta": { }
}
Копирует пользователя с правами в несколько указанных филиалов. Если пользователя ранее не было в этих филиалах, он будет добавлен в них как активный. Если пользователь был приглашен в филиал, будут обновлены только его права, пользователю по-прежнему будет необходимо принять приглашение.
company_id required | number Example: 123 Идентификатор филиала. |
user_id required | number Example: 123 Идентификатор пользователя. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
required | Array of objects non-empty unique Список филиалов, куда необходимо скопировать права пользователя |
success | boolean (Успешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "user_company_links": [
- {
- "company_id": 123,
- "user_permissions": [
- {
- "slug": "timetable_access",
- "value": true
}
]
}
]
}
{- "success": true,
- "data": null,
- "meta": { }
}
Удаляет пользователя из нескольких указанных филиалов.
company_id required | number Example: 123 Идентификатор филиала. |
user_id required | number Example: 123 Идентификатор пользователя. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
required | Array of objects non-empty unique Список филиалов, откуда необходимо удалить пользователя |
success | boolean (Успешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "user_company_links": [
- {
- "company_id": 123
}
]
}
{- "success": true,
- "data": null,
- "meta": { }
}
Описание разделов прав доступа:
Значение | Описание |
---|---|
'settings' | Список прав относящиеся к группе настройки |
'finances' | Список прав относящиеся к группе финансы |
'loyalty' | Список прав относящиеся к группе лояльность |
'notification' | Список прав относящиеся к группе уведомления |
'storages' | Список прав относящиеся к группе склады |
'clients' | Список прав относящиеся к группе клиенты |
'dashboard' | Список прав относящиеся к группе журнал записей |
В списке прав содержатся следующие поля:
Поле | Тип | Описание |
---|---|---|
timetable_access | boolean | true - есть доступ к журналу записи, false - нет доступа |
master_id | number | 0 - если пользователь может просматривать расписание и записи всех сотрудников, иначе только того сотрудника, ID которого задан |
position_id | number | 0 - если пользователь может просматривать расписание и записи всех сотрудников, иначе только ту должность, ID которого задан |
last_days_count | number | 0 - не ограничить доступ к истории расписаний и записям |
schedule_edit_access | boolean | true - есть доступ к графику работы сотрудника в журнале, false - нет доступа |
timetable_phones_access | boolean | true - есть доступ к номеру телефона в журнале записи, false - нет доступа |
timetable_transferring_record_access | boolean | true - есть доступ к переносу записей, false - нет доступа |
timetable_statistics_access | boolean | true - есть доступ к просмотру статистики, false - нет доступа |
record_form_access | boolean | true - есть доступ к окну записи, false - нет доступа |
record_form_client_access | boolean | true - есть доступ к данным клиентов, false - нет доступа |
records_autocomplete_access | boolean | true - есть доступ к выпадающему списку с данными о клиентах, false - нет доступа |
create_records_access | boolean | true - есть доступ к созданию записей, false - нет доступа Создавать записи |
edit_records_access | boolean | true - есть доступ к изменение записей, false - нет доступа |
edit_records_attendance_access | boolean | true - есть доступ к записям со статусом визита "клиент пришел", false - нет доступа |
records_services_cost_access | boolean | true - есть доступ к изменению стоимости услуг, false - нет доступа |
records_services_discount_access | boolean | true - есть доступ к изменению скидки на услуги, false - нет доступа |
record_edit_full_paid_access | boolean | true - есть доступ к редактированию оплаченной записи, false - нет доступа |
delete_records_access | boolean | true - есть доступ к удалению записи, false - нет доступа |
delete_customer_came_records_access | boolean | true - есть доступ к удалению записей со статусом "клиент пришел", false - нет доступа |
delete_paid_records_access | boolean | true - есть доступ к удалению оплаченных записей, false - нет доступа |
records_goods_access | boolean | true - есть доступ к продажам товаров, false - нет доступа |
records_goods_create_transaction_access | boolean | true - есть доступ к созданию товарных транзакций, false - нет доступа |
records_goods_create_last_days_count | number | -1 - есть доступ к созданию товарных транзакций за все время, >= 0 - доступ к созданию товарных транзакций за указанное количество дней прошлое |
records_goods_edit_transaction_access | boolean | true - есть доступ к редактированию товарных транзакций, false - нет доступа |
records_goods_edit_last_days_count | number | -1 - есть доступ к редактированию товарных транзакций за все время, >= 0 - доступ к редактированию товарных транзакций за указанное количество дней прошлое |
records_goods_cost_access | boolean | true - есть доступ к изменению стоимость товаров, false - нет доступа |
records_goods_discount_access | boolean | true - есть доступ к изменению скидки на товары, false - нет доступа |
records_finances_access | boolean | true - есть доступ к оплате, false - нет доступа |
records_finances_last_days_count | number | -1 - есть доступ к проведению оплаты в записях за все время, >= 0 - доступ к проведению оплаты в записях за указанное количество дней прошлое |
records_finances_pay_from_deposits_access | boolean | true - есть доступ к проведению оплаты в записях с личного счета клиента, false - нет доступа |
records_group_id_access | boolean | true - есть доступ к данным клиентов по сети, false - нет доступа |
records_group_id | number | ID сети к которой есть доступ к данным клиентов |
finances_access | boolean | true - есть доступ к финансам, false - нет доступа |
finances_accounts_ids | array | массив ID к выбранным кассам |
finances_transactions_access | boolean | true - есть доступ к просмотру движений средств, false - нет доступа |
finances_last_days_count | number | -1 - есть доступ к просмотру движений средств за все время, >= 0 - доступ к просмотру движений средств за указанное количество дней прошлое |
finances_create_transactions_access | boolean | true - есть доступ к созданию транзакций, false - нет доступа |
finances_create_last_days_count | number | -1 - есть доступ к созданию транзакций за все время, >= 0 - доступ к созданию транзакций за указанное количество дней прошлое |
finances_edit_transactions_access | boolean | true - есть доступ к редактированию транзакций, false - нет доступа |
finances_edit_last_days_count | number | -1 - есть доступ к редактированию транзакций за все время, >= 0 - доступ к редактированию транзакций за указанное количество дней прошлое |
finances_delete_transactions_access | boolean | true - есть доступ к удалению транзакций, false - нет доступа |
finances_transactions_excel_access | boolean | true - есть доступ к выгрузке движений средств в Excel, false - нет доступа |
finances_expenses_ids | array | true - есть доступ к переводам между кассами, false - нет доступа |
finances_accounts_access | boolean | true - есть доступ к счетам и кассам, false - нет доступа |
finances_accounts_banalce_access | boolean | true - есть доступ к балансу, false - нет доступа |
finances_suppliers_read_access | boolean | true - есть доступ к контрагентам, false - нет доступа |
finances_suppliers_create_access | boolean | true - есть доступ к созданию контрагентов, false - нет доступа |
finances_suppliers_update_access | boolean | true - есть доступ к изменению контрагентов, false - нет доступа |
finances_suppliers_delete_access | boolean | true - есть доступ к удалению контрагентов, false - нет доступа |
finances_suppliers_excel_access | boolean | true - есть доступ к выгрузке в Excel, false - нет доступа |
finances_expenses_read_access | boolean | true - есть доступ к статье платежей, false - нет доступа |
expenses_read_access | boolean | true - есть доступ к статье платежей, false - нет доступа |
finances_expenses_create_access | boolean | true - есть доступ к созданию статьи платежа, false - нет доступа |
expenses_create_access | boolean | true - есть доступ к созданию статьи платежа, false - нет доступа |
finances_expenses_update_access | boolean | true - есть доступ к изменению статьи платежа, false - нет доступа |
expenses_update_access | boolean | true - есть доступ к изменению статьи платежа, false - нет доступа |
finances_expenses_delete_access | boolean | true - есть доступ к удалению статьи платежа, false - нет доступа |
expenses_delete_access | boolean | true - есть доступ к удалению статьи платежа, false - нет доступа |
finances_kkm_transactions_access | boolean | true - есть доступ к операциям с KKM, false - нет доступа |
kkm_transactions_accounts_access | boolean | true - есть доступ к операциям с KKM, false - нет доступа |
finances_kkm_settings_read_access | boolean | true - есть доступ к настройкам KKM, false - нет доступа |
kkm_settings_reed_access | boolean | true - есть доступ к настройкам KKM, false - нет доступа |
finances_kkm_settings_update_access | boolean | true - есть доступ к изменению KKM, false - нет доступа |
kkm_settings_update_access | boolean | true - есть доступ к изменению KKM, false - нет доступа |
finances_settings_invoicing_read_access | boolean | true - есть доступ к онлайн-оплатам, false - нет доступа |
finances_settings_invoicing_update_access | boolean | true - есть доступ к изменению онлайн-оплат, false - нет доступа |
settings_invoicing_update_access | boolean | true - есть доступ к изменению онлайн-оплат, false - нет доступа |
finances_options_read_access | boolean | true - есть доступ к настройкам оплаты, false - нет доступа |
finances_options_update_access | boolean | true - есть доступ к изменению настроек оплаты, false - нет доступа |
options_update_access | boolean | true - есть доступ к изменению настроек оплаты, false - нет доступа |
finances_salary_schemes_access | boolean | true - есть доступ к схемам расчета заработной платы, false - нет доступа |
finances_salary_calc_access | boolean | true - есть доступ к расчету заработной платы, false - нет доступа |
finances_salary_not_limitation_today_access | boolean | true - есть доступ к расчету заработной платы, false - доступ к расчету заработной платы за текущий день |
finances_payroll_calculation_create_access | boolean | true - есть доступ к начислению заработной платы, false - нет доступа |
finances_payroll_calculation_create_not_limitation_today_access | boolean | true - есть доступ к начислению заработной платы, false - доступ к начислению заработной платы за текущий день |
finances_salary_access_master_checkbox | boolean | true - есть доступ к расчету заработной платы только конкретного сотрудника, false - полный доступ |
finances_salary_access_master_id | number | ID сотрудника к которому есть доступ на расчет заработной платы |
get_salary_access_master_id | number | ID сотрудника к которому есть доступ на расчет заработной платы |
finances_salary_master_not_limitation_today_access | boolean | true - не ограничивать текущим днем, false - доступ только на сегодняшний день |
finances_payroll_calculation_create_by_master_access | boolean | true - есть доступ к начислению заработной платы по конкретному сотруднику, false - без ограничений |
calculation_create_by_master_not_limitation_today_access | boolean | true - есть доступ к начислению заработной платы, false - нет доступа |
finances_period_report_access | boolean | true - есть доступ к отчету за период, false - нет доступа |
finances_period_report_excel_access | boolean | true - есть доступ к выгрузке в Excel отчета за период, false - нет доступа |
finances_year_report_access | boolean | true - есть доступ к годовому отчету, false - нет доступа |
finances_year_report_excel_access | boolean | true - есть доступ к выгрузке в Excel годового отчета, false - нет доступа |
finances_print_check_access | boolean | true - есть доступ к печати чека, false - нет доступа |
finances_z_report_access | boolean | true - есть доступ к отчету по кассе за день, false - нет доступа |
finances_z_report_no_limit_today_access | boolean | true - есть доступ к отчету по кассе, false - доступ к отчету по кассе за текущий день |
finances_z_report_excel_access | boolean | true - есть доступ к выгрузке в Excel, false - нет доступа |
clients_access | boolean | true - есть доступ к клиентской базе, false - нет доступа |
clients_phones_email_access | boolean | true - есть доступ к номерам телефонов и email в списке клиентов, false - нет доступа |
client_phones_access | boolean | true - есть доступ к номерам телефонов в списке клиентов, false - нет доступа |
clients_card_phone_access | boolean | true - есть доступ к телефонам в карточке клиента, false - нет доступа |
clients_delete_access | boolean | true - есть доступ к удалению клиентов, false - нет доступа |
clients_excel_access | boolean | true - есть доступ к выгрузке списка клиентов в Excel, false - нет доступа |
excel_access | number | 1 - есть доступ к выгрузке списка клиентов в Excel, 0 - нет доступа |
client_comments_list_access | boolean | true - есть доступ к просмотру комментарии, false - нет доступа |
client_comments_add_access | boolean | true - есть доступ к добавлению комментарии, false - нет доступа |
client_comments_own_edit_access | boolean | true - есть доступ к изменению/удалению своих комментарии, false - нет доступа |
client_comments_other_edit_access | boolean | true - есть доступ к изменению/удалению чужих комментарии, false - нет доступа |
client_files_list_access | boolean | true - есть доступ к просмотрам и скачиванию файлов, false - нет доступа |
client_files_upload_access | boolean | true - есть доступ к загрузке файлов, false - нет доступа |
client_files_delete_access | boolean | true - есть доступ к удалению файлов, false - нет доступа |
clients_visit_master_id | number | ID мастера по которому можно посмотреть клиентов посещавшие мастера, 0 - без ограничений |
get_visit_master_id | number | ID мастера по которому можно посмотреть клиентов посещавшие мастера, 0 - без ограничений |
dashboard_access | boolean | true - есть доступ к разделу обзор, false - нет доступа |
dash_access | boolean | true - есть доступ к разделу сводка, false - нет доступа |
dash_phones_access | boolean | true - есть доступ к показу номера телефонов в сводке, false - нет доступа |
dash_records_access | boolean | true - есть доступ к просмотру списка записей, false - нет доступа |
dash_records_last_days_count | number | -1 - есть доступ к просмотру списка записей за все время, >= 0 - доступ к просмотру списка записей за указанное количество дней прошлое |
dash_records_excel_access | boolean | true - есть доступ к выгрузке списка записей в Excel, false - нет доступа |
dash_records_phones_access | boolean | true - есть доступ к показу номера телефонов в записях, false - нет доступа |
dash_message_access | boolean | true - есть доступ к просмотру детализаций сообщений, false - нет доступа |
dash_message_excel_access | boolean | true - есть доступ к выгрузке детализаций сообщений в Excel, false - нет доступа |
dash_message_phones_access | boolean | true - есть доступ к показу номера телефонов в сообщениях, false - нет доступа |
dash_reviews_access | boolean | true - есть доступ к просмотру отзывов, false - нет доступа |
dash_reviews_delete_access | boolean | true - есть доступ к удалению отзывов, false - нет доступа |
dashboard_calls_access | boolean | true - есть доступ к разделу звонки, false - нет доступа |
dashboard_calls_excel_access | boolean | true - есть доступ к выгрузке звонков Excel, false - нет доступа |
dashboard_calls_phones_access | boolean | true - есть доступ к просмотру номера телефона у клиентов, false - нет доступа |
notification | boolean | true - есть доступ к Уведомления, false - нет доступа |
web_push | boolean | true - есть доступ к показу Push уведомлений о записях в Web-версии, false - нет доступа |
web_phone_push | boolean | true - есть доступ к показу Push уведомлений о звонках в Web-версии, false - нет доступа |
notification_sms_ending_license | boolean | true - есть доступ к отправки SMS уведомлений о скором окончании лицензии, false - нет доступа |
notification_sms_low_balance | boolean | true - есть доступ к отправки SMS уведомлений о низком балансе, false - нет доступа |
notification_email_ending_license | boolean | true - есть доступ к отправки Email уведомлений о скором окончании лицензии, false - нет доступа |
loyalty_access | boolean | true - есть доступ к лояльности, false - нет доступа |
has_loyalty_access | boolean | true - есть доступ к лояльности, false - нет доступа |
loyalty_cards_manual_transactions_access | boolean | true - есть доступ к ручному пополнению/списанию с карт лояльности, false - нет доступа |
has_loyalty_cards_manual_transactions_access | boolean | true - есть доступ к ручному пополнению/списанию с карт лояльности, false - нет доступа |
loyalty_certificate_and_abonement_manual_transactions_access | boolean | true - есть доступ к оплате сертификатом и абонементом без кода, false - нет доступа |
storages_access | boolean | true - есть доступ к складу, false - нет доступа |
storages_ids | boolean | true - есть доступ к выбранным складам, false - нет доступа |
storages_transactions_access | boolean | true - есть доступ к просмотру движений товаров, false - нет доступа |
storages_last_days_count | number | -1 - есть доступ к просмотру движений товаров за все время, >= 0 - доступ к просмотру движений товаров за указанное количество дней прошлое |
storages_move_goods_access | boolean | true - есть доступ к перемещение товаров между складами, false - нет доступа |
storages_create_transactions_access | boolean | true - есть доступ к созданию товарных транзакций, false - нет доступа |
storages_create_last_days_count | number | -1 - есть доступ к создание товарных транзакций за все время, >= 0 - доступ к создание товарных транзакций за указанное количество дней прошлое |
storages_create_transactions_buy_access | boolean | true - есть доступ к оформлению прихода товаров, false - нет доступа |
storages_create_transactions_sale_access | boolean | true - есть доступ к оформлению продаж товаров, false - нет доступа |
storages_edit_transactions_access | boolean | true - есть доступ к редактированию товарных транзакций, false - нет доступа |
storages_edit_last_days_count | number | -1 - есть доступ к редактированию товарных транзакций за все время, >= 0 - доступ к редактированию товарных транзакций за указанное количество дней прошлое |
storages_edit_transactions_buy_access | boolean | true - есть доступ к оформлению прихода товаров, false - нет доступа |
storages_edit_transactions_sale_access | boolean | true - есть доступ к оформлению продаж товаров, false - нет доступа |
storages_delete_transactions_access | boolean | true - есть доступ к удалению товарных транзакций, false - нет доступа |
storages_transactions_excel_access | boolean | true - есть доступ к выгрузке движений товаров в Excel, false - нет доступа |
storages_transactions_types | boolean | true - есть доступ к выгрузке движений товаров в Excel, false - нет доступа |
storages_inventory_access | boolean | true - есть доступ к инвентаризации, false - нет доступа |
storages_inventory_create_edit_access | boolean | true - есть доступ к созданию и редактированию инвентаризации, false - нет доступа |
storages_inventory_delete_access | boolean | true - есть доступ к удалению инвентаризации, false - нет доступа |
storages_inventory_excel_access | boolean | true - есть доступ к выгрузке инвентаризации в Excel, false - нет доступа |
storages_remnants_report_access | boolean | true - есть доступ к отчету остатков на складе, false - нет доступа |
storages_remnants_report_excel_access | boolean | true - есть доступ к выгрузке остатков в Excel, false - нет доступа |
storages_sales_report_access | boolean | true - есть доступ к отчету по продажам, false - нет доступа |
storages_sales_report_excel_access | boolean | true - есть доступ к выгрузке отчета по продажам в Excel, false - нет доступа |
storages_consumable_report_access | boolean | true - есть доступ к отчету по списанию расходников, false - нет доступа |
storages_consumable_report_excel_access | boolean | true - есть доступ к выгрузке отчета по списанию расходников в Excel, false - нет доступа |
storages_write_off_report_access | boolean | true - есть доступ к отчету по списанию товаров, false - нет доступа |
storages_write_off_report_excel_access | boolean | true - есть доступ к выгрузке отчета по списанию товаров в Excel, false - нет доступа |
storages_turnover_report_access | boolean | true - есть доступ к отчету по оборачиваемости, false - нет доступа |
storages_turnover_report_excel_access | boolean | true - есть доступ к выгрузке отчета по оборачиваемости в Excel, false - нет доступа |
storages_goods_crud_access | boolean | true - есть доступ к управлению товарами, false - нет доступа |
storages_goods_create_access | boolean | true - есть доступ к созданию товаров, false - нет доступа |
storages_goods_update_access | boolean | true - есть доступ к изменению товаров, false - нет доступа |
storages_goods_title_edit_access | boolean | true - есть доступ к названию, Артикул, Штрих-код, false - нет доступа |
storages_goods_category_edit_access | boolean | true - есть доступ к категориям, false - нет доступа |
storages_goods_selling_price_edit_access | boolean | true - есть доступ к ценам продажи, false - нет доступа |
storages_goods_cost_price_edit_access | boolean | true - есть доступ к себестоимости, false - нет доступа |
storages_goods_units_edit_access | boolean | true - есть доступ к единицам измерения, false - нет доступа |
storages_goods_critical_balance_edit_access | boolean | true - есть доступ к критичным остаткам, Желаемый остаток, false - нет доступа |
storages_goods_masses_edit_access | boolean | true - есть доступ к массе, false - нет доступа |
storages_goods_comment_edit_access | boolean | true - есть доступ к комментариям, false - нет доступа |
storages_goods_archive_access | boolean | true - есть доступ к архивации и восстановлению товаров, false - нет доступа |
storages_goods_delete_access | boolean | true - есть доступ к удалению товаров, false - нет доступа |
settings_access | boolean | true - есть доступ к разделу настройки, false - нет доступа |
settings_basis_access | boolean | true - есть доступ к разделу Основные, false - нет доступа |
settings_information_access | boolean | true - есть доступ к разделу Информация, false - нет доступа |
users_access | boolean | true - есть доступ к управлению пользователями, false - нет доступа |
delete_users_access | boolean | true - есть доступ к удалению пользователей, false - нет доступа |
create_users_access | boolean | true - есть доступ к добавлению пользователей, false - нет доступа |
edit_users_access | boolean | true - есть доступ к управлению правами пользователей, false - нет доступа |
limited_users_access | boolean | true - есть доступ к управлению правами в рамках своего набора прав, false - нет доступа |
settings_services_access | boolean | true - есть доступ к разделу Услуги, false - нет доступа |
settings_services_create_access | boolean | true - есть доступ к созданию услуг, false - нет доступа |
services_edit | boolean | true - есть доступ к редактированию услуг, false - нет доступа |
settings_services_edit_title_access | boolean | true - есть доступ к названиям услуг и название для онлайн-записи, false - нет доступа |
settings_services_relation_category_access | boolean | true - есть доступ к категориям услуги, false - нет доступа |
settings_services_edit_price_access | boolean | true - есть доступ к ценам услуг, false - нет доступа |
settings_services_edit_image_access | boolean | true - есть доступ к загрузкам и изменениям изображений, false - нет доступа |
settings_services_edit_online_seance_date_time_access | boolean | true - есть доступ к отображениям услуг в виджете, false - нет доступа |
settings_services_edit_online_pay_access | boolean | true - есть доступ к онлайн-оплате услуги, false - нет доступа |
settings_services_edit_services_related_resource_access | boolean | true - есть доступ к ресурсам услуги, false - нет доступа |
settings_positions_read | boolean | true - есть доступ к разделу должности, false - нет доступа |
settings_positions_create | boolean | true - есть доступ к созданию должностей, false - нет доступа |
settings_positions_delete | boolean | true - есть доступ к удалению должностей, false - нет доступа |
edit_master_service_and_duration | boolean | true - есть доступ к изменению услуги сотрудников и их длительность, false - нет доступа |
tech_card_edit | boolean | true - есть доступ к изменению технологической карты, false - нет доступа |
services_delete | boolean | true - есть доступ к удалению услуг, false - нет доступа |
settings_master_access | boolean | true - есть доступ к разделу Сотрудники, false - нет доступа |
master_create | boolean | true - есть доступ к созданию сотрудников, false - нет доступа |
master_edit | boolean | true - есть доступ к редактированию сотрудников, false - нет доступа |
master_delete | boolean | true - есть доступ к удалению сотрудников, false - нет доступа |
settings_master_dismiss_access | boolean | true - есть доступ к увольнению сотрудников, false - нет доступа |
schedule_edit | boolean | true - есть доступ к редактированию графика работы, false - нет доступа |
settings_notifications_access | boolean | true - есть доступ к разделу Sms уведомления, false - нет доступа |
settings_email_notifications_access | boolean | true - есть доступ к разделу Email уведомления, false - нет доступа |
settings_template_notifications_access | boolean | true - есть доступ к разделу Типы уведомлений, false - нет доступа |
webhook_read_access | boolean | true - есть доступ к изменению настроек WebHook, false - нет доступа |
stat_access | boolean | true - есть доступ к аналитике, false - нет доступа |
billing_access | boolean | true - есть доступ к биллингу (раздел меню баланс), false - нет доступа |
send_sms | boolean | true - есть доступ к SMS рассылки клиентам, false - нет доступа |
auth_enable_check_ip | boolean | true - есть доступ к филиалу только с IP-адресов (v4, v6), false - нет доступа |
auth_list_allowed_ip | array | список IP адресов |
1
) - ID компани1
) - ID компанииcompany_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
object Объект с категориями прав доступа | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "timetable": {
- "timetable_access": true,
- "master_id": 1000238,
- "position_id": 0,
- "last_days_count": 1000,
- "schedule_edit_access": true,
- "timetable_phones_access": true,
- "timetable_transferring_record_access": true,
- "timetable_statistics_access": true
}, - "record_form": {
- "record_form_access": true,
- "record_form_client_access": true,
- "records_autocomplete_access": true,
- "create_records_access": true,
- "edit_records_access": true,
- "edit_records_attendance_access": true,
- "records_services_cost_access": true,
- "records_services_discount_access": true,
- "record_edit_full_paid_access": true,
- "delete_records_access": true,
- "delete_customer_came_records_access": true,
- "delete_paid_records_access": true,
- "records_goods_access": true,
- "records_goods_create_transaction_access": true,
- "records_goods_create_last_days_count": -1,
- "records_goods_edit_transaction_access": true,
- "records_goods_edit_last_days_count": -1,
- "records_goods_cost_access": true,
- "records_goods_discount_access": true,
- "records_finances_access": true,
- "records_finances_last_days_count": -1,
- "records_finances_pay_from_deposits_access": true,
- "records_group_id_access": true,
- "records_group_id": 134178
}, - "finances": {
- "finances_access": true,
- "finances_accounts_ids": [ ],
- "finances_transactions_access": true,
- "finances_last_days_count": -1,
- "finances_create_transactions_access": true,
- "finances_create_last_days_count": -1,
- "finances_edit_transactions_access": true,
- "finances_edit_last_days_count": -1,
- "finances_delete_transactions_access": true,
- "finances_transactions_excel_access": true,
- "finances_expenses_ids": [ ],
- "finances_accounts_access": true,
- "finances_accounts_banalce_access": true,
- "finances_suppliers_read_access": true,
- "finances_suppliers_create_access": true,
- "finances_suppliers_update_access": true,
- "finances_suppliers_delete_access": true,
- "finances_suppliers_excel_access": true,
- "finances_expenses_read_access": true,
- "expenses_read_access": true,
- "finances_expenses_create_access": true,
- "expenses_create_access": true,
- "finances_expenses_update_access": true,
- "expenses_update_access": true,
- "finances_expenses_delete_access": true,
- "expenses_delete_access": true,
- "finances_kkm_transactions_access": true,
- "kkm_transactions_accounts_access": true,
- "finances_kkm_settings_read_access": true,
- "kkm_settings_reed_access": true,
- "finances_kkm_settings_update_access": true,
- "kkm_settings_update_access": true,
- "finances_settings_invoicing_read_access": true,
- "settings_invoicing_read_access": true,
- "finances_settings_invoicing_update_access": true,
- "settings_invoicing_update_access": true,
- "finances_options_read_access": true,
- "options_read_access": true,
- "finances_options_update_access": true,
- "options_update_access": true,
- "finances_salary_schemes_access": true,
- "finances_salary_calc_access": true,
- "finances_salary_not_limitation_today_access": true,
- "finances_payroll_calculation_create_access": true,
- "finances_payroll_calculation_create_not_limitation_today_access": true,
- "finances_salary_access_master_checkbox": true,
- "finances_salary_access_master_id": 1000237,
- "get_salary_access_master_id": 1000237,
- "finances_salary_master_not_limitation_today_access": true,
- "finances_payroll_calculation_create_by_master_access": true,
- "calculation_create_by_master_not_limitation_today_access": true,
- "finances_period_report_access": true,
- "finances_period_report_excel_access": true,
- "finances_year_report_access": true,
- "finances_year_report_excel_access": true,
- "finances_print_check_access": true,
- "finances_z_report_access": true,
- "finances_z_report_no_limit_today_access": true,
- "finances_z_report_excel_access": true
}, - "clients": {
- "clients_access": true,
- "client_phones_access": true,
- "clients_phones_email_access": true,
- "clients_card_phone_access": true,
- "clients_delete_access": true,
- "clients_excel_access": true,
- "excel_access": true,
- "client_comments_list_access": true,
- "client_comments_add_access": true,
- "client_comments_own_edit_access": true,
- "client_comments_other_edit_access": true,
- "client_files_list_access": true,
- "client_files_upload_access": true,
- "client_files_delete_access": true,
- "clients_visit_master_id": 0,
- "get_visit_master_id": 0
}, - "dashboard": {
- "dashboard_access": true,
- "dash_access": true,
- "dash_phones_access": true,
- "dash_records_access": true,
- "dash_records_last_days_count": -1,
- "dash_records_excel_access": true,
- "dash_records_phones_access": true,
- "dash_message_access": true,
- "dash_message_excel_access": true,
- "dash_message_phones_access": true,
- "dash_reviews_access": true,
- "dash_reviews_delete_access": true,
- "dashboard_calls_access": true,
- "dashboard_calls_excel_access": true,
- "dashboard_calls_phones_access": true
}, - "notification": {
- "notification": true,
- "web_push": true,
- "web_phone_push": true,
- "notification_sms_ending_license": true,
- "notification_sms_low_balance": true,
- "notification_email_ending_license": true
}, - "loyalty": {
- "loyalty_access": true,
- "has_loyalty_access": true,
- "loyalty_cards_manual_transactions_access": true,
- "has_loyalty_cards_manual_transactions_access": true,
- "loyalty_certificate_and_abonement_manual_transactions_access": true
}, - "storages": {
- "storages_access": true,
- "storages_ids": [ ],
- "storages_transactions_access": true,
- "storages_last_days_count": -1,
- "storages_move_goods_access": true,
- "storages_create_transactions_access": true,
- "storages_create_last_days_count": -1,
- "storages_create_transactions_buy_access": true,
- "storages_create_transactions_sale_access": true,
- "storages_edit_transactions_access": true,
- "storages_edit_last_days_count": -1,
- "storages_edit_transactions_buy_access": true,
- "storages_edit_transactions_sale_access": true,
- "storages_delete_transactions_access": true,
- "storages_transactions_excel_access": true,
- "storages_transactions_types": [ ],
- "storages_inventory_access": true,
- "storages_inventory_create_edit_access": true,
- "storages_inventory_delete_access": true,
- "storages_inventory_excel_access": true,
- "storages_remnants_report_access": true,
- "storages_remnants_report_excel_access": true,
- "storages_sales_report_access": true,
- "storages_sales_report_excel_access": true,
- "storages_consumable_report_access": true,
- "storages_consumable_report_excel_access": true,
- "storages_write_off_report_access": true,
- "storages_write_off_report_excel_access": true,
- "storages_turnover_report_access": true,
- "storages_turnover_report_excel_access": true,
- "storages_goods_crud_access": true,
- "storages_goods_create_access": true,
- "storages_goods_update_access": true,
- "storages_goods_title_edit_access": true,
- "storages_goods_category_edit_access": true,
- "storages_goods_selling_price_edit_access": true,
- "storages_goods_cost_price_edit_access": true,
- "storages_goods_units_edit_access": true,
- "storages_goods_critical_balance_edit_access": true,
- "storages_goods_masses_edit_access": true,
- "storages_goods_comment_edit_access": true,
- "storages_goods_archive_access": true,
- "storages_goods_delete_access": true
}, - "settings": {
- "settings_access": true,
- "settings_basis_access": true,
- "settings_information_access": true,
- "users_access": true,
- "delete_users_access": true,
- "create_users_access": true,
- "edit_users_access": true,
- "limited_users_access": false,
- "settings_services_access": true,
- "settings_services_create_access": true,
- "services_edit": true,
- "settings_services_edit_title_access": true,
- "settings_services_relation_category_access": true,
- "settings_services_edit_price_access": true,
- "settings_services_edit_image_access": true,
- "settings_services_edit_online_seance_date_time_access": true,
- "settings_services_edit_online_pay_access": true,
- "settings_services_edit_services_related_resource_access": true,
- "settings_positions_read": true,
- "settings_positions_create": true,
- "settings_positions_delete": true,
- "edit_master_service_and_duration": true,
- "tech_card_edit": true,
- "services_delete": true,
- "settings_master_access": true,
- "master_create": true,
- "master_edit": true,
- "master_delete": true,
- "settings_master_dismiss_access": true,
- "schedule_edit": true,
- "settings_notifications_access": true,
- "settings_email_notifications_access": true,
- "settings_template_notifications_access": true,
- "webhook_read_access": true
}, - "other": {
- "stat_access": true,
- "billing_access": true,
- "send_sms": true,
- "auth_enable_check_ip": false,
- "auth_list_allowed_ip": [ ]
}
}, - "meta": [ ]
}
Приглашение к управлению филиалом предполагает отправку по e-mail или телефону ссылки. Перейдя по этой ссылке, пользователь после регистрации получает доступ к управлению филиалом в соответствии с назначенными правами. Назначение прав осуществляется после отправки приглашения отдельным запросом.
company_id required | number Example: 123 Идентификатор филиала. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
required | Array of objects Массив приглашений |
success | boolean Статус успешной отправка (true) |
data | string Имеет значение null |
object Метаданные (содержит сообщение о том, что данные сохранены) |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "invites": [
- {
- "name": "Ольга",
- "position": "Администратор",
- "user_role": "administrator",
- "user_permissions": [
- {
- "slug": "timetable_access",
- "value": true
}
], - "staff_id": 12
}
]
}
{- "success": true,
- "meta": {
- "message": "Сохранено"
}
}
Для работы с сотрудниками используются следующие методы
Объект сотрудника имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор сотрудника |
api_id | string|null | Внешний идентификатор сотрудника |
name | string | Имя сотрудника |
specialization | string | Специализация сотрудника |
position | object | Должность сотрудника |
weight | number | Вес сотрудника. При выводе сотрудники сортируются по весу, сначала более тяжелые |
show_rating | number | Показывать ли рейтинг сотрудника (1 - показывать, 0 - не показывать) |
rating | number | Ретинг сотрудника |
votes_count | number | Кол-во голос, оценивших сотрудника |
comments_count | number | Кол-во комментариев к сотрунику |
avatar | string | Путь к файлу аватарки сотрудника |
avatar_big | string | Путь к файлу аватарки сотрудника в более высоком разрешении |
information | string | Дополнительная информация о сотруднике (HTML формат) |
hidden | number | 1 - скрыт от онлайн записей, 0 - не скрыт |
fired | number | 1 - уволен, 0 - не уволен |
status | number | Статус удаления сотрудника, 1 - удален, 0 - не удален |
image_group | object | Группа изображений сотрудника |
Создает нового сотрудника в филиале с минимальным набором входных параметров.
company_id required | number Example: 123 Идентификатор филиала. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
name required | string Имя сотрудника. |
specialization required | string Специализация сотрудника. |
position_id required | number or null Идентификатор должности, к которой необходимо привязать сотрудника. |
phone_number required | string or null Номер телефона пользователя, к которому необходимо привязать сотрудника (без "+", от 9 до 15 цифр). |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект модели "Сотрудник с Должностью") | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "name": "Иван Иванов",
- "specialization": "Мастер",
- "position_id": 123,
- "phone_number": "71234567890"
}
{- "success": true,
- "data": {
- "id": 123,
- "name": "Иван Иванов",
- "company_id": 123,
- "specialization": "Мастер",
- "position": {
- "id": 123,
- "title": "Сотрудник"
}
}, - "meta": { }
}
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
name | string Имя сотрудника |
specialization | string Специализация сотрудника |
weight | number Вес сотрудника. При выводе сотрудники сортируются по весу, сначала более тяжелые |
information | string Информация о сотруднике (HTML-формат) |
api_id | string Внещний идентификатор сотрудника |
hidden | number Статус отображения в онлайн-записи, 1 - скрыт, 0 - не скрыт |
fired | number Статус увольнения сотрудника, 1 - уволен, 0 - не уволен |
user_id | number ID привязанного пользователя, 0 - удалить связь с пользователем |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержат количество найденных сотрудников) |
{- "name": "Василий",
- "specialization": "парикмахер",
- "weight": 10,
- "information": "Стрижет методом трех рук",
- "api_id": "42",
- "hidden": 0,
- "fired": 0,
- "user_id": 123
}
{- "success": true,
- "data": {
- "id": 17969,
- "api_id": "42",
- "name": "Василий",
- "specialization": "парикмахер",
- "position": {
- "id": 1,
- "title": "Администратор"
}, - "show_rating": 0,
- "rating": 0,
- "votes_count": 0,
- "user_id": 12345,
- "comments_count": 0,
- "weight": 10,
- "information": "<span><span><span> </span></span></span>",
- "hidden": 0,
- "fired": 0,
- "status": 0
}, - "meta": [ ]
}
company_id required | number ID филиала |
staff_id required | number ID сотрудника, если нужно работать с конкретным сотрудником. |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержат количество найденных сотрудников) |
success | boolean Статус успешности выполнения (false) |
data | string Содержит null |
object Метаданные (содержит в себе сообщение об ошибке) |
success | boolean Статус успешности выполнения (false) |
object Метаданные (содержит в себе сообщение об ошибке) |
{- "success": true,
- "data": [
- {
- "id": 1001539,
- "name": "Сотрудник 1",
- "company_id": 176275,
- "specialization": "специалист",
- "position": {
- "id": 1,
- "title": "Администратор"
}, - "fired": 0,
- "status": 0,
- "hidden": 0,
- "user_id": 12345
}
], - "meta": {
- "total_count": 1
}
}
company_id required | number ID компании |
staff_id required | number ID сотрудника, если нужно работать с конкретным сотрудником. |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": "17969",
- "name": "Василий",
- "specialization": "парикмахер",
- "position": {
- "id": 1,
- "title": "Администратор"
}, - "show_rating": "0",
- "rating": "0",
- "user_id": 12345,
- "votes_count": "0",
- "comments_count": "0",
- "weight": "10",
- "information": "<span><span><span> </span></span></span>",
- "hidden": "0",
- "fired": "0",
- "status": "0",
- "image_group": {
- "id": 72250,
- "entity": "master",
- "entity_id": 26427,
- "images": {
- "sm": {
- "id": "186817",
- "width": "100",
- "height": "100",
- "type": "jpeg",
- "image_group_id": 72250,
- "version": "sm"
}, - "norm": {
- "id": "186818",
- "width": "180",
- "height": "220",
- "type": "jpeg",
- "image_group_id": 72250,
- "version": "norm"
}, - "origin": {
- "id": "186819",
- "width": "800",
- "height": "600",
- "type": "jpeg",
- "image_group_id": 72250,
- "version": "origin"
}
}
}
}, - {
- "id": "34006",
- "api_id": "42",
- "name": "Денис",
- "specialization": "парикмахер",
- "position": [ ],
- "show_rating": "0",
- "rating": "0",
- "votes_count": "0",
- "user_id": 12345,
- "comments_count": "0",
- "weight": "9",
- "information": "<span><span> </span></span>",
- "hidden": "0",
- "fired": "0",
- "status": "0",
- "image_group": [ ]
}, - {
- "id": "13616",
- "name": "Александр",
- "specialization": "парикмахер",
- "position": [ ],
- "show_rating": "0",
- "rating": "4.76921",
- "votes_count": "0",
- "user_id": 12345,
- "comments_count": "26",
- "weight": "8",
- "information": "<span><span><span> </span></span></span>",
- "hidden": "0",
- "fired": "0",
- "status": "0",
- "image_group": [ ]
}
], - "meta": [ ]
}
company_id required | number ID компании |
staff_id required | number ID сотрудника |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
name | string Имя сотрудника |
specialization | string Специализация сотрудника |
weight | number Вес сотрудника. При выводе сотрудники сортируются по весу, сначала более тяжелые |
information | string Информация о сотруднике (HTML-формат) |
api_id | string Внещний идентификатор сотрудника |
hidden | number Статус отображения в онлайн-записи, 1 - скрыт, 0 - не скрыт |
fired | number Статус увольнения сотрудника, 1 - уволен, 0 - не уволен |
user_id | number ID привязанного пользователя, 0 - удалить связь с пользователем |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержат количество найденных сотрудников) |
{- "success": true,
- "data": {
- "id": 17969,
- "api_id": "42",
- "name": "Василий",
- "specialization": "парикмахер",
- "position": {
- "id": 1,
- "title": "Администратор"
}, - "show_rating": 0,
- "rating": 0,
- "votes_count": 0,
- "user_id": 12345,
- "comments_count": 0,
- "weight": 10,
- "information": "<span><span><span> </span></span></span>",
- "hidden": 0,
- "fired": 0,
- "status": 0
}, - "meta": [ ]
}
company_id required | number ID компании |
staff_id required | number ID сотрудника |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
Метод позволяет получить список актуальных должностей компании
company_id required | number Идентификатор компании |
required | Array of objects (StaffPosition) Массив объектов с данными |
meta required | Array of objects Метаданные (содержит количество найденных должностей) |
success required | boolean Статус успешности выполнения (true) |
{- "data": [
- {
- "id": 123,
- "title": "Название должности"
}
], - "meta": [
- { }
], - "success": true
}
Создает новую должность в филиале; должность создается как сетевая сущность и одновременно привязывается к филиалу, в которой запрошено ее создание.
company_id required | number Example: 123 Идентификатор филиала. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
title required | string Название должности. |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект модели "Должность") Данные существующей должности в сети. | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "title": "Должность"
}
{- "success": true,
- "data": {
- "id": 123,
- "chain_id": 123,
- "title": "Должность",
- "description": "Описание должности",
- "services_binding_type": 0,
- "rules_required_fields": [
- "employee_name",
- "surname",
- "patronymic",
- "date_admission",
- "date_registration_end",
- "phone_number",
- "citizenship",
- "sex",
- "passport_data",
- "inn",
- "number_insurance_certificates"
], - "only_chain_appointment": false
}, - "meta": { }
}
company_id required | number ID компании |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
page | number Номер страница |
page_size | number Количество выводимых строк на странице. Максимум 200. (По умолчанию 25) |
fields | Array of strings Поля, которые нужно вернуть в ответе |
order_by | string Enum: "id" "name" "phone" "email" "discount" "first_visit_date" "last_visit_date" "sold_amount" "visits_count" По какому полю сортировать |
order_by_direction | string Enum: "ASC" "DESC" Как сортировать (по возрастанию / по убыванию) |
operation | string Enum: "AND" "OR" Тип операции |
Array of objects Фильтры для поиска по клиентам |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных клиентов) |
success | boolean Статус успешности выполнения (false) |
data | string Содержит null |
object Метаданные (содержит сообщение об ошибке) |
success | boolean Статус успешности выполнения (false) |
data | string Содержит null |
object Метаданные (содержит сообение об ошибке) |
success | boolean Статус успешности выполнения (false) |
object Метаданные (содержит сообщение об ошибке) |
{- "page": 1,
- "page_size": 3,
- "fields": [
- "id",
- "name"
], - "order_by": "name",
- "order_by_direction": "desc",
- "operation": "AND",
- "filters": [
- {
- "type": "id",
- "state": {
- "value": [
- 1,
- 2,
- 3
]
}
}, - {
- "type": "sold_amount",
- "state": {
- "from": 0,
- "to": 100.77
}
}, - {
- "type": "quick_search",
- "state": {
- "value": "Иван"
}
}, - {
- "type": "importance",
- "state": {
- "value": [
- 0,
- 1,
- 2,
- 3
]
}
}, - {
- "type": "has_mobile_app",
- "state": {
- "value": true
}
}, - {
- "type": "category",
- "state": {
- "value": [
- 1,
- 7
]
}
}, - {
- "type": "has_passteam_card",
- "state": {
- "value": true
}
}, - {
- "type": "passteam_card_ids",
- "state": {
- "value": [
- "111122223333aaaabbbbcccc"
]
}
}, - {
- "type": "birthday",
- "state": {
- "from": "2000-01-01",
- "to": "2000-01-01"
}
}, - {
- "type": "gender",
- "state": {
- "value": [
- 0,
- 1,
- 2
]
}
}, - {
- "type": "record",
- "state": {
- "staff": {
- "value": [
- 1,
- 2
]
}, - "service": {
- "value": [
- 2,
- 3
]
}, - "service_category": {
- "value": [
- 4,
- 5
]
}, - "status": {
- "value": [
- 1
]
}, - "created": {
- "from": "2020-01-01",
- "to": "2020-05-01"
}, - "records_count": {
- "from": 1,
- "to": 99999
}, - "sold_amount": {
- "from": 1.001,
- "to": 99999.09
}
}
}, - {
- "type": "client",
- "state": {
- "id": {
- "value": [
- 1,
- 2,
- 3
]
}, - "birthday": {
- "from": "2000-01-01",
- "to": "2000-03-01"
}
}
}, - {
- "type": "sale",
- "state": {
- "abonement_balance": {
- "from": 2,
- "to": 3
}
}
}
]
}
{- "success": true,
- "data": [
- {
- "name": "Петров",
- "id": 2
}, - {
- "name": "Сидоров",
- "id": 3
}, - {
- "name": "Иванов",
- "id": 1
}
], - "meta": {
- "total_count": 908
}
}
1
) - ID компании1
) - Номер страницы20
) - Количество клиентов на страницеcompany_id required | number ID компании |
fullname | string Example: fullname=Joh Имя (часть имени) для фильтрации клиентов |
phone | string Example: phone=7916 Телефон (часть номера) для фильтрации клиентов |
string Example: email=test@ Email (часть) для фильтрации клиентов | |
paid_min | number Example: paid_min=1 Минимально оплачено в кассу, для фильтрации клиентов по сумме оплат |
paid_max | number Example: paid_max=1 Максимально оплачено в кассу, для фильтрации клиентов по сумме оплат |
page | number Example: page=1 Номер страницы |
count | number Example: count=20 Количество клиентов на странице |
id | number Example: id=66 ID одного или нескольких клиентов для фильтрации клиентов |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит номер страницы и количество клиентов на странице) |
{- "success": true,
- "data": [
- {
- "id": 66,
- "name": "Клиент",
- "phone": 79112345678,
- "categories": [
- {
- "id": 3,
- "title": "Черный список",
- "color": "#0f0f0f"
}, - {
- "id": 4,
- "title": "VIP",
- "color": "#e8d313"
}
], - "sex_id": 0,
- "sex": "Неизвестно",
- "discount": 10,
- "importance_id": 3,
- "importance": "Золото",
- "card": "123456789",
- "birth_date": "2010-01-01",
- "comment": "тест",
- "sms_check": 1,
- "sms_not": 0,
- "spent": 71842,
- "balance": 0,
- "visits": 34,
- "last_change_date": "2020-02-01T12:00:00+0400",
- "custom_fields": [ ]
}, - {
- "id": 16,
- "name": "Юрий",
- "phone": 79112345679,
- "email": "",
- "categories": [ ],
- "sex_id": 0,
- "sex": "Неизвестно",
- "discount": 0,
- "importance_id": 0,
- "importance": "Без класса важности",
- "card": "",
- "birth_date": 0,
- "comment": "",
- "sms_check": 0,
- "sms_not": 0,
- "spent": 0,
- "balance": 0,
- "visits": 3,
- "last_change_date": "2020-04-01T12:00:00+0400",
- "custom_fields": [ ]
}
], - "meta": {
- "page": 1,
- "total_count": 8
}
}
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
name required | string Имя клиента |
surname | string Фамилия клиента |
patronymic | string Отчество клиента |
phone required | string Телефон клиента |
string Email клиента | |
sex_id | number Пол клиента (1 - мужской, 2 - женский, 0 - не известен) |
importance_id | number Класс важности клиента (0 - нет, 1 - бронза, 2 - серебро, 3 - золото) |
discount | number Скидка клиента |
card | string Номер карты клиента |
birth_date | string Дата рождения клиента в формате yyyy-mm-dd |
comment | string Комментарий |
spent | number Сколько потратил средств в компании на момент добавления |
balance | number Баланс клиента |
sms_check | number 1 - Поздравлять с Днем Рождения по SMS, 0 - не поздравлять |
sms_not | number 1 - Исключить клиента из SMS рассылок, 0 - не исключать |
categories | object Массив идентификаторов категорий клиента |
custom_fields | object Массив дополнительных полей клиента в виде пар "api-key": "value" |
{- "success": true,
- "data": {
- "id": 1121412,
- "name": "Василий",
- "surname": "Сонов",
- "patronymic": "Васильевич",
- "phone": 79211234567,
- "categories": [ ],
- "sex": "Мужской",
- "sex_id": 1,
- "discount": 15,
- "importance_id": 1,
- "importance": "Бронза",
- "card": "555888666",
- "birth_date": "2010-01-01",
- "comment": "кидает понты",
- "sms_check": 0,
- "sms_not": 0,
- "spent": 1000,
- "balance": -1200,
- "visits": 0,
- "last_change_date": "2020-05-01T12:00:00+0400",
- "custom_fields": {
- "key-1": "value-1"
}
}, - "meta": [ ]
}
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
name required | string Имя клиента |
surname | string Фамилия клиента |
patronymic | string Отчество клиента |
phone required | string Телефон клиента |
string Email клиента | |
sex_id | number Пол клиента (1 - мужской, 2 - женский, 0 - не известен) |
importance_id | number Класс важности клиента (0 - нет, 1 - бронза, 2 - серебро, 3 - золото) |
discount | number Скидка клиента |
card | string Номер карты клиента |
birth_date | string Дата рождения клиента в формате yyyy-mm-dd |
comment | string Комментарий |
spent | number Сколько потратил средств в компании на момент добавления |
balance | number Баланс клиента |
sms_check | number 1 - Поздравлять с Днем Рождения по SMS, 0 - не поздравлять |
sms_not | number 1 - Исключить клиента из SMS рассылок, 0 - не исключать |
categories | object Массив идентификаторов категорий клиента |
{- "success": true,
- "data": {
- "created": [
- {
- "id": 19153889,
- "name": "Василий",
- "surname": "Сонов",
- "patronymic": "Васильевич",
- "phone": 79213237567,
- "card": "555888666",
- "birth_date": "2010-01-01",
- "comment": "кидает понты",
- "discount": 15,
- "visits": 0,
- "sex_id": 1,
- "sex": "Мужской",
- "sms_check": 0,
- "sms_bot": 0,
- "spent": 1000,
- "paid": 0,
- "balance": -1200,
- "importance_id": 1,
- "importance": "Бронза",
- "categories": [
- {
- "id": 101,
- "title": "Лояльный",
- "color": "#bfd4f2"
}, - {
- "id": 102,
- "title": "Постоянный",
- "color": "#009800"
}
], - "last_change_date": "2020-09-08T13:33:39+0400",
- "custom_fields": [ ]
}
], - "errors": [
- {
- "phone": 79213237567,
- "name": "Василий СОНов",
- "error": "Клиент с указанным телефоном уже существует в базе"
}, - {
- "phone": 721828834101,
- "error": "Не указано имя клиента"
}, - {
- "phone": 123,
- "name": "Дмитрий Дмитрев",
- "error": "Телефон должен содержать от 9 до 15 цифр"
}, - {
- "name": "Сергей Сергеев",
- "error": "Номер телефона клиента не может быть пустым"
}
]
}, - "meta": [ ]
}
Список загруженных файлов клиента можно получить, сделав запрос с указанием идентификатора филиала и идентификатора клиента, для которого необходимо получить список. Идентификатор клиента можно получить из коллекции клиентов.
Список представляет собой массив файлов клиента.
Файл клиента имеет следующую структуру:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор файла |
client_id | number | Идентификатор клиента |
name | string | Имя файла с расширением |
description | string | Описание файла |
extension | string | Расширение имени файла |
mime | string | MIME-тип файла |
link | string | Ссылка на скачивание файла |
date_create | string | Дата загрузки файла в формате ISO8601 |
size | string | Форматированная строка размера файла |
user_name | string | Имя пользователя, загрузившего файл |
user_avatar | string | Аватар пользователя, загрузившего файл |
can_edit | boolean | Есть ли право изменять и удалять файл? true - право есть, false - права нет |
company_id required | number ID компании |
client_id required | number ID клиента |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество файлов) |
{- "success": true,
- "data": [
- {
- "id": 123,
- "client_id": 123456,
- "name": "test.txt",
- "description": "",
- "date_create": "2020-01-01T12:00:00+0400",
- "extension": "txt",
- "mime": "text/plain",
- "link": "/client_files/download/456/123/",
- "user_name": "Виктор Ситников",
- "user_avatar": "/images/no-master.png",
- "size": "9 B",
- "can_edit": false
}, - {
- "id": 789,
- "client_id": 123456,
- "name": "фотография.jpg",
- "description": "",
- "date_create": "2020-01-30T12:30:00+0400",
- "extension": "jpg",
- "mime": "image/jpeg",
- "link": "/client_files/download/456/789/",
- "user_name": "Виктор Ситников",
- "user_avatar": "/images/no-master.png",
- "size": "96.65 KB",
- "can_edit": true
}
], - "meta": {
- "count": 2
}
}
company_id required | number ID компании |
client_id required | number ID клиента |
file_id required | number ID файла |
Accept | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
Выводит записи из истории посещений клиента по его идентификатору или номеру телефона. В ответ попадают записи и
продажи товаров, объединенные по визитам, отфильтрованные по статусу посещения и статусу оплаты визита. Результат
сортируется по дате и разбивается на страницы по 25 элементов (или более, если дата последней записи совпадает с
датой следующей записи). Идентификация клиента происходит по входному параметру client_id
либо по client_phone
.
Остальные параметры могут иметь пустое значение.
Для получения данных на следующей странице необходимо выполнить запрос с параметрами from
и to
,
полученными в результате текущего запроса в поле meta
.
company_id required | number Example: 123 Идентификатор филиала. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
client_id required | number or null Идентификатор клиента. |
client_phone required | string or null Номер телефона клиента. |
from required | string or null <date> Дата начала периода. |
to required | string or null <date> Дата конца периода. |
payment_statuses required | Array of strings Items Enum: "not_paid" "paid_not_full" "paid_full" "paid_over" Статус оплаты визита: |
attendance required | number or null Enum: -1 0 1 2 Статус посещения: |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект модели "История посещений клиента") Данные по визитам клиента, включая записи и продажи товаров. | |
object (Объект информации о постраничной навигации, основанной на дате.) Информация о постраничной навигации, содержащая данные о текущей, следующей и предыдущей страницах. Данные отсортированы и разбиты на страницы по датам в убывающем порядке. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "client_id": 123,
- "client_phone": "79998887766",
- "from": "2022-01-31",
- "to": "2022-02-01",
- "payment_statuses": [
- "not_paid"
], - "attendance": -1
}
{- "success": true,
- "data": {
- "goods_transactions": [
- {
- "id": 123,
- "comment": "Комментарий к продаже товара",
- "date": "2021-01-31 12:34:56",
- "visit_id": 0,
- "record_id": 0,
- "goods": [
- {
- "id": 123,
- "title": "Мой товар",
- "amount": -1,
- "unit": "шт.",
- "cost_per_unit": 1000,
- "first_cost": -1000,
- "discount_percent": 0,
- "cost_to_pay": 1000,
- "paid_sum": 1000,
- "payment_status": "paid_full"
}
], - "staff": {
- "id": 123,
- "name": "Иван Иванов",
- "company_id": 123,
- "specialization": "Мастер",
- "position": {
- "id": 123,
- "title": "Сотрудник"
}
}, - "company": {
- "id": 123,
- "title": "Мой филиал"
}
}
], - "records": [
- {
- "id": 123,
- "comment": "Комментарий к записи",
- "date": "2021-01-31 12:34:56",
- "visit_id": 123,
- "attendance": 1,
- "services": [
- {
- "id": 123,
- "title": "Моя услуга",
- "first_cost": 1000,
- "discount_percent": 0,
- "cost_to_pay": 1000,
- "paid_sum": 1000,
- "payment_status": "paid_full",
- "consumables": [
- {
- "title": "Мой расходник",
- "amount": 1,
- "cost_per_unit": 1000,
- "unit": "шт."
}
]
}
], - "staff": {
- "id": 123,
- "name": "Иван Иванов",
- "company_id": 123,
- "specialization": "Мастер",
- "position": {
- "id": 123,
- "title": "Сотрудник"
}
}, - "company": {
- "id": 123,
- "title": "Мой филиал"
}, - "tips": {
- "has_tips": false,
- "sum": null
}, - "comer": {
- "id": 123,
- "title": "Иванов Иван",
- "slug": "person"
}
}
]
}, - "meta": {
- "dateCursor": {
- "previous": {
- "to": "2022-01-31",
- "from": "2022-01-20",
- "count": 7
}, - "current": {
- "to": "2022-01-19",
- "from": "2022-01-15",
- "count": 25
}, - "next": {
- "to": "2022-01-14",
- "from": "2022-01-05",
- "count": 25
}
}
}
}
company_id required | number ID компании |
id required | number ID клиента |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "data": {
- "id": 16,
- "name": "Василий",
- "surname": "Сонов",
- "patronymic": "Васильевич",
- "phone": 79112345679,
- "email": "",
- "categories": [ ],
- "sex": "Неизвестно",
- "discount": 0,
- "importance": "Без класса важности",
- "card": "",
- "birth_date": 0,
- "comment": "",
- "sms_check": 0,
- "sms_not": 0,
- "spent": 0,
- "balance": 0,
- "visits": 3,
- "last_change_date": "2020-03-01T12:00:00+0400",
- "custom_fields": [ ]
}, - "meta": [ ]
}
company_id required | number ID компании |
id required | number ID клиента |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
name required | string Имя клиента |
surname | string Фамилия клиента |
patronymic | string Отчество клиента |
phone required | string Телефон клиента |
string Email клиента | |
sex_id | number Пол клиента (1 - мужской, 2 - женский, 0 - не известен) |
importance_id | number Класс важности клиента (0 - нет, 1 - бронза, 2 - серебро, 3 - золото) |
discount | number Скидка клиента |
card | string Номер карты клиента |
birth_date | string Дата рождения клиента в формате yyyy-mm-dd |
comment | string Комментарий |
spent | number Сколько потратил средств в компании на момент добавления |
balance | number Баланс клиента |
sms_check | number 1 - Поздравлять с Днем Рождения по SMS, 0 - не поздравлять |
sms_not | number 1 - Исключить клиента из SMS рассылок, 0 - не исключать |
labels | object Массив идентификаторов категорий клиента |
custom_fields | object Массив дополнительных полей клиента в виде пар "api-key": "value" |
{- "success": true,
- "data": {
- "id": 1121412,
- "name": "Василий",
- "surname": "Сонов",
- "patronymic": "Васильевич",
- "phone": 79211234567,
- "categories": [ ],
- "sex": "Мужской",
- "sex_id": 1,
- "discount": 15,
- "importance_id": 1,
- "importance": "Бронза",
- "card": "555888666",
- "birth_date": "2010-01-01",
- "comment": "кидает понты",
- "sms_check": 0,
- "sms_not": 0,
- "spent": 1000,
- "balance": -1200,
- "visits": 0,
- "last_change_date": "2020-06-01T12:00:00+0400",
- "custom_fields": {
- "key-1": "value-1"
}
}, - "meta": [ ]
}
company_id required | number ID компании |
id required | number ID клиента |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
Возвращает список комментариев к клиенту, а также историю загрузки файлов в карточку клиента в виде комментариев.
company_id required | number Example: 123 Идентификатор филиала. |
client_id required | number Example: 123 Идентификатор клиента филиала. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
Array of objects (Объект модели "Комментарий к клиенту") | |
object (Объект дополнительной информации о запросе с кол-вом найденных результатов) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": [
- {
- "id": 123,
- "create_date": "2023-01-01 12:12:12",
- "update_date": "2023-01-01 12:12:12",
- "type": "default",
- "text": "Комментарий к клиенту",
- "files": [ ],
}
], - "meta": {
- "count": 10
}
}
Создает новый текстовый комментарий к клиенту.
company_id required | number Example: 123 Идентификатор филиала. |
client_id required | number Example: 123 Идентификатор клиента филиала. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
text required | string Текст комментария к клиенту. |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект модели "Комментарий к клиенту") Данные по комментарию к клиенту. | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "text": "Комментарий к клиенту"
}
{- "success": true,
- "data": {
- "id": 123,
- "create_date": "2023-01-01 12:12:12",
- "update_date": "2023-01-01 12:12:12",
- "type": "default",
- "text": "Комментарий к клиенту",
- "files": [ ],
}, - "meta": { }
}
Удаляет комментарий к клиенту; не удаляет загруженные в карточку клиента файлы, загрузка которых породила создание комментария.
company_id required | number Example: 123 Идентификатор филиала. |
client_id required | number Example: 123 Идентификатор клиента филиала. |
comment_id required | number Example: 123 Идентификатор комментария клиента. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": null,
- "meta": { }
}
43877
) - Id сети салоновgroup_id required | number ID сети салонов |
phone required | string Example: phone='79264037640' Телефон для фильтрации клиентов, обязательный параметр |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token.User user_token |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
success | boolean Статус успешности выполнения |
data | string Содержит null |
object Объект с сообщением об ошибке |
{- "success": true,
- "data": {
- "salon_group_id": 312,
- "phone": "70001234567",
- "clients": [
]
}, - "meta": [ ]
}
Для работы с записями
JSON-Объект записи содержит следующие поля:
Поле | Тип | Обязательный | Описание |
---|---|---|---|
id | number | ДА | ID записи |
staff_id | number | ДА | (при сохранении записи) Id специалиста, которые был забронирован |
services | array | ДА | Список параметров услуг записи (может быть пустой массив) |
client | object | ДА | Данные клиента (может быть пустой объект) |
datetime | string | ДА | Дата сеанса |
seance_length | number | ДА | Длительность сеанса |
save_if_busy | boolean | ДА | (Только для сохранения) Сохранять запись даже в случае наложения записей или нерабочего времени сотрудника |
send_sms | boolean | ДА | (Только для создания) Отправить ли клиенту смс с деталями записи (если клиент указан) |
sms_before | boolean | ДА | Отправить ли клиенту смс с напоминанием о записи (если клиент указан) |
sms_remain_hours | number | НЕТ | За сколько часов до визита клиенту отправить смс напоминание (0 - если не отправлять) |
email_remain_hours | number | НЕТ | За сколько часов до визита клиенту отправить email напоминание (0 - если не отправлять) |
comment | string | НЕТ | Комментарий к записи |
master_requested | boolean | НЕТ | Был ли указан определенный специалист при записи (false если был указан "не имеет значения") |
attendance | number | НЕТ | 2 - Пользователь подтвердил запись, 1 - Пользователь пришел, услуги оказаны, 0 - ожидание пользователя, -1 - пользователь не пришел на визит |
api_id | string | НЕТ | Внешний идентификатор записи |
deleted | boolean | НЕТ | (Только при чтении) Удалена ли запись (true если удалена) |
online | boolean | НЕТ | (Только при чтении) Запись онлайновая или нет (false если запись внес администратор) |
create_date | string | ДА | (Только при чтении) Дата создания записи |
custom_color | string | НЕТ | Цвет записи в журнале |
custom_font_color | string | НЕТ | (Только при чтении) Цвет шрифта записи |
record_labels | array | НЕТ | Категории записи |
activity_id | number | НЕТ | ID группового события |
clients_count | number | НЕТ | Количество занимаемых мест в групповом событии |
sms_remain_hours | number | НЕТ | За сколько часов до начала визита отправить sms с напоминанием |
email_remain_hours | number | НЕТ | За сколько часов до начала визита отправить email с напоминанием |
bookform_id | number | НЕТ | Идентификатор формы онлайн-записи |
record_from | string | НЕТ | description: Название формы онлайн-записи |
is_mobile | number | НЕТ | Тип устройства, с которого записались (0 - запись, создана администратором, через web-версию или моб. приложение для администраторов, 1 - Мобильный браузер, виджет онлайн-записи, 2 - Десктопный браузер, виджет онлайн-записи) |
is_sale_bill_printed | boolean | НЕТ | Распечатан ли чек продажи |
Массив services состоит из объектов, которые имеют следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор услуги |
title | string | (только при чтении) Название услуги |
first_cost | float | Начальная стоимость услуги (без учета скидок) |
discount | float | Скидка на услугу |
cost | float | Итоговая стоимость услуги |
Объект сlient имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | (передается только при чтении) Идентификатор клиента |
phone | string | Телефон клиента |
name | string | Имя клиента |
surname | string | Фамилия клиента (Если включено в Настройки - Журнал записи) |
patronymic | string | Отчество клиента (Если включено в Настройки - Журнал записи) |
string | Email клиента |
Объект staff передается тольки при чтении записей/записи, и имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор сотрудника |
name | string | Имя сотрудника |
specialization | string | Специализация сотрудника |
position | object | Должность сотрудника |
avatar | string | Путь к файлу аватарки сотрудника |
Массив record_labels состоит из объектов, которые имеют следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор категории |
title | string | Название категории |
color | string | Цвет категории |
icon | string | Иконка |
font_color | string | Цвет шрифта категории |
company_id required | number ID компании |
page | number Example: page=1 Номер страницы |
count | number Example: count=50 Количество записей на странице |
staff_id | number Example: staff_id=7572 ID сотрудника, если нужно только записи к конкретному сотруднику |
client_id | number Example: client_id=572 ID клиента. Если нужны записи к конкретному клиенту |
created_user_id | number Example: created_user_id=7572 ID пользователя создавшего запись. Если нужны записи созданные конкретным пользователем |
start_date | date Example: start_date=2019-01-01 Дата сеанса начина с (фильтр по дате сеанса). Если нужны записи на сеанс начиная с конкретной даты |
end_date | date Example: end_date=2019-05-01 Дата сеанса по. Если нужны записи на сеанс до конкретной даты |
c_start_date | date Example: c_start_date=2019-01-01 Дата создания записи начиная с(фильтр по дате создания записи). Если нужны записи созданные начиная с конкретной даты |
c_end_date | date Example: c_end_date=2019-05-01 Дата создания записи по(фильтр по дате создания записи). |
changed_after | date Example: changed_after=2019-01-01 Дата изменения/создания записи. Если нужны записи созданные/измененные начиная с конкретной даты и времени |
changed_before | date Example: changed_before=2019-05-01 Дата изменения/создания записи. Если нужны записи созданные/измененные до конкретной даты и времени |
include_consumables | number Example: include_consumables=0 Флаг для включения в ответ списка расходников по записям |
include_finance_transactions | number Example: include_finance_transactions=0 флаг для включения в ответ финансовых транзакций по записям |
with_deleted | boolean Включить в выдачу удаленные записи (with_deleted=1 вернет и удаленные записи) |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит номер страницы и количество записей на странице) |
{- "success": true,
- "data": [
- {
- "id": 2,
- "company_id": 4564,
- "staff_id": 9,
- "services": [
- {
- "id": 1,
- "title": "Наращивание волос",
- "cost": 100,
- "cost_to_pay": 100,
- "manual_cost": 100,
- "cost_per_unit": 100,
- "discount": 0,
- "first_cost": 100,
- "amount": 1
}
], - "goods_transactions": [ ],
- "staff": {
- "id": 9,
- "name": "Оксана",
- "specialization": "наращивание волос",
- "position": {
- "id": 1,
- "title": "Администратор"
}, - "rating": 0,
- "votes_count": 0
}, - "client": null,
- "comer": null,
- "clients_count": 1,
- "date": "2019-01-16 16:00:00",
- "datetime": "2019-01-16T16:00:00+09:00",
- "create_date": "2019-01-16T20:35:11+0900",
- "comment": "не записывать",
- "online": false,
- "visit_attendance": 0,
- "attendance": 0,
- "confirmed": 1,
- "seance_length": 3600,
- "length": 3600,
- "sms_before": 0,
- "sms_now": 0,
- "sms_now_text": "",
- "email_now": 0,
- "notified": 0,
- "master_request": 0,
- "api_id": "",
- "from_url": "",
- "review_requested": 0,
- "visit_id": "8262996",
- "created_user_id": 1073232,
- "deleted": false,
- "paid_full": 0,
- "prepaid": false,
- "prepaid_confirmed": false,
- "last_change_date": "2019-01-16T20:35:15+0900",
- "custom_color": "",
- "custom_font_color": "",
- "record_labels": [ ],
- "activity_id": 0,
- "custom_fields": [ ],
- "documents": [
- {
- "id": 8172893,
- "type_id": 7,
- "storage_id": 0,
- "user_id": 746310,
- "company_id": 4564,
- "number": 4163,
- "comment": "",
- "date_created": "2019-01-16 16:00:00",
- "category_id": 0,
- "visit_id": 3,
- "record_id": 2,
- "type_title": "Визит",
- "is_sale_bill_printed": false
}
], - "sms_remain_hours": 5,
- "email_remain_hours": 1,
- "bookform_id": 0,
- "record_from": "",
- "is_mobile": 0,
- "is_sale_bill_printed": false,
- "consumables": [ ],
- "finance_transactions": [ ]
}, - {
- "id": 9,
- "company_id": 4564,
- "staff_id": 49,
- "services": [ ],
- "goods_transactions": [ ],
- "staff": {
- "id": 49,
- "name": "Сергей",
- "specialization": "стилист",
- "position": {
- "id": 1,
- "title": "Администратор"
}, - "rating": 0,
- "votes_count": 0
}, - "date": "2019-01-16 16:00:00",
- "datetime": "2019-01-16T16:00:00+09:00",
- "create_date": "2019-01-16T20:35:11+0900",
- "comment": "",
- "online": true,
- "visit_attendance": 1,
- "attendance": 1,
- "confirmed": 1,
- "seance_length": 10800,
- "length": 10800,
- "sms_before": 0,
- "sms_now": 0,
- "sms_now_text": "",
- "email_now": 0,
- "notified": 0,
- "master_request": 1,
- "api_id": "",
- "from_url": "",
- "review_requested": 0,
- "visit_id": "8262996",
- "created_user_id": 1073232,
- "deleted": false,
- "paid_full": 0,
- "prepaid": false,
- "prepaid_confirmed": false,
- "last_change_date": "2017-01-09T20:45:30+0900",
- "custom_color": "f44336",
- "custom_font_color": "#ffffff",
- "record_labels": [
- {
- "id": "67345",
- "title": "Сотрудник не важен",
- "color": "#009800",
- "icon": "unlock",
- "font_color": "#ffffff"
}, - {
- "id": "104474",
- "title": "важная категория",
- "color": "#3b2c54",
- "icon": "odnoklassniki",
- "font_color": "#ffffff"
}
], - "activity_id": 0,
- "custom_fields": [ ],
- "documents": [
- {
- "id": 8172893,
- "type_id": 7,
- "storage_id": 0,
- "user_id": 746310,
- "company_id": 4564,
- "number": 4163,
- "comment": "",
- "date_created": "2019-01-16 16:00:00",
- "category_id": 0,
- "visit_id": 3,
- "record_id": 2,
- "type_title": "Визит",
- "is_sale_bill_printed": false
}
], - "sms_remain_hours": 5,
- "email_remain_hours": 1,
- "bookform_id": 0,
- "record_from": "",
- "is_mobile": 0,
- "is_sale_bill_printed": false,
- "consumables": [ ],
- "finance_transactions": [ ]
}
], - "meta": {
- "page": 1,
- "total_count": 10
}
}
Для групповых событий При создании записи в групповом событии параметр activity_id становится обязательным, параметры staff_id, services, datetime, seance_length становятся необязательными.
Дополнительные поля При создании дополнительных полей записи(см. раздел "Дополнительные поля") становится возможным передавать собственные значения для полей. Дополнительные поля уникальны для каждой компании. После создания дополнительных полей, их значения для конкретной записи могут передаваться в необязательном поле custom_fields в виде пар ключ-значение где ключ это поле "code" дополнительного поля. Пример:
Создали дополнительное поле записи с code="my_custom_field" type="number", и второе поле code="some_another_field" type="list"
Передали при создании записи еще один атрибут: custom_fields: { "my_custom_field": 123, "some_another_field": ["first value", "second value"] }
При получении данной записи методом GET впоследствии, это же значение дополнительных полей вернется в ответе
company_id required | number Example: 24699 ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
staff_id | number Идентификатор сотрудника |
Array of objects Параметры услуг (id, стоимость, скидка) | |
object Параметры клиента (телефон, имя, email) | |
save_if_busy | boolean Сохранять ли запись если время занято или нерабочее, или выдать ошибку |
datetime | string <date-time> Дата и время записи |
seance_length | number Длительность записи в секундах |
send_sms | boolean Отправлять ли смс с деталями записи клиенту |
comment | string Комментарий к записи |
sms_remain_hours | number За сколько часов до визита следует выслать смс напоминание клиенту (0 - если не нужно) |
email_remain_hours | number За сколько часов до визита следует выслать email напоминание клиенту (0 - если не нужно) |
attendance | number Статус записи (2 - Пользователь подтвердил запись, 1 - Пользователь пришел, услуги оказаны, 0 - ожидание пользователя, -1 - пользователь не пришел на визит) |
api_id | string Идентификатор внешней системы |
custom_color | string Цвет записи |
record_labels | Array of strings Массив идентификаторов категорий записи |
object Дополнительные поля записи |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит номер страницы и количество записей на странице) |
{- "staff_id": 8886,
- "services": [
- {
- "id": 331,
- "first_cost": 9000,
- "discount": 50,
- "cost": 4500
}, - {
- "id": 333,
- "first_cost": 2000,
- "discount": 10,
- "cost": 1800
}
], - "client": {
- "phone": "79169999900",
- "name": "Дмитрий",
- "surname": "",
- "patronymic": "",
- "email": "[email protected]"
}, - "save_if_busy": false,
- "datetime": "2019-01-01 17:00:00",
- "seance_length": 3600,
- "send_sms": true,
- "comment": "тестовая запись!",
- "sms_remain_hours": 6,
- "email_remain_hours": 24,
- "attendance": 1,
- "api_id": "777",
- "custom_color": "f44336",
- "record_labels": [
- "67345",
- "104474"
], - "custom_fields": {
- "my_custom_field": 123,
- "some_another_field": [
- "first value",
- "second value"
]
}
}
{- "success": true,
- "data": [
- {
- "id": 2,
- "company_id": 4564,
- "staff_id": 9,
- "services": [
- {
- "id": 1,
- "title": "Наращивание волос",
- "cost": 100,
- "cost_to_pay": 100,
- "manual_cost": 100,
- "cost_per_unit": 100,
- "discount": 0,
- "first_cost": 100,
- "amount": 1
}
], - "goods_transactions": [ ],
- "staff": {
- "id": 9,
- "name": "Оксана",
- "specialization": "наращивание волос",
- "position": {
- "id": 1,
- "title": "Администратор"
}, - "rating": 0,
- "votes_count": 0
}, - "date": "2019-01-16 20:35:11",
- "datetime": "2019-01-16T20:35:11+0900",
- "create_date": "2019-01-16T20:35:11+0900",
- "comment": "не записывать",
- "online": false,
- "visit_attendance": 0,
- "attendance": 0,
- "confirmed": 1,
- "seance_length": 3600,
- "length": 3600,
- "sms_before": 0,
- "sms_now": 0,
- "sms_now_text": "",
- "email_now": 0,
- "notified": 0,
- "master_request": 0,
- "api_id": "",
- "from_url": "",
- "review_requested": 0,
- "visit_id": "8262996",
- "created_user_id": 1073232,
- "deleted": false,
- "paid_full": 0,
- "prepaid": false,
- "prepaid_confirmed": false,
- "last_change_date": "2019-01-16T20:35:15+0900",
- "custom_color": "",
- "custom_font_color": "",
- "record_labels": [ ],
- "activity_id": 0,
- "custom_fields": [ ],
- "documents": [
- {
- "id": 8172893,
- "type_id": 7,
- "storage_id": 0,
- "user_id": 746310,
- "company_id": 4564,
- "number": 4163,
- "comment": "",
- "date_created": "2019-01-16 12:00:00",
- "category_id": 0,
- "visit_id": 3,
- "record_id": 2,
- "type_title": "Визит",
- "is_sale_bill_printed": false
}
], - "consumables": [ ],
- "finance_transactions": [ ]
}, - {
- "id": 9,
- "company_id": 4564,
- "staff_id": 49,
- "services": [ ],
- "goods_transactions": [ ],
- "staff": {
- "id": 49,
- "name": "Сергей",
- "specialization": "стилист",
- "position": {
- "id": 1,
- "title": "Администратор"
}, - "rating": 0,
- "votes_count": 0
}, - "date": "2019-01-16 20:35:11",
- "datetime": "2019-01-16T20:35:11+0900",
- "create_date": "2019-01-16T20:35:11+0900",
- "comment": "",
- "online": true,
- "visit_attendance": 1,
- "attendance": 1,
- "confirmed": 1,
- "seance_length": 10800,
- "length": 10800,
- "sms_before": 0,
- "sms_now": 0,
- "sms_now_text": "",
- "email_now": 0,
- "notified": 0,
- "master_request": 1,
- "api_id": "",
- "from_url": "",
- "review_requested": 0,
- "visit_id": "8262996",
- "created_user_id": 1073232,
- "deleted": false,
- "paid_full": 0,
- "prepaid": false,
- "prepaid_confirmed": false,
- "last_change_date": "2017-01-09T20:45:30+0900",
- "custom_color": "f44336",
- "custom_font_color": "#ffffff",
- "record_labels": [
- {
- "id": "67345",
- "title": "Сотрудник не важен",
- "color": "#009800",
- "icon": "unlock",
- "font_color": "#ffffff"
}, - {
- "id": "104474",
- "title": "важная категория",
- "color": "#3b2c54",
- "icon": "odnoklassniki",
- "font_color": "#ffffff"
}
], - "activity_id": 0,
- "custom_fields": [ ],
- "documents": [
- {
- "id": 8172893,
- "type_id": 7,
- "storage_id": 0,
- "user_id": 746310,
- "company_id": 4564,
- "number": 4163,
- "comment": "",
- "date_created": "2019-01-16 12:00:00",
- "category_id": 0,
- "visit_id": 3,
- "record_id": 2,
- "type_title": "Визит",
- "is_sale_bill_printed": false
}
], - "consumables": [ ],
- "finance_transactions": [ ]
}
], - "meta": {
- "page": 1,
- "total_count": 10
}
}
salon_id: ID филиала
start_date: Дата визита начиная с (фильтр по дате визита). Если нужны записи, начиная с конкретной даты визита
end_date: Дата визита по (фильтр по дате визита)
created_start_date: Дата создания записи начиная с (фильтр по дате создания записи). Если нужны записи, созданные начиная с конкретной даты
created_end_date: Дата создания записи по (фильтр по дате создания записи)
user_id: ID пользователя
page | number Example: page=1 Номер страницы |
editable_length | number Example: editable_length=50 Количество записей на странице, максимум 100 |
salon_id | number Example: salon_id=1 ID филиала |
start_date | string Example: start_date='17.01.2018' Фильтр по дате визита с |
end_date | string Example: end_date='17.01.2018' Фильтр по дате визита по |
created_start_date | string Example: created_start_date='17.01.2018' Фильтр по дате создания записи с |
created_end_date | string Example: created_end_date='17.01.2018' Фильтр по дате создания записи по |
user_id | number Example: user_id=1 ID пользователя |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "data": [
- {
- "id": 1,
- "date": "2018-11-17 00:00:00",
- "datetime": "2018-11-17T00:00:00+0400",
- "create_date": "2018-11-17T16:08:08+0400",
- "comment": "",
- "deleted": false,
- "attendance": 0,
- "length": 3600,
- "notify_by_sms": 1,
- "notify_by_email": 12,
- "master_requested": true,
- "online": false,
- "api_id": "42",
- "last_change_date": "2018-11-18T16:58:59+0400",
- "prepaid": 0,
- "prepaid_confirmed": 0,
- "activity_id": 0,
- "services": [
- {
- "id": 1,
- "title": "Стрижка бороды",
- "cost": 100,
- "price_min": 500,
- "price_max": 1500,
- "discount": 0,
- "amount": 1
}
], - "company": {
- "id": 1,
- "title": "",
- "public_title": "",
- "business_group_id": 1,
- "business_type_id": 1,
- "country_id": 1,
- "city_id": 1,
- "timezone": 3,
- "timezone_name": "Europe/Moscow",
- "address": "",
- "coordinate_lat": 0,
- "coordinate_lon": 0,
- "zip": 0,
- "phone": "",
- "phones": [ ],
- "site": "",
- "allow_delete_record": true,
- "allow_change_record": true,
- "country": "Россия",
- "city": "Москва"
}, - "staff": {
- "id": 1,
- "name": "Иван",
- "company_id": 1,
- "specialization": "Барбер",
- "position": [ ],
- "rating": 0,
- "show_rating": 1,
- "comments_count": 0,
- "votes_count": 0,
- "average_score": 0,
- "prepaid": "forbidden"
}, - "client": {
- "id": 1,
- "name": "Иван",
- "surname": "Иванов",
- "patronymic": "Иванович",
- "phone": "+7 999 123-45-67",
- "phone_code": "7",
- "email": "[email protected]"
}, - "custom_fields": {
- "dop-telephone": "70001234567"
}
}
], - "meta": {
- "count": 1
}
}
company_id required | number ID компании |
record_id required | number ID записи |
include_consumables | number Example: include_consumables=0 |
include_finance_transactions | number Example: include_finance_transactions=0 |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "id": 2,
- "company_id": 4564,
- "staff_id": 9,
- "services": [
- {
- "id": 1,
- "title": "Наращивание волос",
- "cost": 100,
- "cost_to_pay": 100,
- "manual_cost": 100,
- "cost_per_unit": 100,
- "discount": 0,
- "first_cost": 100,
- "amount": 1
}
], - "goods_transactions": [ ],
- "staff": {
- "id": 9,
- "name": "Оксана",
- "specialization": "наращивание волос",
- "position": {
- "id": 1,
- "title": "Администратор"
}, - "rating": 0,
- "votes_count": 0
}, - "client": {
- "id": 18936825,
- "name": "Иванов",
- "surname": "Иван",
- "patronymic": "Иванович",
- "display_name": "Иван Иванович Иванов",
- "phone": 70001234567,
- "card": "",
- "success_visits_count": 37,
- "fail_visits_count": 3,
- "discount": 0,
- "is_new": false,
- "custom_fields": [ ]
}, - "comer": null,
- "clients_count": 1,
- "date": "2019-01-01 12:00:00",
- "datetime": "2019-01-01T12:00:00+09:00",
- "create_date": "2019-01-17T19:41:44+0900",
- "comment": "не записывать",
- "visit_attendance": 0,
- "attendance": 0,
- "confirmed": 1,
- "seance_length": 3600,
- "length": 3600,
- "sms_before": 0,
- "sms_now": 0,
- "sms_now_text": "",
- "email_now": 0,
- "notified": 0,
- "master_request": 0,
- "api_id": "",
- "from_url": "",
- "review_requested": 0,
- "visit_id": "8263004",
- "created_user_id": 1073232,
- "deleted": false,
- "paid_full": 0,
- "payment_status": 0,
- "prepaid": false,
- "prepaid_confirmed": false,
- "last_change_date": "2019-01-17T19:44:14+0900",
- "custom_color": "f44336",
- "custom_font_color": "#ffffff",
- "record_labels": [
- {
- "id": "67345",
- "title": "Сотрудник не важен",
- "color": "#009800",
- "icon": "unlock",
- "font_color": "#ffffff"
}, - {
- "id": "104474",
- "title": "интересная категория",
- "color": "#3b2c54",
- "icon": "odnoklassniki",
- "font_color": "#ffffff"
}
], - "activity_id": 0,
- "custom_fields": [ ],
- "documents": [
- {
- "id": 8172893,
- "type_id": 7,
- "storage_id": 0,
- "user_id": 1073232,
- "company_id": 4564,
- "number": 4163,
- "comment": "",
- "date_created": "2019-01-16 12:00:00",
- "category_id": 0,
- "visit_id": 3,
- "record_id": 2,
- "type_title": "Визит",
- "is_sale_bill_printed": false
}
], - "sms_remain_hours": 5,
- "email_remain_hours": 1,
- "bookform_id": 0,
- "record_from": "",
- "is_mobile": 0,
- "is_sale_bill_printed": false,
- "consumables": [
- {
- "id": 2173068,
- "document_id": 8174153,
- "type_id": 2,
- "company_id": 4564,
- "good_id": 4853087,
- "amount": -1,
- "cost_per_unit": 0.03,
- "discount": 0,
- "cost": 0.03,
- "unit_id": 216761,
- "operation_unit_type": 2,
- "storage_id": 91548,
- "supplier_id": 0,
- "client_id": 0,
- "master_id": 0,
- "create_date": "2019-01-16 11:55:00",
- "comment": "",
- "service_id": 1,
- "user_id": 1073232,
- "deleted": false,
- "pkg_amount": 0
}
], - "finance_transactions": [
- {
- "id": 6024243,
- "document_id": 8174152,
- "date": "2019-01-02 09:55:00",
- "type_id": 5,
- "expense_id": 5,
- "account_id": 90459,
- "amount": 100,
- "client_id": 18936825,
- "master_id": 0,
- "supplier_id": 0,
- "comment": "",
- "item_id": 1,
- "target_type_id": 1,
- "record_id": 2,
- "goods_transaction_id": 0,
- "expense": {
- "id": 5,
- "title": "Оказание услуг"
}, - "account": {
- "id": 90459,
- "title": "Основная касса"
}, - "client": {
- "id": 18936825,
- "name": "lx",
- "phone": "70001234567"
}, - "master": [ ],
- "supplier": [ ]
}
]
}, - "meta": [ ]
}
При изменении записи в групповом событии параметр activity_id становится обязательным, параметры staff_id, services, datetime, seance_length становятся необязательными
company_id required | number ID компании |
record_id required | number ID записи |
include_consumables | number Example: include_consumables=0 |
include_finance_transactions | number Example: include_finance_transactions=0 |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
staff_id | number Идентификатор сотрудника |
Array of objects Параметры услуг (id, стоимость, скидка) | |
object Параметры клиента (телефон, имя, email) | |
save_if_busy | boolean Сохранять ли запись если время занято или нерабочее, или выдать ошибку |
datetime | string <date-time> Дата и время записи |
seance_length | number Длительность записи в секундах |
send_sms | boolean Отправлять ли смс с деталями записи клиенту |
comment | string Комментарий к записи |
sms_remain_hours | number За сколько часов до визита следует выслать смс напоминание клиенту (0 - если не нужно) |
email_remain_hours | number За сколько часов до визита следует выслать email напоминание клиенту (0 - если не нужно) |
attendance | number Статус записи (2 - Пользователь подтвердил запись, 1 - Пользователь пришел, услуги оказаны, 0 - ожидание пользователя, -1 - пользователь не пришел на визит) |
api_id | string Идентификатор внешней системы |
custom_color | string Цвет записи |
record_labels | Array of strings Массив идентификаторов категорий записи |
object Дополнительные поля записи |
success | boolean Статус успешного выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "staff_id": 8886,
- "services": [
- {
- "id": 331,
- "first_cost": 9000,
- "discount": 50,
- "cost": 4500
}, - {
- "id": 333,
- "first_cost": 2000,
- "discount": 10,
- "cost": 1800
}
], - "client": {
- "phone": "79169999900",
- "name": "Дмитрий",
- "surname": "",
- "patronymic": "",
- "email": "[email protected]"
}, - "save_if_busy": false,
- "datetime": "2019-01-01 17:00:00",
- "seance_length": 3600,
- "send_sms": true,
- "comment": "тестовая запись!",
- "sms_remain_hours": 6,
- "email_remain_hours": 24,
- "attendance": 1,
- "api_id": "777",
- "custom_color": "f44336",
- "record_labels": [
- "67345",
- "104474"
], - "custom_fields": {
- "my_custom_field": 123,
- "some_another_field": [
- "first value",
- "second value"
]
}
}
{- "success": true,
- "data": {
- "id": 999,
- "services": [
- {
- "id": 331,
- "first_cost": 9000,
- "discount": 50,
- "cost": 4500
}, - {
- "id": 333,
- "first_cost": 2000,
- "discount": 10,
- "cost": 1800
}
], - "client": {
- "phone": "79169999900",
- "name": "Дмитрий",
- "surname": "",
- "patronymic": "",
- "email": "[email protected]"
}, - "clients_count": 1,
- "staff": {
- "id": 8886,
- "name": "Сергей",
- "specialization": "Стилист",
- "position": {
- "id": 1,
- "title": "Стилисты"
}, - "rating": 0,
- "votes_count": 0
}, - "datetime": "2019-01-17 11:00:00",
- "seance_length": 3600,
- "create_date": "2019-01-05T15:35:06+0500",
- "comment": "тестовая запись!",
- "visit_attendance": 1,
- "confirmed": 1,
- "sms_before": 6,
- "sms_now": 1,
- "sms_now_text": "",
- "email_now": 1,
- "notified": 0,
- "master_request": 1,
- "api_id": "",
- "from_url": "",
- "review_requested": 0,
- "activity_id": 0,
- "documents": [
- {
- "id": 8172893,
- "type_id": 7,
- "storage_id": 0,
- "user_id": 746310,
- "company_id": 4564,
- "number": 4163,
- "comment": "",
- "date_created": "2019-01-05 15:35:06",
- "category_id": 0,
- "visit_id": 3,
- "record_id": 2,
- "type_title": "Визит"
}
]
}, - "meta": [ ]
}
company_id required | number ID компании |
record_id required | number ID записи |
include_consumables | number Example: include_consumables=0 |
include_finance_transactions | number Example: include_finance_transactions=0 |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
visit_id required | number Example: ID визита |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "attendance": 1,
- "datetime": "2018-03-22T17:55:14+0300",
- "comment": 0,
- "records": [
- {
- "id": 37955315,
- "company_id": 4564,
- "staff_id": 55436,
- "services": [ ],
- "events": [ ],
- "goods_transactions": [ ],
- "staff": {
- "id": 55436,
- "name": "Кевин Спейси",
- "specialization": "Мастер маникюра и педикюра",
- "position": {
- "id": 1,
- "title": "Администратор"
}, - "rating": 4.89,
- "votes_count": 0
}, - "client": {
- "id": 4240788,
- "name": "dev1",
- "phone": 71000000001,
- "card": "000000415",
- "email": "",
- "success_visits_count": 58,
- "fail_visits_count": 9
}, - "date": "2018-03-22 17:55:14",
- "datetime": "2018-03-22T17:55:14+0300",
- "create_date": "2018-03-22T17:55:14+0300",
- "comment": "",
- "online": false,
- "visit_attendance": 1,
- "attendance": 1,
- "confirmed": 1,
- "seance_length": 3600,
- "length": 3600,
- "sms_before": 1,
- "sms_now": 1,
- "sms_now_text": "",
- "email_now": 1,
- "notified": 0,
- "master_request": 0,
- "api_id": "0",
- "from_url": "",
- "review_requested": 0,
- "visit_id": 8260852,
- "created_user_id": 999290,
- "deleted": 0,
- "paid_full": 0,
- "prepaid": 0,
- "prepaid_confirmed": 0,
- "last_change_date": "2018-03-28T17:46:48+0300",
- "custom_color": "",
- "custom_font_color": "",
- "record_labels": [ ],
- "activity_id": 0,
- "custom_fields": [ ],
- "documents": [
- {
- "id": 8172893,
- "type_id": 7,
- "storage_id": 0,
- "user_id": 746310,
- "company_id": 4564,
- "number": 4163,
- "comment": "",
- "date_created": "2019-01-16 12:00:00",
- "category_id": 0,
- "visit_id": 3,
- "record_id": 2,
- "type_title": "Визит"
}
]
}
]
}, - "meta": [ ]
}
Блок "kkm_transaction_details_container"
Флаг "last_operation_type"
Значение | Описание |
---|---|
0 | Распечатать чек возврата |
1 | Распечатать чек продажи |
Типы всех операций c ККМ
Значение | Описание |
---|---|
0 | Операция продажи (активна для документа с типом "Визит") |
1 | Операция возврата продажи (активна для документа с типом "Визит") |
2 | Операция коррекции |
4 | Операция открытия смены |
5 | Операция закрытия смены |
9 | Операция получения статуса ККМ |
11 | Операция получения статуса команды ККМ |
12 | Операция коррекции |
13 | Печать X-отчёта |
6 | Внесение наличных |
7 | Изъятие наличных |
Статусы всех операций с ККМ
Значение | Описание |
---|---|
0 | Ошибка соединения с KKM |
1 | Успешно |
2 | Отправлен на печать |
3 | Ошибка выполнения |
4 | Ошибка проверки статуса |
5 | Ожидание готовности KKM |
Типы документов
Значение | Описание |
---|---|
1 | Продажа товара |
2 | Оказание услуг |
3 | Приход товара |
4 | Списание товара |
5 | Движение товара |
6 | Инвентаризация |
7 | Визит |
8 | Списание расходников |
salon_id required | number Example: ID филиала |
record_id required | number Example: ID записи |
visit_id required | number Example: ID визита |
Accept required | string e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer access_token, User user_token |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "payment_transactions": [
- {
- "id": 6023813,
- "document_id": 8172806,
- "date": 1529601300,
- "type_id": 5,
- "expense_id": 5,
- "account_id": 32299,
- "amount": 10,
- "client_id": 4241492,
- "master_id": 0,
- "supplier_id": 0,
- "comment": "",
- "item_id": 1162679,
- "target_type_id": 1,
- "record_id": 13136569,
- "goods_transaction_id": 0,
- "expense": {
- "id": 5,
- "title": "Оказание услуг"
}, - "account": {
- "id": 32299,
- "title": "Депозиты (оплата наличными)"
}, - "client": {
- "id": "4241492",
- "name": "ModulKassaClient",
- "phone": "71001001011"
}, - "master": [ ],
- "supplier": [ ]
}
], - "loyalty_transactions": [
- {
- "id": 10614,
- "status_id": 1,
- "amount": 0.5,
- "type_id": 2,
- "program_id": 145,
- "card_id": 20013,
- "salon_group_id": 646,
- "item_id": 0,
- "item_type_id": 0,
- "item_record_id": 0,
- "goods_transaction_id": 0,
- "is_discount": false,
- "is_loyalty_withdraw": false,
- "type": {
- "id": 2,
- "title": "Начисление по программам лояльности"
}
}
], - "kkm_transaction_details_container": {
- "last_operation_type": 0,
- "transactions": [
- {
- "id": 1047,
- "print_date": 1529887531,
- "printed_count": 1,
- "sum": 13,
- "type": {
- "id": 0,
- "title": "Операция продажи"
}, - "status": {
- "id": 1,
- "title": "Успешно"
}, - "document": {
- "id": 2045,
- "type": 7,
- "type_title": "Визит"
}, - "cashier": {
- "id": 746310,
- "name": "Андрей Панов"
}
}
]
}, - "items": [
- {
- "id": 0,
- "item_id": 1162679,
- "item_type_id": 1,
- "record_id": 13136569,
- "item_title": "Стрижка у ТОП-мастера",
- "amount": 2,
- "first_cost": 20,
- "manual_cost": 10,
- "discount": 50,
- "cost": 10,
- "master_id": 13136569,
- "good_id": 0,
- "service_id": 1162679,
- "event_id": 0,
- "is_service": true,
- "is_event": false,
- "is_good": false
}
]
}, - "meta": [ ]
}
visit_id required | number Example: ID визита |
record_id required | number Example: ID запись |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
attendance required | number Статус визита (2 - Пользователь подтвердил запись, 1 - Пользователь пришел, услуги оказаны, 0 - ожидание пользователя, -1 - пользователь не пришел на визит) |
comment required | string Комментарий |
Array of objects Массив объектов новых товарных транзакций | |
deleted_transaction_ids | Array of objects Массив ID экземпляров |
Array of objects Массив объектов товарных транзакций | |
Array of objects Массив объектов с услугами | |
fast_payment | number Быстрая оплата 1 - наличными, 2 - безналичными, 129 - наличными и распечатать, 130 - безналичными и распечатать |
visit_id required | number Example: ID визита |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
date required | string <date-time> Дата и время |
service_id required | number Идентификатор услуги |
staff_id required | number Идентификатор сотрудника |
capacity required | number Вместимость |
resource_instance_ids | Array of numbers Массив идентификаторов экземпляров ресурсов |
force required | boolean Игнорировать ошибки (занятость мастера/ресурсов и т.п.) |
length | number Длительность события в секундах |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "date": "2017-10-10 15:30",
- "service_id": 1185299,
- "staff_id": 26427,
- "length": 3600,
- "capacity": 9,
- "resource_instance_ids": [
- 3127
], - "force": false
}
{- "success": true,
- "data": {
- "id": 108,
- "salon_id": 4564,
- "service_id": 1185299,
- "staff_id": 26427,
- "date": 1507649400,
- "length": 3600,
- "capacity": 9,
- "records_count": 0,
- "color": "",
- "font_color": "",
- "service": {
- "id": 1185299,
- "title": "Групповой маникюр",
- "category_id": 754917
}, - "staff": {
- "id": 26427,
- "name": "Моника Белуччи",
- "company_id": 4564
}, - "resource_instances": [
- {
- "id": 3127,
- "title": "Машинка для маникюра #1",
- "resource_id": 1364
}
]
}, - "meta": [ ]
}
company_id required | number ID компании |
activity_id required | number ID групповой записи |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "id": 108,
- "salon_id": 4564,
- "service_id": 1185299,
- "staff_id": 26427,
- "date": 1507649400,
- "length": 3600,
- "capacity": 9,
- "records_count": 0,
- "color": "",
- "font_color": "",
- "service": {
- "id": 1185299,
- "title": "Групповой маникюр",
- "category_id": 754917
}, - "staff": {
- "id": 26427,
- "name": "Моника Белуччи",
- "company_id": 4564
}, - "resource_instances": [
- {
- "id": 3127,
- "title": "Машинка для маникюра #1",
- "resource_id": 1364
}
]
}, - "meta": [ ]
}
company_id required | number ID компании |
activity_id required | number ID группового события |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
date required | string <date-time> Дата и время |
service_id required | number Идентификатор услуги |
staff_id required | number Идентификатор сотрудника |
capacity required | number Вместимость |
resource_instance_ids | Array of numbers Массив идентификаторов экземпляров ресурсов |
force required | boolean Игнорировать ошибки (занятость мастера/ресурсов и т.п.) |
length | number Длительность события в секундах |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "date": "2017-10-10 15:30",
- "service_id": 1185299,
- "staff_id": 26427,
- "length": 3600,
- "capacity": 9,
- "resource_instance_ids": [
- 3127
], - "force": false
}
{- "success": true,
- "data": {
- "id": 108,
- "salon_id": 4564,
- "service_id": 1185299,
- "staff_id": 26427,
- "date": 1507649400,
- "length": 3600,
- "capacity": 9,
- "records_count": 0,
- "color": "",
- "font_color": "",
- "service": {
- "id": 1185299,
- "title": "Групповой маникюр",
- "category_id": 754917
}, - "staff": {
- "id": 26427,
- "name": "Моника Белуччи",
- "company_id": 4564
}, - "resource_instances": [
- {
- "id": 3127,
- "title": "Машинка для маникюра #1",
- "resource_id": 1364
}
]
}, - "meta": [ ]
}
company_id required | number ID компании |
activity_id required | number ID групповой записи |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
company_id required | number Example: 123 Идентификатор филиала. |
service_ids | Array of integers Example: service_ids=123 Фильтр по ID услуг. |
staff_ids | Array of integers Example: staff_ids=456 Фильтр по ID сотрудников филиала. |
resource_ids | Array of integers Example: resource_ids=789 Фильтр по ID ресурсов. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
Array of objects (Объект "Фильтр для поиска событий") | |
object (Объект дополнительной информации о запросе с кол-вом найденных результатов) Дополнительная информация о запросе. |
{- "success": true,
- "data": [
- {
- "code": "staff",
- "title": "Сотрудник",
- "data": [
- {
- "id": 1,
- "title": "Имя 1",
- "is_disabled": true
}, - {
- "id": 2,
- "title": "Имя 2",
- "is_disabled": false
}
]
}, - {
- "code": "service",
- "title": "Услуга",
- "data": [
- {
- "id": 1,
- "title": "Услуга 1",
- "is_disabled": true
}, - {
- "id": 2,
- "title": "Услуга 2",
- "is_disabled": false
}
]
}, - {
- "code": "resource",
- "title": "Ресурс",
- "data": [
- {
- "id": 1,
- "title": "Ресурс 1",
- "is_disabled": true
}, - {
- "id": 2,
- "title": "Ресурс 2",
- "is_disabled": false
}
]
}, - {
- "code": "service_category",
- "title": "Категория услуг",
- "data": [
- {
- "id": 1,
- "title": "Категория 1",
- "is_disabled": true
}, - {
- "id": 2,
- "title": "Категория 2",
- "is_disabled": false
}
]
}
], - "meta": {
- "count": 4
}
}
company_id required | number Example: 123 Идентификатор филиала. |
service_ids | Array of integers Example: service_ids=123 Фильтр по ID услуг. |
staff_ids | Array of integers Example: staff_ids=456 Фильтр по ID сотрудников филиала. |
resource_ids | Array of integers Example: resource_ids=789 Фильтр по ID ресурсов. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект "Диапазон данных для поиска событий") Диапазон данных для поиска событий. | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": {
- "min_date": "2023-06-01",
- "max_date": "2023-07-15"
}, - "meta": [ ]
}
company_id required | number Example: 123 Идентификатор филиала. |
from required | string Example: from=2023-06-01 Дата начала поиска (формат ГГГГ-ММ-ДД). |
till required | string Example: till=2023-07-15 Дата окончания поиска (формат ГГГГ-ММ-ДД). |
service_ids | Array of integers Example: service_ids=123 Фильтр по ID услуг. |
staff_ids | Array of integers Example: staff_ids=456 Фильтр по ID сотрудников филиала. |
resource_ids | Array of integers Example: resource_ids=789 Фильтр по ID ресурсов. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
{- "success": true,
- "data": [
- "2023-06-01",
- "2023-06-02",
- "2023-06-08",
- "2023-07-04",
- "2023-07-15"
], - "meta": [ ]
}
company_id required | number Example: 123 Идентификатор филиала. |
from required | string Example: from=2023-06-01 Дата начала поиска (формат ГГГГ-ММ-ДД). |
till required | string Example: till=2023-07-15 Дата окончания поиска (формат ГГГГ-ММ-ДД). |
service_ids | Array of integers Example: service_ids=123 Фильтр по ID услуг. |
staff_ids | Array of integers Example: staff_ids=456 Фильтр по ID сотрудников филиала. |
resource_ids | Array of integers Example: resource_ids=789 Фильтр по ID ресурсов. |
page | number Example: page=1 Номер страницы (по умолчанию 1). |
count | number Example: count=25 Количество элементов на странице (по умолчанию 25). |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит в себе количество найденных событий) |
{- "success": true,
- "data": [
- {
- "id": 3480140,
- "service_id": 5243360,
- "company_id": 68570,
- "staff_id": 921105,
- "date": 1622717400,
- "length": 3600,
- "capacity": 40,
- "records_count": 0,
- "color": "",
- "instructions": "",
- "stream_link": "",
- "font_color": "",
- "notified": false,
- "prepaid": "forbidden",
- "service": {
- "id": 5243360,
- "category_id": 5092305,
- "title": "Лекция по психоанализу",
- "price_min": 500,
- "price_max": 500,
- "comment": "Нет",
- "image_url": "",
- "salon_service_id": 5792535,
- "prepaid": "forbidden",
- "category": {
- "id": 5092305,
- "category_id": 1,
- "title": "Психоанализ"
}
}, - "staff": {
- "id": 921105,
- "name": "Натали",
- "company_id": 68570,
- "specialization": "Психотерапевт",
- "rating": 4.57,
- "show_rating": 0,
- "comments_count": 7,
- "votes_count": 0,
- "average_score": 4.57,
- "prepaid": "forbidden",
- "position": {
- "id": 123340,
- "title": "Психотерапевт"
}
}, - "resource_instances": [
- {
- "id": 83030,
- "title": "Кабинет психотерапевта. #1",
- "resource_id": 34895
}
], - "labels": [ ]
}
], - "meta": {
- "count": 1
}
}
company_id required | number Example: 4564 ID компании |
staff_id | number Идентификатор сотрудника для фильтрации |
term | string Поиске по названию или части названия услуги |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
staff_id | number Идентификатор сотрудника для фильтрации |
term | string Поиск по названию или части названия услуги |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных услуг) |
{- "staff_id": 1,
- "term": "test"
}
{- "success": true,
- "data": [
- {
- "id": 1209148,
- "title": "Фитнес test",
- "capacity": 5,
- "price_min": 2,
- "price_max": 3,
- "is_multi": true,
- "category": {
- "id": 1285356,
- "title": "Групповые услуги"
}, - "staff": [
- {
- "id": 37695,
- "name": "Ким Кардашьян",
- "length": 7200
}
], - "resources": [
- {
- "id": 464,
- "title": "Массажный кабинет",
- "salon_id": 4564
}
]
}
], - "meta": {
- "count": 1
}
}
Дублирование событий происходит на основе набора параметров, объединенных в сущность "стратегия дублирования"
Поле | Тип | Описание |
---|---|---|
title | string | Название стратегии |
repeat_mode_id | integer | Режим повторения |
days | integer[] | Перечень дней недели: 0 вс, 6 пт |
interval | integer | Перерыв в поиске дат, в единицах типа |
content_type | integer | Дублировать записи? 1 - нет, 2 - да |
Режим повторения может принимать значения
Значение | Описание | Единица измерения перерыва |
---|---|---|
1 | Ежедневно | День |
2 | По будням | - |
3 | Пн Ср Пт | - |
4 | Вт Чт | - |
5 | Каждую неделю | Неделя |
6 | Каждый месяц | Месяц |
7 | Каждый год | Год |
Поле days актуально только для режима 5 - неделя, для указания конкретных дней повторения Если указать repeat_mode = 5, days = [1,4], interval = 2, то событие будет повторяться каждую 3ю неделю в пн и чт
company_id required | number Example: 4564 ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "data": [
- {
- "id": 2,
- "company_id": 4564,
- "title": "Тестовый шаблон",
- "repeat_mode_id": 1,
- "repeat_mode": {
- "id": 1,
- "title": "Ежедневно"
}, - "days": [ ],
- "interval": 0,
- "content_type": 1
}
], - "meta": {
- "count": 1
}
}
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Название |
days | Array of objects Дни повторений для недельного режима |
repeat_mode_id required | number Режим повторений |
interval | number Перерыв в поиске дат |
content_type | number Дублировать записи? 1 - нет, 2 - да |
{- "success": true,
- "data": {
- "id": 3,
- "company_id": 4564,
- "title": "Test duplication strategy",
- "repeat_mode_id": 5,
- "repeat_mode": {
- "id": 5,
- "title": "Каждую неделю"
}, - "days": [
- 1,
- 4
], - "interval": 2,
- "content_type": 1
}, - "meta": [ ]
}
company_id required | number Example: 4564 ID компании |
strategy_id required | number Example: 3 ID стратегии дублирования |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Название |
days | Array of objects Дни повторений для недельного режима |
repeat_mode_id required | number Режим повторений |
interval | number Перерыв в поиске дат |
content_type | number Дублировать записи? 1 - нет, 2 - да |
{- "success": true,
- "data": {
- "id": 3,
- "company_id": 4564,
- "title": "New test duplication strategy",
- "repeat_mode_id": 5,
- "repeat_mode": {
- "id": 5,
- "title": "Каждую неделю"
}, - "days": [
- 2,
- 3
], - "interval": 3,
- "content_type": 1
}, - "meta": [ ]
}
Запрос на дублирование можно оформить 3 способами:
Указав список дат и времени для дублирования
Указав id стратегии повторения
Указав все параметры повторения
company_id required | number Example: 1 |
activity_id required | number Example: 2 |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{ }
{- "success": true,
- "data": [
- {
- "id": 9182,
- "service_id": 1209148,
- "salon_id": 4564,
- "master_id": 1000265,
- "date": 1601289000,
- "length": 7200,
- "capacity": 5,
- "records_count": 0,
- "color": "",
- "instructions": "",
- "stream_link": "",
- "font_color": "",
- "notified": false,
- "timestamp": 1601274600,
- "service": {
- "id": 1209148,
- "category_id": 1285356,
- "title": "Фитнес \"test\"",
- "price_min": 2,
- "price_max": 3,
- "prepaid": "forbidden"
}, - "resource_instances": [
- {
- "id": 1094,
- "title": "Массажный кабинет 1 этаж",
- "resource_id": 464
}
], - "master": {
- "id": 1000265,
- "name": "Master",
- "company_id": 4564,
- "specialization": "321",
- "rating": 0,
- "show_rating": 1,
- "prepaid": "allowed",
- "position": [ ]
}, - "records": [ ],
- "labels": [ ]
}
], - "meta": {
- "count": 2
}
}
график работы сотрудника
Расписание сотрудника передается в виде массива объектов, каждый из которых имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
date | string | Дата, на которую необходимо установить расписание |
is_working | boolean | true, если сотрудник работает в этот день. false, если не работает и существующие расписание нужно удалить |
slots | array | Массив содержащий промежутки рабочего времени сотрудника. (Может быть пустым если is_working = false) |
Массив slots состоит из объектов, содержащих следующие поля:
Поле | Тип | Описание |
---|---|---|
from | string | Время начала рабочего промежутка сотрудника. Например "11:00" или "10:30" |
to | string | Время окончания рабочего промежутка сотрудника. Например "18:00" или "19:45" |
company_id required | number ID компании |
staff_id required | number ID сотрудника. |
start_date required | date Example: 2023-01-01 Дата начала периода |
end_date required | date Example: 2023-03-01 Дата окончания периода |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
date required | string дата в формате iso8601. |
is_working required | boolean Свободно время или нет. |
slots | Array of objects Массив (from, to) промежутков рабочего времени. |
{- "success": true,
- "data": [
- {
- "date": "2023-01-01",
- "is_working": 1,
- "slots": [
- {
- "from": "10:00",
- "to": "14:00"
}, - {
- "from": "15:00",
- "to": "23:15"
}
]
}, - {
- "date": "2023-01-02",
- "is_working": 1,
- "slots": [
- {
- "from": "10:00",
- "to": "14:30"
}, - {
- "from": "15:00",
- "to": "22:10"
}
]
}, - {
- "date": "2023-01-03",
- "is_working": 0,
- "slots": [ ]
}, - {
- "date": "2023-01-04",
- "is_working": 1,
- "slots": [
- {
- "from": "10:00",
- "to": "14:00"
}, - {
- "from": "15:00",
- "to": "22:00"
}
]
}
], - "meta": [ ]
}
company_id required | number ID компании |
staff_id required | number ID сотрудника |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
date required | string Дата |
is_working required | boolean Рабочая дата или нет |
slots required | object Массив (from, to) промежутков рабочего времени |
Даты для журнала представляют из себя массив с датами. (например ["2015-10-26", "2015-10-30"]).Для получения дат нужно передать дату, относительно которой будут получен список рабочих дат салона/сотрудника.
company_id required | number ID компании |
date required | string дата в формате iso8601. Фильтр по дате бронирования (например '2015-09-30') |
staff_id | number ID сотрудника. |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "data": [
- 1445817600,
- 1446163200,
- 1446249600,
- 1446336000,
- 1446422400,
- 1447372800,
- 1447977600
], - "meta": [ ]
}
Объект сеансы для журнала имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
time | string | Время сеанса (17:30 например) |
free | boolean | Свободно время или занято |
company_id required | number ID компании |
date required | string дата в формате iso8601. Фильтр по дате бронирования (например '2015-09-30') |
staff_id required | number ID сотрудника. |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
time required | string Время сеанса |
is_free required | boolean Свободно время или нет |
{- "success": true,
- "data": [
- {
- "time": "10:00",
- "is_free": true
}, - {
- "time": "10:15",
- "is_free": true
}, - {
- "time": "10:30",
- "is_free": true
}, - {
- "time": "10:45",
- "is_free": true
}, - {
- "time": "11:00",
- "is_free": false
}, - {
- "time": "11:15",
- "is_free": false
}, - {
- "time": "11:30",
- "is_free": false
}, - {
- "time": "11:45",
- "is_free": false
}, - {
- "time": "12:00",
- "is_free": false
}, - {
- "time": "12:15",
- "is_free": false
}, - {
- "time": "12:30",
- "is_free": false
}, - {
- "time": "12:45",
- "is_free": false
}, - {
- "time": "13:00",
- "is_free": true
}, - {
- "time": "13:15",
- "is_free": true
}, - {
- "time": "13:30",
- "is_free": true
}, - {
- "time": "13:45",
- "is_free": true
}, - {
- "time": "14:00",
- "is_free": true
}, - {
- "time": "14:15",
- "is_free": true
}, - {
- "time": "14:30",
- "is_free": true
}, - {
- "time": "14:45",
- "is_free": true
}, - {
- "time": "15:00",
- "is_free": true
}, - {
- "time": "15:15",
- "is_free": true
}, - {
- "time": "15:30",
- "is_free": true
}, - {
- "time": "15:45",
- "is_free": true
}, - {
- "time": "16:00",
- "is_free": true
}, - {
- "time": "16:15",
- "is_free": true
}, - {
- "time": "16:30",
- "is_free": false
}, - {
- "time": "16:45",
- "is_free": false
}, - {
- "time": "17:00",
- "is_free": false
}
], - "meta": [ ]
}
Объект комментарии имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Id комментария |
salon_id | number | Id компании |
type | number | 1 - комментарий к мастеру, 0 - к салону |
master_id | number | ID мастера, если type = 1 |
text | string | Текст комментария |
date | string | Дата, когда был оставлен комментарий |
rating | number | Оценка ( от 1 до 5) |
user_id | number | Id пользователя, оставившего комментарий |
user_name | string | Имя пользователя, оставившего комментарий |
user_avatar | string | Аватар пользователя, оставившего комментарий |
record_id | number | Идентификатор записи, после которой оставили отзыв (значение будет ненулевым, если отзыв оставлен по ссылке с просьбой оставить отзыв после визита) |
company_id required | number ID компании |
start_date | string дата в формате iso8601. Фильтр по дате с (например '2015-09-30') |
end_date | string дата в формате iso8601. Фильтр по дате по (например '2015-09-30') |
staff_id | number ID сотрудника |
rating | number Оценка в рейтинге. Фильтр по отзывам с конкретной оценкой. |
page | number Номер страницы |
count | number Количество отзывов на странице |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": "18437",
- "type": "1",
- "master_id": "8864",
- "text": "Отлично!",
- "date": 1438633865,
- "rating": "4",
- "user_id": "157169",
- "user_name": "Виктор Ситников",
- "user_avatar": "/images/no-master.png",
- "record_id": 100001
}
], - "meta": [ ]
}
company_id required | number ID компании |
staff_id required | number ID сотрудника, указывать при создании отзыва к сотруднику |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
mark required | number Оценка от 1 до 5 |
text required | string Текст отзыва |
name required | string Имя пользователя, которое будет отображено на странице с отзывами |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "mark": "4",
- "text": "Все очень плохо!",
- "name": "Виктор"
}
{- "success": true,
- "data": {
- "type": "1",
- "master_id": "8864",
- "id": "18437",
- "text": "Все очень плохо!",
- "date": 1464035465,
- "rating": "4",
- "user_id": "157169",
- "user_name": "Виктор",
- "user_avatar": "/images/no-master.png"
}, - "meta": [ ]
}
Объект пользователь компании имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Id пользователя |
firstname | string | Имя пользователя |
login | string | login пользователя для авторизации в системе (для авторизации так же можно в качестве логина поля phone и email) |
string | Почтовый адрес пользователя | |
phone | string | Телефон пользоватя |
information | string | Информация о пользователе |
access | object | Объект прав доступа пользоватей к модулям системы |
Объект access имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
timetable_access | boolean | true - есть доступ к журналу записи, false - нет доступа |
master_id | number | 0 - если пользователь может просматривать расписание и записи всех сотрудников, иначе только того сотрудника, ID которого задан |
position_id | number | 0 - если пользователь может просматривать расписание и записи всех сотрудников, иначе только ту должность, ID которого задан |
last_days_count | number | 0 - не ограничить доступ к истории расписаний и записям |
schedule_edit_access | boolean | true - есть доступ к графику работы сотрудника в журнале, false - нет доступа |
timetable_phones_access | boolean | true - есть доступ к номеру телефона в журнале записи, false - нет доступа |
timetable_transferring_record_access | boolean | true - есть доступ к переносу записей, false - нет доступа |
timetable_statistics_access | boolean | true - есть доступ к просмотру статистики, false - нет доступа |
record_form_access | boolean | true - есть доступ к окну записи, false - нет доступа |
record_form_client_access | boolean | true - есть доступ к данным клиентов, false - нет доступа |
records_autocomplete_access | boolean | true - есть доступ к выпадающему списку с данными о клиентах, false - нет доступа |
create_records_access | boolean | true - есть доступ к созданию записей, false - нет доступа Создавать записи |
edit_records_access | boolean | true - есть доступ к изменение записей, false - нет доступа |
edit_records_attendance_access | boolean | true - есть доступ к записям со статусом визита "клиент пришел", false - нет доступа |
records_services_cost_access | boolean | true - есть доступ к изменению стоимости услуг, false - нет доступа |
records_services_discount_access | boolean | true - есть доступ к изменению скидки на услуги, false - нет доступа |
record_edit_full_paid_access | boolean | true - есть доступ к редактированию оплаченной записи, false - нет доступа |
delete_records_access | boolean | true - есть доступ к удалению записи, false - нет доступа |
delete_customer_came_records_access | boolean | true - есть доступ к удалению записей со статусом "клиент пришел", false - нет доступа |
delete_paid_records_access | boolean | true - есть доступ к удалению оплаченных записей, false - нет доступа |
records_goods_access | boolean | true - есть доступ к продажам товаров, false - нет доступа |
records_goods_create_transaction_access | boolean | true - есть доступ к созданию товарных транзакций, false - нет доступа |
records_goods_create_last_days_count | number | -1 - есть доступ к созданию товарных транзакций за все время, >= 0 - доступ к созданию товарных транзакций за указанное количество дней прошлое |
records_goods_edit_transaction_access | boolean | true - есть доступ к редактированию товарных транзакций, false - нет доступа |
records_goods_edit_last_days_count | number | -1 - есть доступ к редактированию товарных транзакций за все время, >= 0 - доступ к редактированию товарных транзакций за указанное количество дней прошлое |
records_goods_cost_access | boolean | true - есть доступ к изменению стоимость товаров, false - нет доступа |
records_goods_discount_access | boolean | true - есть доступ к изменению скидки на товары, false - нет доступа |
records_finances_access | boolean | true - есть доступ к оплате, false - нет доступа |
records_finances_last_days_count | number | -1 - есть доступ к проведению оплаты в записях за все время, >= 0 - доступ к проведению оплаты в записях за указанное количество дней прошлое |
records_finances_pay_from_deposits_access | boolean | true - есть доступ к проведению оплаты в записях с личного счета клиента, false - нет доступа |
records_group_id_access | boolean | true - есть доступ к данным клиентов по сети, false - нет доступа |
records_group_id | number | ID сети к которой есть доступ к данным клиентов |
finances_access | boolean | true - есть доступ к финансам, false - нет доступа |
finances_accounts_ids | array | массив ID к выбранным кассам |
finances_transactions_access | boolean | true - есть доступ к просмотру движений средств, false - нет доступа |
finances_last_days_count | number | -1 - есть доступ к просмотру движений средств за все время, >= 0 - доступ к просмотру движений средств за указанное количество дней прошлое |
finances_create_transactions_access | boolean | true - есть доступ к созданию транзакций, false - нет доступа |
finances_create_last_days_count | number | -1 - есть доступ к созданию транзакций за все время, >= 0 - доступ к созданию транзакций за указанное количество дней прошлое |
finances_edit_transactions_access | boolean | true - есть доступ к редактированию транзакций, false - нет доступа |
finances_edit_last_days_count | number | -1 - есть доступ к редактированию транзакций за все время, >= 0 - доступ к редактированию транзакций за указанное количество дней прошлое |
finances_delete_transactions_access | boolean | true - есть доступ к удалению транзакций, false - нет доступа |
finances_transactions_excel_access | boolean | true - есть доступ к выгрузке движений средств в Excel, false - нет доступа |
finances_expenses_ids | array | true - есть доступ к переводам между кассами, false - нет доступа |
finances_accounts_access | boolean | true - есть доступ к счетам и кассам, false - нет доступа |
finances_accounts_banalce_access | boolean | true - есть доступ к балансу, false - нет доступа |
finances_suppliers_read_access | boolean | true - есть доступ к контрагентам, false - нет доступа |
finances_suppliers_create_access | boolean | true - есть доступ к созданию контрагентов, false - нет доступа |
finances_suppliers_update_access | boolean | true - есть доступ к изменению контрагентов, false - нет доступа |
finances_suppliers_delete_access | boolean | true - есть доступ к удалению контрагентов, false - нет доступа |
finances_suppliers_excel_access | boolean | true - есть доступ к выгрузке в Excel, false - нет доступа |
finances_expenses_read_access | boolean | true - есть доступ к статье платежей, false - нет доступа |
expenses_read_access | boolean | true - есть доступ к статье платежей, false - нет доступа |
finances_expenses_create_access | boolean | true - есть доступ к созданию статьи платежа, false - нет доступа |
expenses_create_access | boolean | true - есть доступ к созданию статьи платежа, false - нет доступа |
finances_expenses_update_access | boolean | true - есть доступ к изменению статьи платежа, false - нет доступа |
expenses_update_access | boolean | true - есть доступ к изменению статьи платежа, false - нет доступа |
finances_expenses_delete_access | boolean | true - есть доступ к удалению статьи платежа, false - нет доступа |
expenses_delete_access | boolean | true - есть доступ к удалению статьи платежа, false - нет доступа |
finances_kkm_transactions_access | boolean | true - есть доступ к операциям с KKM, false - нет доступа |
kkm_transactions_accounts_access | boolean | true - есть доступ к операциям с KKM, false - нет доступа |
finances_kkm_settings_read_access | boolean | true - есть доступ к настройкам KKM, false - нет доступа |
kkm_settings_reed_access | boolean | true - есть доступ к настройкам KKM, false - нет доступа |
finances_kkm_settings_update_access | boolean | true - есть доступ к изменению KKM, false - нет доступа |
kkm_settings_update_access | boolean | true - есть доступ к изменению KKM, false - нет доступа |
finances_settings_invoicing_read_access | boolean | true - есть доступ к онлайн-оплатам, false - нет доступа |
finances_settings_invoicing_update_access | boolean | true - есть доступ к изменению онлайн-оплат, false - нет доступа |
settings_invoicing_update_access | boolean | true - есть доступ к изменению онлайн-оплат, false - нет доступа |
finances_options_read_access | boolean | true - есть доступ к настройкам оплаты, false - нет доступа |
finances_options_update_access | boolean | true - есть доступ к изменению настроек оплаты, false - нет доступа |
options_update_access | boolean | true - есть доступ к изменению настроек оплаты, false - нет доступа |
finances_salary_schemes_access | boolean | true - есть доступ к схемам расчета заработной платы, false - нет доступа |
finances_salary_calc_access | boolean | true - есть доступ к расчету заработной платы, false - нет доступа |
finances_salary_not_limitation_today_access | boolean | true - есть доступ к расчету заработной платы, false - доступ к расчету заработной платы за текущий день |
finances_payroll_calculation_create_access | boolean | true - есть доступ к начислению заработной платы, false - нет доступа |
finances_payroll_calculation_create_not_limitation_today_access | boolean | true - есть доступ к начислению заработной платы, false - доступ к начислению заработной платы за текущий день |
finances_salary_access_master_checkbox | boolean | true - есть доступ к расчету заработной платы только конкретного сотрудника, false - полный доступ |
finances_salary_access_master_id | number | ID сотрудника к которому есть доступ на расчет заработной платы |
get_salary_access_master_id | number | ID сотрудника к которому есть доступ на расчет заработной платы |
finances_salary_master_not_limitation_today_access | boolean | true - не ограничивать текущим днем, false - доступ только на сегодняшний день |
finances_payroll_calculation_create_by_master_access | boolean | true - есть доступ к начислению заработной платы по конкретному сотруднику, false - без ограничений |
calculation_create_by_master_not_limitation_today_access | boolean | true - есть доступ к начислению заработной платы, false - нет доступа |
finances_period_report_access | boolean | true - есть доступ к отчету за период, false - нет доступа |
finances_period_report_excel_access | boolean | true - есть доступ к выгрузке в Excel отчета за период, false - нет доступа |
finances_year_report_access | boolean | true - есть доступ к годовому отчету, false - нет доступа |
finances_year_report_excel_access | boolean | true - есть доступ к выгрузке в Excel годового отчета, false - нет доступа |
finances_print_check_access | boolean | true - есть доступ к печати чека, false - нет доступа |
finances_z_report_access | boolean | true - есть доступ к отчету по кассе за день, false - нет доступа |
finances_z_report_no_limit_today_access | boolean | true - есть доступ к отчету по кассе, false - доступ к отчету по кассе за текущий день |
finances_z_report_excel_access | boolean | true - есть доступ к выгрузке в Excel, false - нет доступа |
clients_access | boolean | true - есть доступ к клиентской базе, false - нет доступа |
clients_phones_email_access | boolean | true - есть доступ к номерам телефонов и email в списке клиентов, false - нет доступа |
client_phones_access | boolean | true - есть доступ к номерам телефонов в списке клиентов, false - нет доступа |
clients_card_phone_access | boolean | true - есть доступ к телефонам в карточке клиента, false - нет доступа |
clients_delete_access | boolean | true - есть доступ к удалению клиентов, false - нет доступа |
clients_excel_access | boolean | true - есть доступ к выгрузке списка клиентов в Excel, false - нет доступа |
excel_access | number | 1 - есть доступ к выгрузке списка клиентов в Excel, 0 - нет доступа |
client_comments_list_access | boolean | true - есть доступ к просмотру комментарии, false - нет доступа |
client_comments_add_access | boolean | true - есть доступ к добавлению комментарии, false - нет доступа |
client_comments_own_edit_access | boolean | true - есть доступ к изменению/удалению своих комментарии, false - нет доступа |
client_comments_other_edit_access | boolean | true - есть доступ к изменению/удалению чужих комментарии, false - нет доступа |
client_files_list_access | boolean | true - есть доступ к просмотрам и скачиванию файлов, false - нет доступа |
client_files_upload_access | boolean | true - есть доступ к загрузке файлов, false - нет доступа |
client_files_delete_access | boolean | true - есть доступ к удалению файлов, false - нет доступа |
clients_visit_master_id | number | ID мастера по которому можно посмотреть клиентов посещавшие мастера, 0 - без ограничений |
get_visit_master_id | number | ID мастера по которому можно посмотреть клиентов посещавшие мастера, 0 - без ограничений |
dashboard_access | boolean | true - есть доступ к разделу обзор, false - нет доступа |
dash_access | boolean | true - есть доступ к разделу сводка, false - нет доступа |
dash_phones_access | boolean | true - есть доступ к показу номера телефонов в сводке, false - нет доступа |
dash_records_access | boolean | true - есть доступ к просмотру списка записей, false - нет доступа |
dash_records_last_days_count | number | -1 - есть доступ к просмотру списка записей за все время, >= 0 - доступ к просмотру списка записей за указанное количество дней прошлое |
dash_records_excel_access | boolean | true - есть доступ к выгрузке списка записей в Excel, false - нет доступа |
dash_records_phones_access | boolean | true - есть доступ к показу номера телефонов в записях, false - нет доступа |
dash_message_access | boolean | true - есть доступ к просмотру детализаций сообщений, false - нет доступа |
dash_message_excel_access | boolean | true - есть доступ к выгрузке детализаций сообщений в Excel, false - нет доступа |
dash_message_phones_access | boolean | true - есть доступ к показу номера телефонов в сообщениях, false - нет доступа |
dash_reviews_access | boolean | true - есть доступ к просмотру отзывов, false - нет доступа |
dash_reviews_delete_access | boolean | true - есть доступ к удалению отзывов, false - нет доступа |
dashboard_calls_access | boolean | true - есть доступ к разделу звонки, false - нет доступа |
dashboard_calls_excel_access | boolean | true - есть доступ к выгрузке звонков Excel, false - нет доступа |
dashboard_calls_phones_access | boolean | true - есть доступ к просмотру номера телефона у клиентов, false - нет доступа |
notification | boolean | true - есть доступ к Уведомления, false - нет доступа |
web_push | boolean | true - есть доступ к показу Push уведомлений о записях в Web-версии, false - нет доступа |
web_phone_push | boolean | true - есть доступ к показу Push уведомлений о звонках в Web-версии, false - нет доступа |
notification_sms_ending_license | boolean | true - есть доступ к отправки SMS уведомлений о скором окончании лицензии, false - нет доступа |
notification_sms_low_balance | boolean | true - есть доступ к отправки SMS уведомлений о низком балансе, false - нет доступа |
notification_email_ending_license | boolean | true - есть доступ к отправки Email уведомлений о скором окончании лицензии, false - нет доступа |
loyalty_access | boolean | true - есть доступ к лояльности, false - нет доступа |
has_loyalty_access | boolean | true - есть доступ к лояльности, false - нет доступа |
loyalty_cards_manual_transactions_access | boolean | true - есть доступ к ручному пополнению/списанию с карт лояльности, false - нет доступа |
has_loyalty_cards_manual_transactions_access | boolean | true - есть доступ к ручному пополнению/списанию с карт лояльности, false - нет доступа |
loyalty_certificate_and_abonement_manual_transactions_access | boolean | true - есть доступ к оплате сертификатом и абонементом без кода, false - нет доступа |
storages_access | boolean | true - есть доступ к складу, false - нет доступа |
storages_ids | boolean | true - есть доступ к выбранным складам, false - нет доступа |
storages_transactions_access | boolean | true - есть доступ к просмотру движений товаров, false - нет доступа |
storages_last_days_count | number | -1 - есть доступ к просмотру движений товаров за все время, >= 0 - доступ к просмотру движений товаров за указанное количество дней прошлое |
storages_move_goods_access | boolean | true - есть доступ к перемещение товаров между складами, false - нет доступа |
storages_create_transactions_access | boolean | true - есть доступ к созданию товарных транзакций, false - нет доступа |
storages_create_last_days_count | number | -1 - есть доступ к создание товарных транзакций за все время, >= 0 - доступ к создание товарных транзакций за указанное количество дней прошлое |
storages_create_transactions_buy_access | boolean | true - есть доступ к оформлению прихода товаров, false - нет доступа |
storages_create_transactions_sale_access | boolean | true - есть доступ к оформлению продаж товаров, false - нет доступа |
storages_edit_transactions_access | boolean | true - есть доступ к редактированию товарных транзакций, false - нет доступа |
storages_edit_last_days_count | number | -1 - есть доступ к редактированию товарных транзакций за все время, >= 0 - доступ к редактированию товарных транзакций за указанное количество дней прошлое |
storages_edit_transactions_buy_access | boolean | true - есть доступ к оформлению прихода товаров, false - нет доступа |
storages_edit_transactions_sale_access | boolean | true - есть доступ к оформлению продаж товаров, false - нет доступа |
storages_delete_transactions_access | boolean | true - есть доступ к удалению товарных транзакций, false - нет доступа |
storages_transactions_excel_access | boolean | true - есть доступ к выгрузке движений товаров в Excel, false - нет доступа |
storages_transactions_types | boolean | true - есть доступ к выгрузке движений товаров в Excel, false - нет доступа |
storages_inventory_access | boolean | true - есть доступ к инвентаризации, false - нет доступа |
storages_inventory_create_edit_access | boolean | true - есть доступ к созданию и редактированию инвентаризации, false - нет доступа |
storages_inventory_delete_access | boolean | true - есть доступ к удалению инвентаризации, false - нет доступа |
storages_inventory_excel_access | boolean | true - есть доступ к выгрузке инвентаризации в Excel, false - нет доступа |
storages_remnants_report_access | boolean | true - есть доступ к отчету остатков на складе, false - нет доступа |
storages_remnants_report_excel_access | boolean | true - есть доступ к выгрузке остатков в Excel, false - нет доступа |
storages_sales_report_access | boolean | true - есть доступ к отчету по продажам, false - нет доступа |
storages_sales_report_excel_access | boolean | true - есть доступ к выгрузке отчета по продажам в Excel, false - нет доступа |
storages_consumable_report_access | boolean | true - есть доступ к отчету по списанию расходников, false - нет доступа |
storages_consumable_report_excel_access | boolean | true - есть доступ к выгрузке отчета по списанию расходников в Excel, false - нет доступа |
storages_write_off_report_access | boolean | true - есть доступ к отчету по списанию товаров, false - нет доступа |
storages_write_off_report_excel_access | boolean | true - есть доступ к выгрузке отчета по списанию товаров в Excel, false - нет доступа |
storages_turnover_report_access | boolean | true - есть доступ к отчету по оборачиваемости, false - нет доступа |
storages_turnover_report_excel_access | boolean | true - есть доступ к выгрузке отчета по оборачиваемости в Excel, false - нет доступа |
storages_goods_crud_access | boolean | true - есть доступ к управлению товарами, false - нет доступа |
storages_goods_create_access | boolean | true - есть доступ к созданию товаров, false - нет доступа |
storages_goods_update_access | boolean | true - есть доступ к изменению товаров, false - нет доступа |
storages_goods_title_edit_access | boolean | true - есть доступ к названию, Артикул, Штрих-код, false - нет доступа |
storages_goods_category_edit_access | boolean | true - есть доступ к категориям, false - нет доступа |
storages_goods_selling_price_edit_access | boolean | true - есть доступ к ценам продажи, false - нет доступа |
storages_goods_cost_price_edit_access | boolean | true - есть доступ к себестоимости, false - нет доступа |
storages_goods_units_edit_access | boolean | true - есть доступ к единицам измерения, false - нет доступа |
storages_goods_critical_balance_edit_access | boolean | true - есть доступ к критичным остаткам, Желаемый остаток, false - нет доступа |
storages_goods_masses_edit_access | boolean | true - есть доступ к массе, false - нет доступа |
storages_goods_comment_edit_access | boolean | true - есть доступ к комментариям, false - нет доступа |
storages_goods_archive_access | boolean | true - есть доступ к архивации и восстановлению товаров, false - нет доступа |
storages_goods_delete_access | boolean | true - есть доступ к удалению товаров, false - нет доступа |
settings_access | boolean | true - есть доступ к разделу настройки, false - нет доступа |
settings_basis_access | boolean | true - есть доступ к разделу Основные, false - нет доступа |
settings_information_access | boolean | true - есть доступ к разделу Информация, false - нет доступа |
users_access | boolean | true - есть доступ к управлению пользователями, false - нет доступа |
delete_users_access | boolean | true - есть доступ к удалению пользователей, false - нет доступа |
create_users_access | boolean | true - есть доступ к добавлению пользователей, false - нет доступа |
edit_users_access | boolean | true - есть доступ к управлению правами пользователей, false - нет доступа |
limited_users_access | boolean | true - есть доступ к управлению правами в рамках своего набора прав, false - нет доступа |
settings_services_access | boolean | true - есть доступ к разделу Услуги, false - нет доступа |
settings_services_create_access | boolean | true - есть доступ к созданию услуг, false - нет доступа |
services_edit | boolean | true - есть доступ к редактированию услуг, false - нет доступа |
settings_services_edit_title_access | boolean | true - есть доступ к названиям услуг и название для онлайн-записи, false - нет доступа |
settings_services_relation_category_access | boolean | true - есть доступ к категориям услуги, false - нет доступа |
settings_services_edit_price_access | boolean | true - есть доступ к ценам услуг, false - нет доступа |
settings_services_edit_image_access | boolean | true - есть доступ к загрузкам и изменениям изображений, false - нет доступа |
settings_services_edit_online_seance_date_time_access | boolean | true - есть доступ к отображениям услуг в виджете, false - нет доступа |
settings_services_edit_online_pay_access | boolean | true - есть доступ к онлайн-оплате услуги, false - нет доступа |
settings_services_edit_services_related_resource_access | boolean | true - есть доступ к ресурсам услуги, false - нет доступа |
settings_positions_read | boolean | true - есть доступ к разделу должности, false - нет доступа |
settings_positions_create | boolean | true - есть доступ к созданию должностей, false - нет доступа |
settings_positions_delete | boolean | true - есть доступ к удалению должностей, false - нет доступа |
edit_master_service_and_duration | boolean | true - есть доступ к изменению услуги сотрудников и их длительность, false - нет доступа |
tech_card_edit | boolean | true - есть доступ к изменению технологической карты, false - нет доступа |
services_delete | boolean | true - есть доступ к удалению услуг, false - нет доступа |
settings_master_access | boolean | true - есть доступ к разделу Сотрудники, false - нет доступа |
master_create | boolean | true - есть доступ к созданию сотрудников, false - нет доступа |
master_edit | boolean | true - есть доступ к редактированию сотрудников, false - нет доступа |
master_delete | boolean | true - есть доступ к удалению сотрудников, false - нет доступа |
settings_master_dismiss_access | boolean | true - есть доступ к увольнению сотрудников, false - нет доступа |
schedule_edit | boolean | true - есть доступ к редактированию графика работы, false - нет доступа |
settings_notifications_access | boolean | true - есть доступ к разделу Sms уведомления, false - нет доступа |
settings_email_notifications_access | boolean | true - есть доступ к разделу Email уведомления, false - нет доступа |
settings_template_notifications_access | boolean | true - есть доступ к разделу Типы уведомлений, false - нет доступа |
webhook_read_access | boolean | true - есть доступ к изменению настроек WebHook, false - нет доступа |
stat_access | boolean | true - есть доступ к аналитике, false - нет доступа |
billing_access | boolean | true - есть доступ к биллингу (раздел меню баланс), false - нет доступа |
send_sms | boolean | true - есть доступ к SMS рассылки клиентам, false - нет доступа |
auth_enable_check_ip | boolean | true - есть доступ к филиалу только с IP-адресов (v4, v6), false - нет доступа |
auth_list_allowed_ip | array | список IP адресов |
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": 224348,
- "firstname": "прор",
- "login": "79284400000",
- "phone": "79284400000",
- "information": "Test user",
- "access": {
- "stat_access": true,
- "schedule_edit_access": false,
- "client_phones_access": false,
- "clients_access": false,
- "settings_access": false,
- "edit_records_access": false,
- "timetable_access": true,
- "billing_access": false,
- "users_access": false,
- "excel_access": false,
- "finances_access": false,
- "storages_access": false,
- "send_sms": true,
- "master_id": 0
}
}, - {
- "id": 11,
- "firstname": "Test user",
- "login": "71112222221",
- "phone": "71112222221",
- "information": "Test user",
- "access": {
- "stat_access": true,
- "schedule_edit_access": true,
- "client_phones_access": true,
- "clients_access": true,
- "settings_access": true,
- "edit_records_access": true,
- "timetable_access": true,
- "billing_access": true,
- "users_access": false,
- "excel_access": true,
- "finances_access": true,
- "storages_access": true,
- "send_sms": true,
- "master_id": 0
}
}
], - "meta": [ ]
}
Метод позволяет получить пользователей компании.
Объект имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Id пользователя |
name | string | Имя пользователя |
phone | string | Телефон пользоватя |
string | Почтовый адрес пользователя | |
information | string | Информация о пользователе |
is_approved | boolean | Принял ли пользователь приглашение к управлению филиалом |
is_non_deletable | boolean | Является ли пользователь неудаляемым |
user_role_slug | string | Роль пользователя в филиале (доступно только для типа бизнеса "Красота") |
company_id required | number ID компании |
filter[is_approved] | number Example: filter[is_approved]=1 Принял ли пользователь приглашение к управлению филиалом. 1 - принял, 0 - не принял |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных пользователей) |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": [
- {
- "id": 10,
- "name": "Оксана",
- "phone": "79999990001",
- "information": "Менеджер",
- "is_approved": false,
- "is_non_deletable": false,
- "user_role_slug": "manager"
}, - {
- "id": 11,
- "name": "Евгений",
- "phone": "79999990002",
- "information": "Администратор",
- "is_approved": true,
- "is_non_deletable": true,
- "user_role_slug": "administrator"
}
], - "meta": {
- "count": 2
}
}
company_id required | number Example: 123 Идентификатор филиала. |
user_id required | number ID пользователя |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": false,
- "data": null,
- "meta": {
- "message": "Необходима авторизация"
}
}
Объект кассы компании имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Id кассы |
title | string | Название |
type | number | 1 - для безналичных платежей, 0 для наличных |
comment | string | Описание к кассе |
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": 13881,
- "title": "Основная касса",
- "type": 0,
- "comment": "Стоит на ресепшене"
}, - {
- "id": 13882,
- "title": "Расчетный счет",
- "type": 1,
- "comment": "Для безналичных расчетов"
}, - {
- "id": 21961,
- "title": "Авансы",
- "type": 0,
- "comment": ""
}
], - "meta": [ ]
}
Объект склада компании имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID склада |
title | string | Название |
for_services | number | 1 - если используется для автоматического списания расходников |
for_sale | number | 1 - если склад по умолчанию для продажи товаров |
comment | string | Описание к складу |
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": 1,
- "title": "Расходники",
- "for_service": 1,
- "for_sale": 0,
- "comment": "Для учета расходных материалов"
}, - {
- "id": 2,
- "title": "Товары",
- "for_service": 0,
- "for_sale": 1,
- "comment": "Для учета продаж в магазине"
}, - {
- "id": 23061,
- "title": "Орс",
- "for_service": 0,
- "for_sale": 1,
- "comment": "Нз"
}
], - "meta": [ ]
}
Объект для создания SMS рассылки имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
client_ids | array of number | Массив ID клиентов |
text | string | Текст SMS сообщения |
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
client_ids | Array of numbers Массив идентификаторов клиентов |
text | string Текст SMS сообщения |
success | boolean Статус успешности выполнения (true) |
data | string Имеет значение null |
object Объект, содержащий сообщение 201 статус-кода |
{- "client_ids": [
- 1,
- 2,
- 3,
- 4,
- 5
], - "text": "Уважаемые клиенты, поздравляем Вас с тем, что вы наши клиенты! Вам очень повезло!"
}
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
Объект для создания SMS рассылки имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
text | string | Текст SMS сообщения |
Внимание: При отсутствии фильтров SMS рассылка уйдет по всей базе!
company_id required | number ID компании |
fullname | string Example: fullname='Joh' Имя (часть имени) для фильтрации клиентов |
phone | string Example: phone='7916' Телефон (часть номера) для фильтрации клиентов |
string Example: email='test@' Email (часть) для фильтрации клиентов |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
text | string Текст SMS сообщения |
success | boolean Статус успешности выполнения (true) |
data | string Имеет значение null |
object Объект, содержащий сообщение 201 статус-кода |
{- "text": "Уважаемые клиенты, поздравляем Вас с тем, что вы наши клиенты! Вам очень повезло!"
}
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
Объект для создания Email рассылки имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
client_ids | array of number | Массив ID клиентов |
text | string | Текст Email сообщения |
subject | string | Тема Email сообщения |
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
client_ids required | Array of numbers Массив идентификаторов клиентов |
subject required | string Тема Email сообщения |
text required | string Текст Email сообщения |
success | boolean Статус успешности выполнения (true) |
data | string Имеет значение null |
object Объект, содержащий сообщение 201 статус-кода |
{- "client_ids": [
- 1,
- 2,
- 3,
- 4,
- 5
], - "subject": "Важно!",
- "text": "Уважаемые клиенты, поздравляем Вас с тем, что вы наши клиенты! Вам очень повезло!"
}
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
Объект для создания Email рассылки имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
text | string | Текст Email сообщения |
subject | string | Тема Email сообщения |
Внимание: При отсутствии фильтров Email рассылка уйдет по всей базе!
company_id required | number ID компании |
fullname | string Example: fullname='Joh' Имя (часть имени) для фильтрации клиентов |
phone | string Example: phone='7916' Телефон (часть номера) для фильтрации клиентов |
string Example: email='test@' Email (часть) для фильтрации клиентов |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
subject required | string Тема Email сообщения |
text required | string Текст Email сообщения |
success | boolean Статус успешности выполнения (true) |
data | string Имеет значение null |
object Объект, содержащий сообщение 201 статус-кода |
{- "subject": "Важно!",
- "text": "Уважаемые клиенты, поздравляем Вас с тем, что вы наши клиенты! Вам очень повезло!"
}
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
Фильтры
Параметр | Описание |
---|---|
page | Номер страницы |
editable_length | Количество клиентов на странице |
type | Тип операции |
status | Статус операции |
start_date | Дата начала периода |
end_date | Дата окончания периода |
Значение | Описание |
---|---|
0 | Операция продажи (активна для документа с типом "Визит") |
1 | Операция возврата продажи (активна для документа с типом "Визит") |
2 | Операция коррекции |
4 | Операция открытия смены |
5 | Операция закрытия смены |
9 | Операция получения статуса ККМ |
11 | Операция получения статуса команды ККМ |
12 | Операция коррекции |
13 | Печать X-отчёта |
6 | Внесение наличных |
7 | Изъятие наличных |
Статусы всех операций с ККМ
Значение | Описание |
---|---|
0 | Ошибка соединения с KKM |
1 | Успешно |
2 | Отправлен на печать |
3 | Ошибка выполнения |
4 | Ошибка проверки статуса |
5 | Ожидание готовности KKM |
Типы документов
Значение | Описание |
---|---|
1 | Продажа товара |
2 | Оказание услуг |
3 | Приход товара |
4 | Списание товара |
5 | Движение товара |
6 | Инвентаризация |
7 | Визит |
8 | Списание расходников |
9 | Пополнение депозита |
company_id required | number ID компании |
page | number Example: page=1 Номер страницы |
editable_length | number Example: editable_length=25 Количество клиентов на странице |
type | number Example: type=20 Тип операции |
status | number Example: status=6 Статус операции |
start_date | number Example: start_date='' Дата начала периода |
end_date | number Example: end_date='' Дата окончания периода |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer access_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных транзакций) |
{- "success": true,
- "data": [
- {
- "id": 1059,
- "print_date": 1529975419,
- "printed_count": 1,
- "sum": 10,
- "type": {
- "id": 1,
- "title": "Операция возврата продажи"
}, - "status": {
- "id": 3,
- "title": "Ошибка выполнения"
}, - "document": {
- "id": 2045,
- "type": 7,
- "type_title": "Визит"
}, - "cashier": {
- "id": 746310,
- "name": "Андрей Панов"
}
}
], - "meta": {
- "count": 1
}
}
Типы всех операций c ККМ
Значение | Описание |
---|---|
0 | Операция продажи (активна для документов с типами "Визит" и "Пополнение депозита") |
1 | Операция возврата продажи (активна для документов с типами "Визит" и "Пополнение депозита") |
2 | Операция коррекции |
4 | Операция открытия смены |
5 | Операция закрытия смены |
9 | Операция получения статуса ККМ |
11 | Операция получения статуса команды ККМ |
12 | Операция коррекции |
13 | Печать X-отчёта |
6 | Внесение наличных |
7 | Изъятие наличных |
Типы документов
Значение | Описание |
---|---|
1 | Продажа товара |
2 | Оказание услуг |
3 | Приход товара |
4 | Списание товара |
5 | Движение товара |
6 | Инвентаризация |
7 | Визит |
8 | Списание расходников |
9 | Пополнение депозита |
company_id required | number ID филиала |
document_id required | number ID документа |
type required | number тип операции с ККМ (см. таблицу типов всех операций) |
is_pos_enabled | boolean задействовать POS-терминал (по умолчанию false) |
success | boolean Статус успешности выполнения (true) |
object Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "kkm_type": 0,
- "kkm_transactions": [
- {
- "id": 1954,
- "print_date": 1571683616,
- "printed_count": 0,
- "sum": 0,
- "type": {
- "id": 0,
- "title": "Операция продажи"
}, - "status": {
- "id": 2,
- "title": "Отправлен на печать"
}, - "document": {
- "id": 164,
- "type": 9,
- "type_title": "Пополнение депозита"
}, - "cashier": {
- "id": 1138453,
- "name": "Андрей Панов"
}
}
], - "status": 2,
- "bill_json": [
- [ ]
]
}, - "meta": [ ]
}
Объект операции продажи имеет следующую структуру:
Поле | Тип | Описание |
---|---|---|
state | state | Состояние продажи |
kkm_state | kkm_state | Состояние ККМ |
payment_methods | payment_method[] | Доступные методы оплаты |
Тип state имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
items | sale_item[] | Продаваемая единица |
loyalty_transactions | loyalty_transaction[] | Транзакция оплаты с помощью лояльности |
payment_transactions | payment_transaction[] | Транзакция оплаты в кассу |
Тип kkm_state имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
last_operation_type | integer | Тип последней операции ККМ |
transactions | kkm_transaction[] | Транзакция ККМ |
Тип payment_method имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
slug | slug(string) | Тип метода оплаты |
is_applicable | boolean | Возможно ли применить данный метод |
applicable_amount | float | Возможная сумма, приминимая к оплате |
applicable_count | int | Возможное количество посещений (в случае абонемента) |
applicable_value | float | Применимый бонус (в случае программ лояльности) |
account_id | integer(optional) | ID кассы (зависит от slug) |
deposit_id | integer(optional) | ID депозитного счета (зависит от slug) |
loyalty_card_id | integer(optional) | ID карты лояльности (зависит от slug) |
loyalty_program_id | integer(optional) | ID программы лояльности (зависит от slug) |
loyalty_certificate_id | integer(optional) | ID сертификата (зависит от slug) |
loyalty_abonement_id | integer(optional) | ID абонемента (зависит от slug) |
account | account(optional) | Связанная сущность (зависит от slug) |
deposit | object(optional) | Связанная сущность (зависит от slug) |
loyalty_card | object(optional) | Связанная сущность (зависит от slug) |
loyalty_program | object(optional) | Связанная сущность (зависит от slug) |
loyalty_certificate | object(optional) | Связанная сущность (зависит от slug) |
loyalty_abonement | object(optional) | Связанная сущность (зависит от slug) |
Все типы методов оплаты делятся на две группы:
1 - Оплата в кассу:
Значение | Описание |
---|---|
account | Оплата в кассу |
2 - Оплата лояльностью:
Значение | Описание |
---|---|
deposit | Списание с личного счета |
loyalty_program | Использование программы лояльности |
loyalty_card | Списание с карты лояльности |
loyalty_certificate | Списание с сертификата |
loyalty_abonement | Использование абонемента (применяется только к визиту) |
referral_loyalty_program | Использование реферальной программы (применяется только к визиту) |
Тип sale_item имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | integer | ID продаваемой единицы |
type | string | Тип ("service"/"good") |
title | string | Название |
amount | integer | Количество |
default_cost_per_unit | float | Цена за единицу по умолчанию |
default_cost_total | float | Общая цена по умолчанию |
cost_to_pay_total | float | Цена к оплате |
client_discount_percent | float | Процент скидки |
document_id required | integer ID документа продажи |
company_id required | number ID филиала |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "state": {
- "items": [
- {
- "id": 2181520,
- "type": "good",
- "title": "товар 12",
- "amount": 1,
- "default_cost_per_unit": 1300,
- "default_cost_total": 1300,
- "client_discount_percent": 10,
- "cost_to_pay_total": 1170
}, - {
- "id": 22017,
- "type": "service",
- "document_id": 8200391,
- "title": "Маникюр",
- "amount": 1,
- "default_cost_per_unit": 500,
- "default_cost_total": 500,
- "client_discount_percent": 10,
- "cost_to_pay_total": 450
}
], - "loyalty_transactions": [
- {
- "id": 25042,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 9.9,
- "type_id": 11,
- "created_at": 1588265544,
- "deposit_transaction_id": 775,
- "chain": {
- "id": 500,
- "title": "Сеть YC BE"
}, - "type": {
- "id": 11,
- "title": "Списание с личного счета"
}, - "deposit": {
- "id": 220,
- "balance": 990.1,
- "type": {
- "id": 5,
- "title": "депозит 1"
}
}
}, - {
- "id": 25043,
- "document_id": 8201102,
- "amount": 0.1,
- "type_id": 2,
- "created_at": 1588265721,
- "loyalty_card_id": 185395,
- "loyalty_program_id": 264,
- "chain": {
- "id": 231,
- "title": "Yclients."
}, - "type": {
- "id": 2,
- "title": "Начисление по программам лояльности"
}, - "loyalty_card": {
- "id": 185395,
- "type_id": 265,
- "number": 23100185395,
- "balance": 50.15,
- "type": {
- "id": 265,
- "type": "Тест шаблонов программ лояльности"
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}, - "loyalty_program": {
- "id": 264,
- "title": "CASHBACK BigBro",
- "type_id": 7,
- "is_value_percent": true,
- "type": {
- "id": 7,
- "title": "Накопительный кэшбэк (оплачено)"
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}
}, - {
- "id": 25050,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 100,
- "type_id": 8,
- "created_at": 1588271563,
- "loyalty_certificate_id": 339,
- "chain": {
- "id": 79,
- "title": "Bank 24"
}, - "type": {
- "id": 8,
- "title": "Списание с сертификата"
}, - "loyalty_certificate": {
- "id": 339,
- "balance": 0,
- "applicable_balance": 0,
- "type": {
- "id": 20,
- "title": "Тестовый сертификат",
- "is_code_required": true
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}
}
], - "payment_transactions": [
- {
- "id": 6033940,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 32,
- "account": {
- "id": 90218,
- "title": "Наличная касса по умолчанию",
- "is_cash": true,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}, - {
- "id": 6033941,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 27,
- "account": {
- "id": 90218,
- "title": "Наличная касса",
- "is_cash": true,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}, - {
- "id": 6034121,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 43,
- "account": {
- "id": 23182,
- "title": "Карты - эквайринг по умолчанию",
- "is_cash": false,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}, - {
- "id": 6034122,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 12,
- "account": {
- "id": 23182,
- "title": "Карты - эквайринг",
- "is_cash": false,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}
]
}, - "kkm_state": {
- "last_operation_type": 1,
- "transactions": [
- {
- "id": 2424,
- "document_id": 8200904,
- "print_date": 1587556392,
- "printed_count": 0,
- "sum": 0,
- "type": {
- "id": 0,
- "title": "Операция продажи"
}, - "status": {
- "id": 1,
- "title": "Успешно"
}, - "document": {
- "id": 7215,
- "type": 1,
- "type_title": "Продажа товара"
}, - "cashier": {
- "id": 746310,
- "name": "Андрей Панов"
}
}
]
}, - "payment_methods": [
- {
- "slug": "account",
- "is_applicable": false,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "account_id": 36785,
- "account": {
- "id": 36785,
- "title": "Касса - безналичные",
- "is_cash": false
}
}, - {
- "slug": "loyalty_card",
- "is_applicable": true,
- "applicable_amount": 51.65,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_card_id": 19283,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "скидочная карта"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_program",
- "is_applicable": true,
- "applicable_amount": 234,
- "applicable_count": 0,
- "applicable_value": 20,
- "loyalty_card_id": 19283,
- "loyalty_program_id": 183,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "скидочная карта"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}, - "loyalty_program": {
- "id": 183,
- "title": "скидка постоянная",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Фиксированная скидка"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_abonement",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_abonement_id": 27,
- "loyalty_abonement": {
- "id": 27,
- "is_united_balance": false,
- "united_balance": 0,
- "type": {
- "id": 7,
- "title": "абонемент на 5000 QA net",
- "is_code_required": true
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}, - "balance_container": {
- "links": [
- {
- "count": 5,
- "category": {
- "id": 229680,
- "category_id": 1,
- "title": "Маникюр"
}
}, - {
- "count": 5,
- "category": {
- "id": 429813,
- "category_id": 429812,
- "title": "1 Занятие"
}
}
]
}
}
}, - {
- "slug": "loyalty_certificate",
- "is_applicable": true,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_certificate_id": 338,
- "loyalty_certificate": {
- "id": 338,
- "balance": 10000,
- "applicable_balance": 10000,
- "type": {
- "id": 130,
- "title": "test",
- "is_code_required": true
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}
}, - {
- "slug": "referral_loyalty_program",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_program_id": 424,
- "loyalty_program": {
- "id": 424,
- "title": "Фиксированная скидка",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Фиксированная скидка"
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}
}, - {
- "slug": "deposit",
- "is_applicable": true,
- "applicable_amount": 9.9,
- "applicable_count": 0,
- "applicable_value": 0,
- "deposit_id": 220,
- "deposit": {
- "id": 220,
- "balance": 1000,
- "type": {
- "id": 5,
- "title": "депозит 1"
}
}
}
]
}, - "meta": [ ]
}
В качестве ответа возвращается информация об Операции продажи
document_id required | integer ID документа продажи |
payment_transaction_id required | integer ID транзакции |
company_id required | number ID филиала |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "state": {
- "items": [
- {
- "id": 2181520,
- "type": "good",
- "title": "товар 12",
- "amount": 1,
- "default_cost_per_unit": 1300,
- "default_cost_total": 1300,
- "client_discount_percent": 10,
- "cost_to_pay_total": 1170
}, - {
- "id": 22017,
- "type": "service",
- "document_id": 8200391,
- "title": "Маникюр",
- "amount": 1,
- "default_cost_per_unit": 500,
- "default_cost_total": 500,
- "client_discount_percent": 10,
- "cost_to_pay_total": 450
}
], - "loyalty_transactions": [
- {
- "id": 25042,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 9.9,
- "type_id": 11,
- "created_at": 1588265544,
- "deposit_transaction_id": 775,
- "chain": {
- "id": 500,
- "title": "Сеть YC BE"
}, - "type": {
- "id": 11,
- "title": "Списание с личного счета"
}, - "deposit": {
- "id": 220,
- "balance": 990.1,
- "type": {
- "id": 5,
- "title": "депозит 1"
}
}
}, - {
- "id": 25043,
- "document_id": 8201102,
- "amount": 0.1,
- "type_id": 2,
- "created_at": 1588265721,
- "loyalty_card_id": 185395,
- "loyalty_program_id": 264,
- "chain": {
- "id": 231,
- "title": "Yclients."
}, - "type": {
- "id": 2,
- "title": "Начисление по программам лояльности"
}, - "loyalty_card": {
- "id": 185395,
- "type_id": 265,
- "number": 23100185395,
- "balance": 50.15,
- "type": {
- "id": 265,
- "type": "Тест шаблонов программ лояльности"
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}, - "loyalty_program": {
- "id": 264,
- "title": "CASHBACK BigBro",
- "type_id": 7,
- "is_value_percent": true,
- "type": {
- "id": 7,
- "title": "Накопительный кэшбэк (оплачено)"
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}
}, - {
- "id": 25050,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 100,
- "type_id": 8,
- "created_at": 1588271563,
- "loyalty_certificate_id": 339,
- "chain": {
- "id": 79,
- "title": "Bank 24"
}, - "type": {
- "id": 8,
- "title": "Списание с сертификата"
}, - "loyalty_certificate": {
- "id": 339,
- "balance": 0,
- "applicable_balance": 0,
- "type": {
- "id": 20,
- "title": "Тестовый сертификат",
- "is_code_required": true
}
}
}
], - "payment_transactions": [
- {
- "id": 6033940,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 32,
- "account": {
- "id": 90218,
- "title": "Наличная касса по умолчанию",
- "is_cash": true,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}, - {
- "id": 6033941,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 27,
- "account": {
- "id": 90218,
- "title": "Наличная касса",
- "is_cash": true,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}, - {
- "id": 6034121,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 43,
- "account": {
- "id": 23182,
- "title": "Карты - эквайринг по умолчанию",
- "is_cash": false,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}, - {
- "id": 6034122,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 12,
- "account": {
- "id": 23182,
- "title": "Карты - эквайринг",
- "is_cash": false,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}
]
}, - "kkm_state": {
- "last_operation_type": 1,
- "transactions": [
- {
- "id": 2424,
- "document_id": 8200904,
- "print_date": 1587556392,
- "printed_count": 0,
- "sum": 0,
- "type": {
- "id": 0,
- "title": "Операция продажи"
}, - "status": {
- "id": 1,
- "title": "Успешно"
}, - "document": {
- "id": 7215,
- "type": 1,
- "type_title": "Продажа товара"
}, - "cashier": {
- "id": 746310,
- "name": "Андрей Панов"
}
}
]
}, - "payment_methods": [
- {
- "slug": "account",
- "is_applicable": false,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "account_id": 36785,
- "account": {
- "id": 36785,
- "title": "Касса - безналичные",
- "is_cash": false
}
}, - {
- "slug": "loyalty_card",
- "is_applicable": true,
- "applicable_amount": 51.65,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_card_id": 19283,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "скидочная карта"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_program",
- "is_applicable": true,
- "applicable_amount": 234,
- "applicable_count": 0,
- "applicable_value": 20,
- "loyalty_card_id": 19283,
- "loyalty_program_id": 183,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "скидочная карта"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}, - "loyalty_program": {
- "id": 183,
- "title": "скидка постоянная",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Фиксированная скидка"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_abonement",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_abonement_id": 27,
- "loyalty_abonement": {
- "id": 27,
- "is_united_balance": false,
- "united_balance": 0,
- "type": {
- "id": 7,
- "title": "абонемент на 5000 QA net",
- "is_code_required": true
}, - "balance_container": {
- "links": [
- {
- "count": 5,
- "category": {
- "id": 229680,
- "category_id": 1,
- "title": "Маникюр"
}
}, - {
- "count": 5,
- "category": {
- "id": 429813,
- "category_id": 429812,
- "title": "1 Занятие"
}
}
]
}
}
}, - {
- "slug": "loyalty_certificate",
- "is_applicable": true,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_certificate_id": 338,
- "loyalty_certificate": {
- "id": 338,
- "balance": 10000,
- "applicable_balance": 10000,
- "type": {
- "id": 130,
- "title": "test",
- "is_code_required": true
}
}
}, - {
- "slug": "referral_loyalty_program",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_program_id": 424,
- "loyalty_program": {
- "id": 424,
- "title": "Фиксированная скидка",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Фиксированная скидка"
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}
}, - {
- "slug": "deposit",
- "is_applicable": true,
- "applicable_amount": 9.9,
- "applicable_count": 0,
- "applicable_value": 0,
- "deposit_id": 220,
- "deposit": {
- "id": 220,
- "balance": 1000,
- "type": {
- "id": 5,
- "title": "депозит 1"
}
}
}
]
}, - "meta": [ ]
}
В качестве ответа возвращается информация об Операции продажи
document_id required | integer ID документа продажи |
payment_transaction_id required | integer ID транзакции |
company_id required | number ID филиала |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "state": {
- "items": [
- {
- "id": 2181520,
- "type": "good",
- "title": "товар 12",
- "amount": 1,
- "default_cost_per_unit": 1300,
- "default_cost_total": 1300,
- "client_discount_percent": 10,
- "cost_to_pay_total": 1170
}, - {
- "id": 22017,
- "type": "service",
- "document_id": 8200391,
- "title": "Маникюр",
- "amount": 1,
- "default_cost_per_unit": 500,
- "default_cost_total": 500,
- "client_discount_percent": 10,
- "cost_to_pay_total": 450
}
], - "loyalty_transactions": [
- {
- "id": 25042,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 9.9,
- "type_id": 11,
- "created_at": 1588265544,
- "deposit_transaction_id": 775,
- "chain": {
- "id": 500,
- "title": "Сеть YC BE"
}, - "type": {
- "id": 11,
- "title": "Списание с личного счета"
}, - "deposit": {
- "id": 220,
- "balance": 990.1,
- "type": {
- "id": 5,
- "title": "депозит 1"
}
}
}, - {
- "id": 25043,
- "document_id": 8201102,
- "amount": 0.1,
- "type_id": 2,
- "created_at": 1588265721,
- "loyalty_card_id": 185395,
- "loyalty_program_id": 264,
- "chain": {
- "id": 231,
- "title": "Yclients."
}, - "type": {
- "id": 2,
- "title": "Начисление по программам лояльности"
}, - "loyalty_card": {
- "id": 185395,
- "type_id": 265,
- "number": 23100185395,
- "balance": 50.15,
- "type": {
- "id": 265,
- "type": "Тест шаблонов программ лояльности"
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}, - "loyalty_program": {
- "id": 264,
- "title": "CASHBACK BigBro",
- "type_id": 7,
- "is_value_percent": true,
- "type": {
- "id": 7,
- "title": "Накопительный кэшбэк (оплачено)"
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}
}, - {
- "id": 25050,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 100,
- "type_id": 8,
- "created_at": 1588271563,
- "loyalty_certificate_id": 339,
- "chain": {
- "id": 79,
- "title": "Bank 24"
}, - "type": {
- "id": 8,
- "title": "Списание с сертификата"
}, - "loyalty_certificate": {
- "id": 339,
- "balance": 0,
- "applicable_balance": 0,
- "type": {
- "id": 20,
- "title": "Тестовый сертификат",
- "is_code_required": true
}
}
}
], - "payment_transactions": [
- {
- "id": 6033940,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 32,
- "account": {
- "id": 90218,
- "title": "Наличная касса по умолчанию",
- "is_cash": true,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}, - {
- "id": 6033941,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 27,
- "account": {
- "id": 90218,
- "title": "Наличная касса",
- "is_cash": true,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}, - {
- "id": 6034121,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 43,
- "account": {
- "id": 23182,
- "title": "Карты - эквайринг по умолчанию",
- "is_cash": false,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}, - {
- "id": 6034122,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 12,
- "account": {
- "id": 23182,
- "title": "Карты - эквайринг",
- "is_cash": false,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}
]
}, - "kkm_state": {
- "last_operation_type": 1,
- "transactions": [
- {
- "id": 2424,
- "document_id": 8200904,
- "print_date": 1587556392,
- "printed_count": 0,
- "sum": 0,
- "type": {
- "id": 0,
- "title": "Операция продажи"
}, - "status": {
- "id": 1,
- "title": "Успешно"
}, - "document": {
- "id": 7215,
- "type": 1,
- "type_title": "Продажа товара"
}, - "cashier": {
- "id": 746310,
- "name": "Андрей Панов"
}
}
]
}, - "payment_methods": [
- {
- "slug": "account",
- "is_applicable": false,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "account_id": 36785,
- "account": {
- "id": 36785,
- "title": "Касса - безналичные",
- "is_cash": false
}
}, - {
- "slug": "loyalty_card",
- "is_applicable": true,
- "applicable_amount": 51.65,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_card_id": 19283,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "скидочная карта"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_program",
- "is_applicable": true,
- "applicable_amount": 234,
- "applicable_count": 0,
- "applicable_value": 20,
- "loyalty_card_id": 19283,
- "loyalty_program_id": 183,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "скидочная карта"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}, - "loyalty_program": {
- "id": 183,
- "title": "скидка постоянная",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Фиксированная скидка"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_abonement",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_abonement_id": 27,
- "loyalty_abonement": {
- "id": 27,
- "is_united_balance": false,
- "united_balance": 0,
- "type": {
- "id": 7,
- "title": "абонемент на 5000 QA net",
- "is_code_required": true
}, - "balance_container": {
- "links": [
- {
- "count": 5,
- "category": {
- "id": 229680,
- "category_id": 1,
- "title": "Маникюр"
}
}, - {
- "count": 5,
- "category": {
- "id": 429813,
- "category_id": 429812,
- "title": "1 Занятие"
}
}
]
}
}
}, - {
- "slug": "loyalty_certificate",
- "is_applicable": true,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_certificate_id": 338,
- "loyalty_certificate": {
- "id": 338,
- "balance": 10000,
- "applicable_balance": 10000,
- "type": {
- "id": 130,
- "title": "test",
- "is_code_required": true
}
}
}, - {
- "slug": "referral_loyalty_program",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_program_id": 424,
- "loyalty_program": {
- "id": 424,
- "title": "Фиксированная скидка",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Фиксированная скидка"
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}
}, - {
- "slug": "deposit",
- "is_applicable": true,
- "applicable_amount": 9.9,
- "applicable_count": 0,
- "applicable_value": 0,
- "deposit_id": 220,
- "deposit": {
- "id": 220,
- "balance": 1000,
- "type": {
- "id": 5,
- "title": "депозит 1"
}
}
}
]
}, - "meta": [ ]
}
В качестве ответа возвращается информация об Операции продажи
document_id required | number Идентификатор документа |
company_id required | number ID филиала |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
object Объект, содержащий метод оплаты |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "payment": {
- "method": {
- "slug": "account",
- "account_id": 90218
}, - "amount": 123
}
}
{- "success": true,
- "data": {
- "state": {
- "items": [
- {
- "id": 2181520,
- "type": "good",
- "title": "товар 12",
- "amount": 1,
- "default_cost_per_unit": 1300,
- "default_cost_total": 1300,
- "client_discount_percent": 10,
- "cost_to_pay_total": 1170
}, - {
- "id": 22017,
- "type": "service",
- "document_id": 8200391,
- "title": "Маникюр",
- "amount": 1,
- "default_cost_per_unit": 500,
- "default_cost_total": 500,
- "client_discount_percent": 10,
- "cost_to_pay_total": 450
}
], - "loyalty_transactions": [
- {
- "id": 25042,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 9.9,
- "type_id": 11,
- "created_at": 1588265544,
- "deposit_transaction_id": 775,
- "chain": {
- "id": 500,
- "title": "Сеть YC BE"
}, - "type": {
- "id": 11,
- "title": "Списание с личного счета"
}, - "deposit": {
- "id": 220,
- "balance": 990.1,
- "type": {
- "id": 5,
- "title": "депозит 1"
}
}
}, - {
- "id": 25043,
- "document_id": 8201102,
- "amount": 0.1,
- "type_id": 2,
- "created_at": 1588265721,
- "loyalty_card_id": 185395,
- "loyalty_program_id": 264,
- "chain": {
- "id": 231,
- "title": "Yclients."
}, - "type": {
- "id": 2,
- "title": "Начисление по программам лояльности"
}, - "loyalty_card": {
- "id": 185395,
- "type_id": 265,
- "number": 23100185395,
- "balance": 50.15,
- "type": {
- "id": 265,
- "type": "Тест шаблонов программ лояльности"
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}, - "loyalty_program": {
- "id": 264,
- "title": "CASHBACK BigBro",
- "type_id": 7,
- "is_value_percent": true,
- "type": {
- "id": 7,
- "title": "Накопительный кэшбэк (оплачено)"
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}
}, - {
- "id": 25050,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "amount": 100,
- "type_id": 8,
- "created_at": 1588271563,
- "loyalty_certificate_id": 339,
- "chain": {
- "id": 79,
- "title": "Bank 24"
}, - "type": {
- "id": 8,
- "title": "Списание с сертификата"
}, - "loyalty_certificate": {
- "id": 339,
- "balance": 0,
- "applicable_balance": 0,
- "type": {
- "id": 20,
- "title": "Тестовый сертификат",
- "is_code_required": true
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}
}
], - "payment_transactions": [
- {
- "id": 6033940,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 32,
- "account": {
- "id": 90218,
- "title": "Наличная касса по умолчанию",
- "is_cash": true,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}, - {
- "id": 6033941,
- "document_id": 8200904,
- "sale_item_id": 2181442,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 90218,
- "amount": 27,
- "account": {
- "id": 90218,
- "title": "Наличная касса",
- "is_cash": true,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}, - {
- "id": 6034121,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 43,
- "account": {
- "id": 23182,
- "title": "Карты - эквайринг по умолчанию",
- "is_cash": false,
- "is_default": true
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}, - {
- "id": 6034122,
- "document_id": 8201102,
- "sale_item_id": 2181521,
- "sale_item_type": "good",
- "expense_id": 7,
- "account_id": 23182,
- "amount": 12,
- "account": {
- "id": 23182,
- "title": "Карты - эквайринг",
- "is_cash": false,
- "is_default": false
}, - "expense": {
- "id": 7,
- "title": "Продажа товаров"
}
}
]
}, - "kkm_state": {
- "last_operation_type": 1,
- "transactions": [
- {
- "id": 2424,
- "document_id": 8200904,
- "print_date": 1587556392,
- "printed_count": 0,
- "sum": 0,
- "type": {
- "id": 0,
- "title": "Операция продажи"
}, - "status": {
- "id": 1,
- "title": "Успешно"
}, - "document": {
- "id": 7215,
- "type": 1,
- "type_title": "Продажа товара"
}, - "cashier": {
- "id": 746310,
- "name": "Андрей Панов"
}
}
]
}, - "payment_methods": [
- {
- "slug": "account",
- "is_applicable": false,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "account_id": 36785,
- "account": {
- "id": 36785,
- "title": "Касса - безналичные",
- "is_cash": false
}
}, - {
- "slug": "loyalty_card",
- "is_applicable": true,
- "applicable_amount": 51.65,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_card_id": 19283,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "скидочная карта"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_program",
- "is_applicable": true,
- "applicable_amount": 234,
- "applicable_count": 0,
- "applicable_value": 20,
- "loyalty_card_id": 19283,
- "loyalty_program_id": 183,
- "loyalty_card": {
- "id": 19283,
- "type_id": 155,
- "number": 31200019283,
- "balance": 51.65,
- "type": {
- "id": 155,
- "type": "скидочная карта"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}, - "loyalty_program": {
- "id": 183,
- "title": "скидка постоянная",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Фиксированная скидка"
}, - "chain": {
- "id": 312,
- "title": "Trinity group"
}
}
}, - {
- "slug": "loyalty_abonement",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_abonement_id": 27,
- "loyalty_abonement": {
- "id": 27,
- "is_united_balance": false,
- "united_balance": 0,
- "type": {
- "id": 7,
- "title": "абонемент на 5000 QA net",
- "is_code_required": true
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}, - "balance_container": {
- "links": [
- {
- "count": 5,
- "category": {
- "id": 229680,
- "category_id": 1,
- "title": "Маникюр"
}
}, - {
- "count": 5,
- "category": {
- "id": 429813,
- "category_id": 429812,
- "title": "1 Занятие"
}
}
]
}
}
}, - {
- "slug": "loyalty_certificate",
- "is_applicable": true,
- "applicable_amount": 1170,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_certificate_id": 338,
- "loyalty_certificate": {
- "id": 338,
- "balance": 10000,
- "applicable_balance": 10000,
- "type": {
- "id": 130,
- "title": "test",
- "is_code_required": true
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}
}, - {
- "slug": "referral_loyalty_program",
- "is_applicable": false,
- "applicable_amount": 0,
- "applicable_count": 0,
- "applicable_value": 0,
- "loyalty_program_id": 424,
- "loyalty_program": {
- "id": 424,
- "title": "Фиксированная скидка",
- "type_id": 1,
- "is_value_percent": true,
- "type": {
- "id": 1,
- "title": "Фиксированная скидка"
}, - "chain": {
- "id": 231,
- "title": "Yclients."
}
}
}, - {
- "slug": "deposit",
- "is_applicable": true,
- "applicable_amount": 9.9,
- "applicable_count": 0,
- "applicable_value": 0,
- "deposit_id": 220,
- "deposit": {
- "id": 220,
- "balance": 1000,
- "type": {
- "id": 5,
- "title": "депозит 1"
}
}
}
]
}, - "meta": [ ]
}
Объект транзакции имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID транзакции |
document_id | number | ID документа |
expense | expense | Тип платежа |
date | string | Дата создания транзакции |
amount | float | Сумма транзакции |
comment | string | Комментарий |
master | master | Сотрудник |
supplier | supplier | Контрагент |
account | account | Касса |
client | client | Клиент |
Объекты expense, master, account, supplier имеют следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID |
title | string | Описание |
Объект client имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID |
name | string | Имя |
phone | string | Номер телефона |
company_id required | number ID компании |
page | number Example: page=1 Номер страницы |
count | number Example: count=50 Количество клиентов на странице |
account_id | number Example: account_id=0 ID кассы |
supplier_id | number Example: supplier_id=0 ID контрагента |
client_id | number Example: client_id=0 ID клиента |
user_id | number Example: user_id=0 ID пользователя |
master_id | number Example: master_id=0 ID сотрудника |
type | number Example: type=0 тип транзакции |
real_money | number Example: real_money=0 транзакция реальными деньгами |
deleted | number Example: deleted=0 была ли удалена транзакция |
start_date | number Example: start_date=2023-01-01 дата начала периода |
end_date | number Example: end_date=2023-03-01 дата окончания периода |
balance_is | number Example: balance_is=0 0 - любой баланс, 1 - положительный, 2 - оттрицательный |
document_id | number Example: document_id=0 идентификатор документа |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": "4815162342",
- "document_id": 22256641,
- "expense": {
- "id": "5",
- "title": "Оказание услуг"
}, - "date": "2016-04-13T15:34:31+0400",
- "amount": "1000.00",
- "comment": "Comment",
- "master": {
- "id": "1926",
- "title": "Суини Тодд"
}, - "supplier": {
- "id": "1968",
- "title": "George"
}, - "account": {
- "id": "23182",
- "title": "Карты"
}, - "client": {
- "id": "481516",
- "name": "John Turk",
- "phone": 79876543210
}, - "last_change_date": "2020-02-01T12:00:00+0400",
- "record_id": 308786662,
- "visit_id": 262551993,
- "sold_item_id": 7134634,
- "sold_item_type": "service"
}
], - "meta": [ ]
}
company_id required | number ID компании |
record_id | number Example: record_id=0 ID записи |
visit_id | number Example: visit_id=0 ID визита |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": "4815162342",
- "document_id": 22256641,
- "expense": {
- "id": "5",
- "title": "Оказание услуг"
}, - "date": "2016-04-13T15:34:31+0400",
- "amount": "1000.00",
- "comment": "Comment",
- "master": {
- "id": "1926",
- "title": "Суини Тодд"
}, - "supplier": {
- "id": "1968",
- "title": "George"
}, - "account": {
- "id": "23182",
- "title": "Карты"
}, - "client": {
- "id": "481516",
- "name": "John Turk",
- "phone": 79876543210
}, - "last_change_date": "2020-02-01T12:00:00+0400",
- "record_id": 308786662,
- "visit_id": 262551993,
- "sold_item_id": 7134634,
- "sold_item_type": "service"
}
], - "meta": [ ]
}
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
expense_id | number Статья платежа |
amount | number <float> Сумма транзакции |
account_id | number Идентификатор кассы |
client_id | number Идентификатор клиента |
supplier_id | number Идентификатор контрагента |
master_id | number Идентификатор сотрудника |
comment | number Комментарий |
date | string <date-time> Дата создания транзакции |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "expense_id": 2640,
- "amount": 100,
- "account_id": 39105,
- "client_id": 4240788,
- "supplier_id": 0,
- "master_id": 0,
- "comment": "Transaction comment",
- "date": "2023-01-01 10:00:00"
}
{- "success": true,
- "data": {
- "id": 277016617,
- "document_id": 0,
- "date": "2023-01-01 10:00:00",
- "type_id": 5,
- "expense_id": 5,
- "account_id": 774020,
- "amount": 100,
- "client_id": 51520012,
- "master_id": 921395,
- "supplier_id": 0,
- "comment": "Transaction comment",
- "item_id": 0,
- "target_type_id": 0,
- "record_id": 0,
- "goods_transaction_id": 0,
- "expense": {
- "id": 5,
- "title": "Оказание услуг"
}, - "account": {
- "id": 774020,
- "title": "Архив касса",
- "is_cash": true,
- "is_default": false
}, - "client": {
- "id": 51520012,
- "name": "Суинни Тодд",
- "phone": "79161001010",
- "email": "[email protected]"
}, - "master": {
- "id": 921395,
- "name": "Валерия"
}, - "supplier": [ ]
}, - "meta": [ ]
}
company_id required | number ID компании |
transaction_id required | number ID транзакции |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": "4815162342",
- "document_id": 22256641,
- "expense": {
- "id": "5",
- "title": "Оказание услуг"
}, - "date": "2016-04-13 15:34:31",
- "amount": "1000.00",
- "comment": "Comment",
- "master": {
- "id": "1926",
- "title": "Суини Тодд"
}, - "supplier": {
- "id": "1968",
- "title": "George"
}, - "account": {
- "id": "23182",
- "title": "Карты"
}, - "client": {
- "id": "481516",
- "name": "John Turk",
- "phone": 79876543210
}, - "last_change_date": "2020-02-01T12:00:00+0400",
- "record_id": 308786662,
- "visit_id": 262551993,
- "sold_item_id": 7134634,
- "sold_item_type": "service"
}
], - "meta": [ ]
}
company_id required | number ID компании |
transaction_id required | number ID транзакции |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
expense_id | number Статья платежа |
amount | number <float> Сумма транзакции |
account_id | number Идентификатор кассы |
client_id | number Идентификатор клиента |
supplier_id | number Идентификатор контрагента |
master_id | number Идентификатор сотрудника |
comment | number Комментарий |
date | string <date-time> Дата создания транзакции |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": "4815162342",
- "document_id": 22256641,
- "expense": {
- "id": "5",
- "title": "Оказание услуг"
}, - "date": "2016-04-13 15:34:31",
- "amount": "1000.00",
- "comment": "Comment",
- "master": {
- "id": "1926",
- "title": "Суини Тодд"
}, - "supplier": {
- "id": "1968",
- "title": "George"
}, - "account": {
- "id": "23182",
- "title": "Карты"
}, - "client": {
- "id": "481516",
- "name": "John Turk",
- "phone": 79876543210
}, - "last_change_date": "2020-02-01T12:00:00+0400",
- "record_id": 308786662,
- "visit_id": 262551993,
- "sold_item_id": 7134634,
- "sold_item_type": "service"
}
], - "meta": [ ]
}
company_id required | number ID компании |
transaction_id required | number ID транзакции |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
Для использования api и активации доступа к настройкам в пользовательском интерфейсе необходимо активировать интеграцию, отправив запрос "Подключить интеграцию". После успешного подключения, в сетевом интерфейсе пользователя будет открыт доступ в раздел с настройками маршрутизации.
Для отключения интеграции можно воспользоваться методом "Отключить интеграцию". После отключения интеграции закрывается доступ в раздел настроек пользовательского интерфейса, обработка запросов "Уведомление о звонке" и "Сохранение информации о звонке" не производится.
Для отображения уведомлений о входящем звонке используется метод "Уведомление о звонке", в параметрах указыватеся тип звонка ("incoming", "outgoing", "internal"), но на текущий момент уведомления отображаются только для значения "incoming". Уведомления отображаются для пользователей, определенных на основе настроек маршрутизации. При одновременном указании параметров "user" и "diversion" приоритетным при поиске маршрутов является "user".
Сохранение информации о звонке автоматически происходит в сетевую историю и в историю компаний сети в соответствии с настройками маршрутизации звонка.
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
Тела запросов
command required | string Slug операции 'setup' |
type required | string Тип операции, в данном случае 'enable' |
crm_token required | string CRM-токен из раздела Телефония-Интеграция в сети клиента |
success | boolean Статус успшности выполнения (true) |
data | string Содержит null |
object Метаданные (содержить сообщение "Accepted") |
{- "command": "setup",
- "type": "enable",
- "crm_token": "7cf262d6-1656-43f9-86ac-2826bdc125d2"
}
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
Данный эндпойнт предназначен для получения списка звонков в филиале с учетом фильтров и с пагинацией
salon_id required | number Идентификатор салона. |
date_from required | string Дата начала выборки. |
date_to required | string Дата окончания выборки. |
phone | string Номер телефона. |
types | Array of strings Items Enum: "incoming" "outgoing" "internal" Набор типов звонка |
statuses | Array of strings Items Enum: "success" "missed" "cancel" "busy" "notallowed" "notavailable" "notfound" Набор статусов |
page | number Номер страницы |
limit | number <= 1000 Количество элементов на странице |
success | boolean (Успешный статус запроса) Статус запроса. |
Array of objects Список звонков | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
{- "salon_id": 615243,
- "date_from": "2023-01-01",
- "date_to": "2023-02-01",
- "phone": "79111234567",
- "types": [
- "incoming",
- "internal"
], - "statuses": [
- "success",
- "cancel"
], - "page": 1,
- "limit": 25
}
{- "success": true,
- "data": [
- {
- "id": 8923525,
- "client_id": 51342134,
- "caller_phone": "791112345678",
- "duration": 244,
- "status": "success",
- "type": "outgoing",
- "call_date": "2023-01-17 23:52:21"
}, - {
- "id": 66795308,
- "client_id": 0,
- "caller_phone": "791112345678",
- "record_link": "",
- "duration": 0,
- "status": "missed",
- "type": "incoming",
- "call_date": "2023-01-17 12:31:12"
}
]
}
Сгенерированный объект кода имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
code | string | Сгенерированный код |
chain_id required | integer Идентификатор сети |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Идентификатор шаблона |
type | string Enum: "big" "mid" "small" "custom" Вариант шаблона |
body | string Текст шаблона |
message_type | string Enum: "loyalty_discount_expiration" "loyalty_cashback_expiration" "loyalty_discount_increased" "loyalty_discount_decreased" "loyalty_card_created" "loyalty_card_withdraw" "loyalty_withdraw_cancelled" "loyalty_card_manual" "loyalty_card_manual_withdraw" "loyalty_card_cashback" "loyalty_card_cashback_cancelled" "loyalty_card_income" "loyalty_discount_changed" "loyalty_cashback_changed" "loyalty_settings_abonement_notification" Тип сообщения |
[- {
- "id": 12,
- "type": "small",
- "message_type": "loyalty_discount_expiration",
- "body": "Ваша скидка завтра сгорает"
}
]
chain_id required | integer Идентификатор сети |
include | string Enum: "applicable_items" "rules" "companies" "loyalty_card_types" "on_changed_notification_template" "on_expiration_notification_template" Включить в ответ дополнительные ресурсы |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string applization/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Название акции |
type required | string Enum: "discount_static" "discount_accumulative_visits" "discount_accumulative_sold" "discount_accumulative_paid" "cashback_static_sold" "cashback_static_paid" "cashback_accumulative_paid" "cashback_accumulative_sold" "cashback_accumulative_paid_visits" "cashback_accumulative_sold_visits" "cashback_sold_visits" "cashback_paid_visits" "package_discount" Тип акции |
service_item_type required | string Enum: "any_allowed" "not_allowed" "custom_allowed" Тип применения к услугам |
good_item_type required | string Enum: "any_allowed" "not_allowed" "custom_allowed" Тип применения к товарам |
value_unit required | string Enum: "percent" "amount" Единица измерения бонуса или скидки (процент, фиксированная сумма) |
usage_limit | integer <int32> Ограничение по количеству применений (только для кэшбека) |
visit_multiplicity | integer <int32> Кратность применения по визитам (только для кэшбека) |
sold_items_multiplicity | integer <int32> Сколько услуг нужно оплатить, чтобы получить скидку на акционные услуги (только для типа акции "Скидка по условию") |
expiration_timeout | integer <int32> Срок сгорания бонусов или скидки |
expiration_timeout_unit | string Enum: "day" "week" "month" "year" Единица измерения срока сгорания бонусов или скидки |
expiration_notification_timeout | integer <int32> За сколько дней до наступления срока сгорания бонуса или скидки необходимо отправить клиенту уведомление |
params_source_type | string Enum: "loyalty_card" "active_companies" "chain" Откуда брать историю клиента для расчета размера бонуса или скидки (для накпоительных акций или скидки по условию) |
history_start_date | string <date> С какой даты учитывать историю клиента для расчета размера бонуса или скидки (для накопительных акций или скидки по условию) |
loyalty_card_type_ids | Array of integers <int32> [ items <int32 > ] Идентификаторы типов карт, для которых действует акция |
object (Root Type for LoyaltyNotificationMessageTemplateRequest) Тело запроса на привязку шаблона уведомления лояльности | |
object (Root Type for LoyaltyNotificationMessageTemplateRequest) Тело запроса на привязку шаблона уведомления лояльности | |
required | Array of objects (Root Type for LoyaltyProgramRuleRequest) Правила для определения значения бонуса или скидки (допустимо только одно правило для фиксированных акций) |
company_ids required | Array of integers <int32> [ items <int32 > ] Идентификаторы филиалов, в которых действует акция |
allowed_service_ids | Array of integers <int32> [ items <int32 > ] Идентификаторы услуг и категорий услуг (если задан тип применения для некоторых услуг) |
allowed_good_ids | Array of integers <int32> [ items <int32 > ] Идентификаторы товаров (если задан тип применения для некоторых товаров) |
allowed_good_category_ids | Array of integers <int32> [ items <int32 > ] Идентификаторы категорий товаров (если задан тип применения для некоторых товаров) |
id | integer <int32> Идетификатор акции |
title | string Название акции |
type | string Enum: "discount_static" "discount_accumulative_visits" "discount_accumulative_sold" "discount_accumulative_paid" "cashback_static_sold" "cashback_static_paid" "cashback_accumulative_paid" "cashback_accumulative_sold" "cashback_accumulative_paid_visits" "cashback_accumulative_sold_visits" "cashback_sold_visits" "cashback_paid_visits" "package_discount" Тип акции |
service_item_type | string Enum: "any_allowed" "not_allowed" "custom_allowed" Тип применения к услугам |
good_item_type | string Enum: "any_allowed" "not_allowed" "custom_allowed" Тип применения к товарам |
value_unit | string Enum: "percent" "amount" Единица измерения бонуса или скидки (процент, фиксированная сумма) |
usage_limit | integer <int32> Ограничение по количеству применений (только для кэшбека) |
visit_multiplicity | integer <int32> Кратность применения по визитам (только для кэшбека) |
sold_items_multiplicity | integer <int32> Сколько услуг нужно оплатить, чтобы получить скидку на акционные услуги (только для типа акции "Скидка по условию") |
expiration_timeout | integer <int32> Срок сгорания бонусов или скидки |
expiration_timeout_unit | string Enum: "day" "week" "month" "year" Единица измерения срока сгорания бонусов или скидки |
expiration_notification_timeout | integer <int32> За сколько дней до наступления срока сгорания бонуса или скидки необходимо отправить клиенту уведомление |
params_source_type | string Enum: "loyalty_card" "active_companies" "chain" Откуда брать историю клиента для расчета размера бонуса или скидки (для накпоительных акций или скидки по условию) |
history_start_date | string <date> С какой даты учитывать историю клиента для расчета размера бонуса или скидки (для накопительных акций или скидки по условию) |
on_changed_notification_template_id | integer <int32> Идентификатор шаблона уведомления при изменении бонуса или скидки |
on_expiration_notification_template_id | integer <int32> Идентификатор шаблона уведомления при сгорании бонуса или скидки |
Array of objects (Root Type for LoyaltyCardType) Тип карт, для которых действует акция (по запросу) | |
object (Root Type for LoyaltyNotificationMessageTemplate) Шаблон уведомлений лояльности | |
object (Root Type for LoyaltyNotificationMessageTemplate) Шаблон уведомлений лояльности | |
Array of objects (Root Type for LoyaltyProgramRule) Правила для определения значения бонуса или скидки (допустимо только одно правило для фиксированных акций) (по запросу) | |
Array of objects (Company) Филиалы, в которых действует акция (по запросу) | |
Array of objects (Root Type for LoyaltyEntityAttendanceItem) Связанные сущности для выборочного применения акции (по запросу) |
{- "title": "Накопительная скидка для некоторых услуг и не для товаров",
- "type": "discount_accumulative_paid",
- "service_item_type": "custom_allowed",
- "good_item_type": "not_allowed",
- "allowed_service_ids": [
- 53,
- 92
], - "allowed_good_ids": [ ],
- "allowed_good_category_ids": [ ],
- "value_unit": "percent",
- "usage_limit": 0,
- "visit_multiplicity": 0,
- "sold_items_multiplicity": 0,
- "expiration_timeout": 6,
- "expiration_timeout_unit": "month",
- "expiration_notification_timeout": 7,
- "params_source_type": "chain",
- "history_start_date": 1516147200,
- "loyalty_card_type_ids": [
- 51,
- 29
], - "on_changed_notification_template": {
- "type": "custom",
- "body": "Ваша скидка изменилась"
}, - "on_expiration_notification_template": {
- "type": "big"
}, - "rules": [
- {
- "parameter": 10,
- "value": 2.5,
- "service_id": 0
}, - {
- "parameter": 30,
- "value": 7.5,
- "service_id": 0
}
], - "company_ids": [
- 49
]
}
{- "id": 34,
- "title": "Накопительная скидка для некоторых услуг и не для товаров",
- "type": "discount_accumulative_paid",
- "service_item_type": "custom_allowed",
- "good_item_type": "not_allowed",
- "value_unit": "percent",
- "usage_limit": 0,
- "visit_multiplicity": 0,
- "sold_items_multiplicity": 0,
- "expiration_timeout": 6,
- "expiration_timeout_unit": "month",
- "expiration_notification_timeout": 7,
- "params_source_type": "chain",
- "history_start_date": 1516147200,
- "on_changed_notification_template_id": 55,
- "on_expiration_notification_template_id": 84,
- "loyalty_card_types": [
- {
- "id": 51,
- "title": "Тип карты 1"
}, - {
- "id": 29,
- "title": "Тип карты 2"
}
], - "on_changed_notification_template": {
- "id": 55,
- "type": "custom",
- "body": "Ваша скидка изменилась",
- "message_type": "loyalty_discount_changed"
}, - "on_expiration_notification_template": {
- "id": 84,
- "type": "big",
- "body": "Подробный текст о сгорании скидки",
- "message_type": "loyalty_discount_expiration"
}, - "rules": [
- {
- "id": 94,
- "parameter": 10,
- "value": 2.5,
- "loyalty_program_id": 34,
- "loyalty_type_id": 3,
- "service_id": 0
}, - {
- "id": 74,
- "parameter": 30,
- "value": 7.5,
- "loyalty_program_id": 34,
- "loyalty_type_id": 3,
- "service_id": 0
}
], - "companies": [
- {
- "id": 49,
- "title": "Филиал",
- "country": "Россия",
- "country_id": 5,
- "city": "Москва",
- "city_id": 83,
- "phone": "7912345678",
- "timezone": "Europe/Moscow",
- "address": "Адрес филиала",
- "coordinate_lat": 77.32,
- "coordinate_lng": 18.63
}
], - "applicable_items": [
- {
- "id": 53,
- "title": "Категория услуг 1",
- "is_service": true,
- "is_category": true
}, - {
- "id": 92,
- "title": "Категория услуг 2",
- "is_service": true,
- "is_category": true
}
]
}
chain_id required | integer Идентификатор сети |
loyalty_program_id required | integer Идентификатор акции |
include | string Enum: "applicable_items" "rules" "companies" "loyalty_card_types" "on_changed_notification_template" "on_expiration_notification_template" Включить в ответ дополнительные ресурсы |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Идетификатор акции |
title | string Название акции |
type | string Enum: "discount_static" "discount_accumulative_visits" "discount_accumulative_sold" "discount_accumulative_paid" "cashback_static_sold" "cashback_static_paid" "cashback_accumulative_paid" "cashback_accumulative_sold" "cashback_accumulative_paid_visits" "cashback_accumulative_sold_visits" "cashback_sold_visits" "cashback_paid_visits" "package_discount" Тип акции |
service_item_type | string Enum: "any_allowed" "not_allowed" "custom_allowed" Тип применения к услугам |
good_item_type | string Enum: "any_allowed" "not_allowed" "custom_allowed" Тип применения к товарам |
value_unit | string Enum: "percent" "amount" Единица измерения бонуса или скидки (процент, фиксированная сумма) |
usage_limit | integer <int32> Ограничение по количеству применений (только для кэшбека) |
visit_multiplicity | integer <int32> Кратность применения по визитам (только для кэшбека) |
sold_items_multiplicity | integer <int32> Сколько услуг нужно оплатить, чтобы получить скидку на акционные услуги (только для типа акции "Скидка по условию") |
expiration_timeout | integer <int32> Срок сгорания бонусов или скидки |
expiration_timeout_unit | string Enum: "day" "week" "month" "year" Единица измерения срока сгорания бонусов или скидки |
expiration_notification_timeout | integer <int32> За сколько дней до наступления срока сгорания бонуса или скидки необходимо отправить клиенту уведомление |
params_source_type | string Enum: "loyalty_card" "active_companies" "chain" Откуда брать историю клиента для расчета размера бонуса или скидки (для накпоительных акций или скидки по условию) |
history_start_date | string <date> С какой даты учитывать историю клиента для расчета размера бонуса или скидки (для накопительных акций или скидки по условию) |
on_changed_notification_template_id | integer <int32> Идентификатор шаблона уведомления при изменении бонуса или скидки |
on_expiration_notification_template_id | integer <int32> Идентификатор шаблона уведомления при сгорании бонуса или скидки |
Array of objects (Root Type for LoyaltyCardType) Тип карт, для которых действует акция (по запросу) | |
object (Root Type for LoyaltyNotificationMessageTemplate) Шаблон уведомлений лояльности | |
object (Root Type for LoyaltyNotificationMessageTemplate) Шаблон уведомлений лояльности | |
Array of objects (Root Type for LoyaltyProgramRule) Правила для определения значения бонуса или скидки (допустимо только одно правило для фиксированных акций) (по запросу) | |
Array of objects (Company) Филиалы, в которых действует акция (по запросу) | |
Array of objects (Root Type for LoyaltyEntityAttendanceItem) Связанные сущности для выборочного применения акции (по запросу) |
{- "id": 34,
- "title": "Накопительная скидка для некоторых услуг и не для товаров",
- "type": "discount_accumulative_paid",
- "service_item_type": "custom_allowed",
- "good_item_type": "not_allowed",
- "value_unit": "percent",
- "usage_limit": 0,
- "visit_multiplicity": 0,
- "sold_items_multiplicity": 0,
- "expiration_timeout": 6,
- "expiration_timeout_unit": "month",
- "expiration_notification_timeout": 7,
- "params_source_type": "chain",
- "history_start_date": 1516147200,
- "on_changed_notification_template_id": 55,
- "on_expiration_notification_template_id": 84,
- "loyalty_card_types": [
- {
- "id": 51,
- "title": "Тип карты 1"
}, - {
- "id": 29,
- "title": "Тип карты 2"
}
], - "on_changed_notification_template": {
- "id": 55,
- "type": "custom",
- "body": "Ваша скидка изменилась",
- "message_type": "loyalty_discount_changed"
}, - "on_expiration_notification_template": {
- "id": 84,
- "type": "big",
- "body": "Подробный текст о сгорании скидки",
- "message_type": "loyalty_discount_expiration"
}, - "rules": [
- {
- "id": 94,
- "parameter": 10,
- "value": 2.5,
- "loyalty_program_id": 34,
- "loyalty_type_id": 3,
- "service_id": 0
}, - {
- "id": 74,
- "parameter": 30,
- "value": 7.5,
- "loyalty_program_id": 34,
- "loyalty_type_id": 3,
- "service_id": 0
}
], - "companies": [
- {
- "id": 49,
- "title": "Филиал",
- "country": "Россия",
- "country_id": 5,
- "city": "Москва",
- "city_id": 83,
- "phone": "7912345678",
- "timezone": "Europe/Moscow",
- "address": "Адрес филиала",
- "coordinate_lat": 77.32,
- "coordinate_lng": 18.63
}
], - "applicable_items": [
- {
- "id": 53,
- "title": "Категория услуг 1",
- "is_service": true,
- "is_category": true
}, - {
- "id": 92,
- "title": "Категория услуг 2",
- "is_service": true,
- "is_category": true
}
]
}
chain_id required | integer Идентификатор сети |
loyalty_program_id required | integer Идентификатор акции |
include | string Enum: "applicable_items" "rules" "companies" "loyalty_card_types" "on_changed_notification_template" "on_expiration_notification_template" Включить в ответ дополнительные ресурсы |
title | string Название акции |
usage_limit | integer <int32> Ограничение по количеству применений (только для кэшбека) |
expiration_timeout | integer <int32> Срок сгорания бонусов или скидки |
expiration_timeout_unit | string Enum: "day" "week" "month" "year" Единица измерения срока сгорания бонусов или скидки |
expiration_notification_timeout | integer <int32> За сколько дней до наступления срока сгорания бонуса или скидки необходимо отправить клиенту уведомление |
loyalty_card_type_ids | Array of integers <int32> [ items <int32 > ] Идентификаторы типов карт, для которых действует акция |
object (Root Type for LoyaltyNotificationMessageTemplateRequest) Тело запроса на привязку шаблона уведомления лояльности | |
object (Root Type for LoyaltyNotificationMessageTemplateRequest) Тело запроса на привязку шаблона уведомления лояльности | |
Array of objects (Root Type for LoyaltyProgramRuleRequest) Правила для определения значения бонуса или скидки (допустимо только одно правило для фиксированных акций) | |
company_ids | Array of integers <int32> [ items <int32 > ] Идентификаторы филиалов, в которых действует акция |
allowed_service_ids | Array of integers <int32> [ items <int32 > ] Идентификаторы услуг и категорий услуг (если задан тип применения для некоторых услуг) |
allowed_good_ids | Array of integers <int32> [ items <int32 > ] Идентификаторы товаров (если задан тип применения для некоторых товаров) |
allowed_good_category_ids | Array of integers <int32> [ items <int32 > ] Идентификаторы категорий товаров (если задан тип применения для некоторых товаров) |
id | integer <int32> Идетификатор акции |
title | string Название акции |
type | string Enum: "discount_static" "discount_accumulative_visits" "discount_accumulative_sold" "discount_accumulative_paid" "cashback_static_sold" "cashback_static_paid" "cashback_accumulative_paid" "cashback_accumulative_sold" "cashback_accumulative_paid_visits" "cashback_accumulative_sold_visits" "cashback_sold_visits" "cashback_paid_visits" "package_discount" Тип акции |
service_item_type | string Enum: "any_allowed" "not_allowed" "custom_allowed" Тип применения к услугам |
good_item_type | string Enum: "any_allowed" "not_allowed" "custom_allowed" Тип применения к товарам |
value_unit | string Enum: "percent" "amount" Единица измерения бонуса или скидки (процент, фиксированная сумма) |
usage_limit | integer <int32> Ограничение по количеству применений (только для кэшбека) |
visit_multiplicity | integer <int32> Кратность применения по визитам (только для кэшбека) |
sold_items_multiplicity | integer <int32> Сколько услуг нужно оплатить, чтобы получить скидку на акционные услуги (только для типа акции "Скидка по условию") |
expiration_timeout | integer <int32> Срок сгорания бонусов или скидки |
expiration_timeout_unit | string Enum: "day" "week" "month" "year" Единица измерения срока сгорания бонусов или скидки |
expiration_notification_timeout | integer <int32> За сколько дней до наступления срока сгорания бонуса или скидки необходимо отправить клиенту уведомление |
params_source_type | string Enum: "loyalty_card" "active_companies" "chain" Откуда брать историю клиента для расчета размера бонуса или скидки (для накпоительных акций или скидки по условию) |
history_start_date | string <date> С какой даты учитывать историю клиента для расчета размера бонуса или скидки (для накопительных акций или скидки по условию) |
on_changed_notification_template_id | integer <int32> Идентификатор шаблона уведомления при изменении бонуса или скидки |
on_expiration_notification_template_id | integer <int32> Идентификатор шаблона уведомления при сгорании бонуса или скидки |
Array of objects (Root Type for LoyaltyCardType) Тип карт, для которых действует акция (по запросу) | |
object (Root Type for LoyaltyNotificationMessageTemplate) Шаблон уведомлений лояльности | |
object (Root Type for LoyaltyNotificationMessageTemplate) Шаблон уведомлений лояльности | |
Array of objects (Root Type for LoyaltyProgramRule) Правила для определения значения бонуса или скидки (допустимо только одно правило для фиксированных акций) (по запросу) | |
Array of objects (Company) Филиалы, в которых действует акция (по запросу) | |
Array of objects (Root Type for LoyaltyEntityAttendanceItem) Связанные сущности для выборочного применения акции (по запросу) |
{- "title": "Накопительная скидка для некоторых услуг и не для товаров",
- "allowed_service_ids": [
- 53,
- 92
], - "allowed_good_ids": [ ],
- "allowed_good_category_ids": [ ],
- "usage_limit": 0,
- "expiration_timeout": 6,
- "expiration_timeout_unit": "month",
- "expiration_notification_timeout": 7,
- "loyalty_card_type_ids": [
- 51,
- 29
], - "on_changed_notification_template": {
- "type": "custom",
- "body": "Ваша скидка изменилась"
}, - "on_expiration_notification_template": {
- "type": "big"
}, - "rules": [
- {
- "parameter": 10,
- "value": 2.5,
- "service_id": 0
}, - {
- "parameter": 30,
- "value": 7.5,
- "service_id": 0
}
], - "company_ids": [
- 49
]
}
{- "id": 34,
- "title": "Накопительная скидка для некоторых услуг и не для товаров",
- "type": "discount_accumulative_paid",
- "service_item_type": "custom_allowed",
- "good_item_type": "not_allowed",
- "value_unit": "percent",
- "usage_limit": 0,
- "visit_multiplicity": 0,
- "sold_items_multiplicity": 0,
- "expiration_timeout": 6,
- "expiration_timeout_unit": "month",
- "expiration_notification_timeout": 7,
- "params_source_type": "chain",
- "history_start_date": 1516147200,
- "on_changed_notification_template_id": 55,
- "on_expiration_notification_template_id": 84,
- "loyalty_card_types": [
- {
- "id": 51,
- "title": "Тип карты 1"
}, - {
- "id": 29,
- "title": "Тип карты 2"
}
], - "on_changed_notification_template": {
- "id": 55,
- "type": "custom",
- "body": "Ваша скидка изменилась",
- "message_type": "loyalty_discount_changed"
}, - "on_expiration_notification_template": {
- "id": 84,
- "type": "big",
- "body": "Подробный текст о сгорании скидки",
- "message_type": "loyalty_discount_expiration"
}, - "rules": [
- {
- "id": 94,
- "parameter": 10,
- "value": 2.5,
- "loyalty_program_id": 34,
- "loyalty_type_id": 3,
- "service_id": 0
}, - {
- "id": 74,
- "parameter": 30,
- "value": 7.5,
- "loyalty_program_id": 34,
- "loyalty_type_id": 3,
- "service_id": 0
}
], - "companies": [
- {
- "id": 49,
- "title": "Филиал",
- "country": "Россия",
- "country_id": 5,
- "city": "Москва",
- "city_id": 83,
- "phone": "7912345678",
- "timezone": "Europe/Moscow",
- "address": "Адрес филиала",
- "coordinate_lat": 77.32,
- "coordinate_lng": 18.63
}
], - "applicable_items": [
- {
- "id": 53,
- "title": "Категория услуг 1",
- "is_service": true,
- "is_category": true
}, - {
- "id": 92,
- "title": "Категория услуг 2",
- "is_service": true,
- "is_category": true
}
]
}
chain_id required | integer Идентификатор сети |
loyalty_program_id required | integer Идентификатор акции |
include | string Enum: "applicable_items" "rules" "companies" "loyalty_card_types" "on_changed_notification_template" "on_expiration_notification_template" Включить в ответ дополнительные ресурсы |
chain_id required | integer Идентификатор сети |
created_after required | string <date> Дата начала выборки в формате Y-m-d |
created_before required | string <date> Дата окончания выборки в формате Y-m-d |
types | Array of strings Items Enum: "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" Типы транзакций лояльности, включенные в выборку: 1 - Скидка по акции, 2 - Начисление по программе лояльности, 3 - Списание с карты лояльности, 4 - Начисление по реферальной программе, 5 - Ручное пополнение, 6 - Ручное списание, 7 - Списание просроченных баллов, 8 - Списание с сертификата, 9 - Использование абонемента, 10 - Перерасчет стоимости по абонементу, 11 - Списание с личного счета |
company_ids | Array of integers Идентификаторы филиалов транзакций лояльности, включенные в выборку |
visit_ids | Array of integers Идентификаторы визитов транзакций лояльности, включенные в выборку |
page | integer Страница выборки |
count | integer Количество результатов на одной странице выборки |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество элементов в ответе) |
{- "success": true,
- "data": [
- {
- "id": 0,
- "visit_id": 0,
- "status_id": 0,
- "amount": 0,
- "type_id": 0,
- "card_id": 0,
- "program_id": 0,
- "certificate_id": 0,
- "abonement_id": 0,
- "salon_group_id": 0,
- "item_id": 0,
- "item_type_id": 0,
- "item_record_id": 0,
- "goods_transaction_id": 0,
- "services_transaction_id": 0,
- "is_discount": true,
- "is_loyalty_withdraw": true,
- "type": {
- "id": 0,
- "title": "string"
}
}
], - "meta": {
- "count": 0
}
}
1
) - ID салона1
) - ID товара (сертификат/абонемент)company_id required | number Идентификатор филиала |
good_Id required | number Идентификатор товара (абонемент/сертификат) |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
object (LoyaltyGenerateCode200Option) | |
required | object (LoyaltyGenerateCode200DataOption) |
meta required | Array of objects |
success required | boolean |
object (LoyaltyGenerateCodeErrorOption) | |
required | object (LoyaltyGenerateCodeErrorMetaOption) |
success required | boolean |
object (LoyaltyGenerateCodeErrorOption) | |
required | object (LoyaltyGenerateCodeErrorMetaOption) |
success required | boolean |
{- "success": true,
- "data": {
- "code": "1"
}, - "meta": [ ]
}
Список типов абонементов, доступных в филиале, можно получить, сделав запрос с указанием идентификатора филиала.
Список можно отфильтровать по названию типа абонемента, передав параметр title
.
Поддерживается постраничный вывод, задаваемый параметрами page
и page_size
.
Список представляет собой массив типов абонементов.
Тип абонемента имеет следующую структуру:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор типа абонемента |
title | string | Название типа абонемента |
allow_freeze | boolean | Допускается ли заморозка абонементов? true - допускается, false - не допускается |
freeze_limit | number | Максимальный общий период заморозки (дни) |
salon_group_id | number | Идентификатор сети, в которой действует тип абонемента |
period | number | Срок действия абонемента (0, если не задан) |
period_unit_id | number | Единица измерения срока действия абонемента (список возможных значений, если не задан - 0) |
is_allow_empty_code | boolean | Разрешить продажу абонемента без кода? true - разрешить, false - не разрешать |
is_united_balance | boolean | Общий или раздельный баланс абонемента: true - общий, false - раздельный |
united_balance_services_count | number | Количество посещений для общего баланса |
Единицы измерения срока действия типа абонемента
Значение | Описание |
---|---|
1 | День |
2 | Неделя |
3 | Месяц |
4 | Год |
company_id required | number ID компании |
title | string Название типа абонемента |
page | number Номер страницы |
page_size | number Количество выводимых строк на странице. Максимум 100 |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Conetnt-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив с объектами данных | |
object Метаданные (содержит количество найденных типов абонементов) |
{- "success": true,
- "data": [
- {
- "id": 12233,
- "salon_group_id": 123,
- "title": "Абонемент с возможностью заморозки на 14 дней",
- "period": 0,
- "period_unit_id": 0,
- "allow_freeze": true,
- "freeze_limit": 14,
- "is_allow_empty_code": false,
- "is_united_balance": false,
- "united_balance_services_count": 0
}, - {
- "id": 255789,
- "salon_group_id": 456,
- "title": "Абонемент на 6 месяцев",
- "period": 6,
- "period_unit_id": 3,
- "allow_freeze": false,
- "freeze_limit": 0,
- "is_allow_empty_code": false,
- "is_united_balance": false,
- "united_balance_services_count": 0
}
], - "meta": {
- "count": 2
}
}
Список типов абонементов, доступных в филиале, можно получить, сделав запрос с указанием идентификатора филиала и идентификаторов типов абонементов.
Список представляет собой массив типов абонементов.
&ids[]={id}
company_id required | number ID компании |
ids[] | number ID типа абонемента (можно указать несколько дополнительными параметрами &ids[]={id} |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив с объектами данных | |
object Метаданные (содержит количество найденных типов абонементов) |
{- "success": true,
- "data": [
- {
- "id": 12233,
- "salon_group_id": 123,
- "title": "Абонемент с возможностью заморозки на 14 дней",
- "period": 0,
- "period_unit_id": 0,
- "allow_freeze": true,
- "freeze_limit": 14,
- "is_allow_empty_code": false,
- "is_united_balance": false,
- "united_balance_services_count": 0
}
], - "meta": {
- "count": 1
}
}
Список типов сертификатов, доступных в филиале, можно получить, сделав запрос с указанием идентификатора филиала.
Список можно отфильтровать по названию типа сертификата, передав параметр title
.
Поддерживается постраничный вывод, задаваемый параметрами page
и page_size
.
Список представляет собой массив типов сертификатов.
Тип сертификата имеет следующую структуру:
Поле | Тип | Описание |
---|---|---|
id | number | Идентификатор типа сертификата |
title | string | Название типа сертификата |
balance | number | Номинал сертификата |
is_multi | boolean | Тип списания: true - многократное списание, false - однократное списание |
company_group_id | number | Идентификатор сети, в которой действует тип сертификата |
item_type_id | number | Ограничение применения (список возможных значений) |
expiration_type_id | number | Ограничение срока действия (список возможных значений) |
expiration_date | string | Фиксированная дата сгорания в формате ISO8601 (null, если не задана) |
expiration_timeout | number | Срок действия сертификата с момента продажи (0, если не задан) |
expiration_timeout_unit_id | number | Единица измерения срока действия сертификата с момента продажи (список возможных значений, если не задан - 0) |
is_allow_empty_code | boolean | Разрешить продажу сертификата без кода? true - разрешить, false - не разрешать |
Ограничение применения типа сертификата
Значение | Описание |
---|---|
0 | Без ограничений |
1 | Любые услуги без товаров |
2 | Любые товары без услуг |
3 | Некоторые услуги без товаров |
4 | Некоторые услуги и любые товары |
Ограничение срока действия типа сертификата
Значение | Описание |
---|---|
0 | Без ограничения срока действия |
1 | Фиксированная дата для всех экземпляров |
2 | Фиксированный срок действия с момента продажи |
Единицы измерения срока действия типа сертификата
Значение | Описание |
---|---|
1 | День |
2 | Неделя |
3 | Месяц |
4 | Год |
company_id required | number ID компании |
title | string Название типа сертификата |
page | number Номер страницы |
page_size | number Количество выводимых строк на странице. Максимум 100 |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | integer Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных типов сертификатов) |
{- "success": true,
- "data": [
- {
- "id": 1,
- "title": "Сертификат с фиксированной датой сгорания без ограничений применения",
- "balance": 10,
- "is_multi": true,
- "company_group_id": 12,
- "item_type_id": 0,
- "expiration_type_id": 1,
- "expiration_date": 1482765943,
- "expiration_timeout": 0,
- "expiration_timeout_unit_id": 0,
- "is_allow_empty_code": true
}, - {
- "id": 11,
- "title": "Сертификат, действующий 6 месяцев с момента продажи на любые товары без услуг",
- "balance": 100,
- "is_multi": false,
- "company_group_id": 12,
- "item_type_id": 2,
- "expiration_type_id": 2,
- "expiration_timeout": 6,
- "expiration_timeout_unit_id": 3,
- "is_allow_empty_code": false
}
], - "meta": {
- "count": 2
}
}
Список типов сертификатов, доступных в филиале, можно получить, сделав запрос с указанием идентификатора филиала и идентификаторов типов сертификатов.
Список представляет собой массив типов сертификатов.
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных типов сертификатов) |
{- "success": true,
- "data": [
- {
- "id": 1,
- "title": "Сертификат с фиксированной датой сгорания без ограничений применения",
- "balance": 10,
- "is_multi": true,
- "company_group_id": 12,
- "item_type_id": 0,
- "expiration_type_id": 1,
- "expiration_date": 1482765943,
- "expiration_timeout": 0,
- "expiration_timeout_unit_id": 0,
- "is_allow_empty_code": true
}
], - "meta": {
- "count": 1
}
}
Метод позволяет получить список акций, которые активны для указанного филиала.
company_id required | number Идентификатор компании |
include | string Значение first_transaction_date добавляет в ответ дату первой транзакции по акции. |
type | string Enum: "discount_static" "discount_accumulative_visits" "discount_accumulative_sold" "discount_accumulative_paid" "cashback_static_sold" "cashback_static_paid" "cashback_accumulative_paid" "cashback_accumulative_sold" "cashback_accumulative_paid_visits" "cashback_accumulative_sold_visits" "cashback_sold_visits" "cashback_paid_visits" "package_discount" Тип акции |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer bearer_token, User user_token |
success | boolean Статус успешности выполнения. |
Array of objects Массив объектов с данными. | |
object Метаданные (содержит количество найденных объектов) |
{- "success": true,
- "data": [
- {
- "id": 53591,
- "title": "скидка 100р на Консультация по внедрению YCLIENTS",
- "type": "discount_static",
- "loyalty_type_id": 1,
- "item_type_id": 4,
- "service_item_type": "custom_allowed",
- "good_item_type": "any_allowed",
- "value_unit_id": 2,
- "value_unit": "amount",
- "group_id": 502054,
- "usage_limit": 0,
- "visit_multiplicity": 1,
- "sold_items_multiplicity": 1,
- "current_package_progress": 0,
- "allowed_usages_amount": 0,
- "expiration_timeout": 0,
- "expiration_timeout_unit": "day",
- "expiration_notification_timeout": 0,
- "params_source_type": "loyalty_card",
- "on_changed_notification_template_id": 0,
- "on_expiration_notification_template_id": 0
}
], - "meta": {
- "count": 1
}
}
Метод позволяет получить статистику по вернувшимся, новым и потерянным клиентам
company_id required | number Идентификатор компании |
date_to required | string Дата окончания периода |
date_from required | string Дата начала периода |
loyalty_program_id required | string Идентификатор акции |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer bearer_token, User user_token |
success | boolean Статус успешности выполнения |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "client_stats": {
- "new": {
- "all_count": 0,
- "lost_count": 0,
- "returned_count": 0,
- "returned_percent": 0
}, - "old": {
- "all_count": 0,
- "lost_count": 0,
- "returned_count": 0,
- "returned_percent": 0
}, - "total": {
- "all_count": 0,
- "lost_count": 0,
- "returned_count": 0,
- "returned_percent": 0
}
}, - "visits_stats_by_day": [
- {
- "date": 1625097600,
- "new_count": 0,
- "old_count": 0
}, - {
- "date": 1625184000,
- "new_count": 0,
- "old_count": 0
}
]
}, - "meta": [ ]
}
Метод позволяет получить статистику по выручке.
company_id required | number Идентификатор компании |
date_to required | string Дата окончания периода |
date_from required | string Дата начала периода |
loyalty_program_id required | string Идентификатор акции |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer bearer_token, User user_token |
success | boolean Статус успешности выполнения |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "income_stats": {
- "new": {
- "all_sum": 0,
- "returned_sum": 0
}, - "old": {
- "all_sum": 0,
- "returned_sum": 0
}, - "total": {
- "all_sum": 0,
- "returned_sum": 0
}
}, - "currency": {
- "id": 1,
- "iso": "RUB",
- "name": "Russian Ruble",
- "symbol": "₽",
- "is_symbol_after_amount": true
}, - "income_stats_by_day": [
- {
- "date": 1625097600,
- "new_sum": 0,
- "old_sum": 0
}, - {
- "date": 1625184000,
- "new_sum": 0,
- "old_sum": 0
}
]
}, - "meta": [ ]
}
Метод позволяет получить статистику возвращаемости по сотруднику
company_id required | number Идентификатор компании |
date_to required | string Дата окончания периода |
date_from required | string Дата начала периода |
loyalty_program_id required | string Идентификатор акции |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer bearer_token, User user_token |
success | boolean Статус успешности выполнения |
Array of objects Массив с объектами данных | |
object Метаданные (содержит количество найденных объектов) |
{- "success": true,
- "data": [
- {
- "client_stats": {
- "all_count": 1,
- "lost_count": 0,
- "returned_count": 1,
- "returned_percent": 100
}, - "staff": {
- "id": 1140369,
- "name": "Дониэлла Дэви"
}
}
], - "meta": {
- "count": 1
}
}
Возвращает список типов карт, которые действуют для данного филиала.
Атрибуты и их описания соответсвуют методу "Коллекция типов карт доступных клиенту", описанному выше.
company_id required | number Example: 12345 ID компании |
id | integer <int32> Идентификатор типа карты |
title | string Название типа карты |
salon_group_id | integer <int32> Идентификатор сети, где создан тип карты |
object Объект, содержащий в себе поля "id" и "title": идентификатор сети, где создан тип карты и название этой сети |
[- {
- "id": 10992,
- "title": "Кэшбек",
- "salon_group_id": 145071,
- "salon_group": {
- "id": 145071,
- "title": "Сеть 1"
}
}, - {
- "id": 8230,
- "title": "Реферальная программа",
- "salon_group_id": 145071,
- "salon_group": {
- "id": 145071,
- "title": "Сеть 1"
}
}
]
Возвращает список карт клиента с программами, которые активны в данном салоне
Атрибут | Тип | Описание |
---|---|---|
id | int | Идентификатор карты лояльности |
balance | decimal | Баланс карты лояльности |
paid_amount | decimal | Сумма "Оплачено" |
sold_amount | decimal | Сумма "Продано" |
visits_count | int | Количество визитов |
number | string | Номер карты |
type_id | int | Идентификатор типа карты лояльности |
salon_group_id | int | Идентификатор сети, где создана карта |
type | object | Объект, содержащий в себе поля "id" и "title": идентификатор типа карты и название типа карты, соотвественно |
salon_group | object | Объект, содержащий в себе поля "id" и "title": идентификатор сети, где создан тип карты и название этой сети |
programs | array | Массив с информацией об акциях, привязанных к карте лояльности |
rules | array | Массив с информацией о правилах, настроенных в акции |
Массив programs состоит из объектов со следующими полями:
Атрибут | Тип | Описание |
---|---|---|
id | int | Идентификатор акции |
title | string | Название акции |
loyalty_type_id | int | Идентификатор типа акции |
item_type_id | int | Начисляется ли кэшбек от товаров |
value_unit_id | int | Поле "Бонус". Скидка % или Фикс. сумма |
group_id | int | Идентифкатор сети, где создана акция |
loyalty_type | object | Объект с информацией о акции |
Массив rules состоит из объектов со следующими полями:
Атрибут | Тип | Описание |
---|---|---|
id | int | Идентификатор правила |
loyalty_program_id | int | Идентификатор акции, к которой привязано правило |
loyalty_type_id | int | Идентификатор типа акции |
value | decimal | Значение от которого сработает правило |
phone required | string Номер телефона клиента в формате 70001234567 |
group_id required | number ID сети |
company_id required | number ID филиала |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Идентификатор карты лояльности |
balance | number <float> Баланс карты лояльности |
points | integer <int32> |
paid_amount | number <float> Сумма "Оплачено" |
sold_amount | number <float> Сумма "Продано" |
visits_count | integer <int32> Количество визитов |
number | string Номер карты |
type_id | integer <int32> Идентификатор типа карты лояльности |
salon_group_id | integer <int32> Идентификатор сети, где создана карта |
object Объект, содержащий в себе поля "id" и "title": идентификатор типа карты и название типа карты, соотвественно | |
object Объект, содержащий в себе поля "id" и "title": идентификатор сети, где создан тип карты и название этой сети | |
Array of objects Массив с информацией об акциях, привязанных к карте лояльности |
{- "id": 9210520,
- "balance": 100,
- "points": 0,
- "paid_amount": 1000,
- "sold_amount": 1000,
- "visits_count": 1,
- "number": 14507109210520,
- "type_id": 10992,
- "salon_group_id": 145071,
- "type": {
- "id": 10992,
- "title": "5+2",
- "salon_group_id": 145071
}, - "salon_group": {
- "id": 145071,
- "title": "Сеть тесто1."
}, - "programs": [
- {
- "id": 18005,
- "title": "5+2",
- "value": 0,
- "loyalty_type_id": 13,
- "item_type_id": 3,
- "value_unit_id": 1,
- "group_id": 145071,
- "loyalty_type": {
- "id": 13,
- "title": "Скидка по заданному количеству накопленных услуг",
- "is_discount": true,
- "is_cashback": false,
- "is_static": false,
- "is_accumulative": false
}, - "rules": [
- {
- "id": 72803,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 20,
- "parameter": 0
}, - {
- "id": 72804,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 10,
- "parameter": 0
}, - {
- "id": 72805,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 100,
- "parameter": 0
}
]
}
]
}
Возвращает список карт клиента с программами, которые активны в данном салоне
Атрибуты в ответе на запрос полностью совпадают с методом "Получить список выданных карт по номеру телефона", описанным выше
client_id required | number ID клиента |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Идентификатор карты лояльности |
balance | number <float> Баланс карты лояльности |
points | integer <int32> |
paid_amount | number <float> Сумма "Оплачено" |
sold_amount | number <float> Сумма "Продано" |
visits_count | integer <int32> Количество визитов |
number | string Номер карты |
type_id | integer <int32> Идентификатор типа карты лояльности |
salon_group_id | integer <int32> Идентификатор сети, где создана карта |
object Объект, содержащий в себе поля "id" и "title": идентификатор типа карты и название типа карты, соотвественно | |
object Объект, содержащий в себе поля "id" и "title": идентификатор сети, где создан тип карты и название этой сети | |
Array of objects Массив с информацией об акциях, привязанных к карте лояльности |
{- "id": 9210520,
- "balance": 100,
- "points": 0,
- "paid_amount": 1000,
- "sold_amount": 1000,
- "visits_count": 1,
- "number": 14507109210520,
- "type_id": 10992,
- "salon_group_id": 145071,
- "type": {
- "id": 10992,
- "title": "5+2",
- "salon_group_id": 145071
}, - "salon_group": {
- "id": 145071,
- "title": "Сеть тесто1."
}, - "programs": [
- {
- "id": 18005,
- "title": "5+2",
- "value": 0,
- "loyalty_type_id": 13,
- "item_type_id": 3,
- "value_unit_id": 1,
- "group_id": 145071,
- "loyalty_type": {
- "id": 13,
- "title": "Скидка по заданному количеству накопленных услуг",
- "is_discount": true,
- "is_cashback": false,
- "is_static": false,
- "is_accumulative": false
}, - "rules": [
- {
- "id": 72803,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 20,
- "parameter": 0
}, - {
- "id": 72804,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 10,
- "parameter": 0
}, - {
- "id": 72805,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 100,
- "parameter": 0
}
]
}
]
}
Возвращает список карт авторизованного пользователя с программами, фильтруя карты по сети салонов/салону
group_id required | number ID сети |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Идентификатор карты лояльности |
balance | number <float> Баланс карты лояльности |
points | integer <int32> |
paid_amount | number <float> Сумма "Оплачено" |
sold_amount | number <float> Сумма "Продано" |
visits_count | integer <int32> Количество визитов |
number | string Номер карты |
type_id | integer <int32> Идентификатор типа карты лояльности |
salon_group_id | integer <int32> Идентификатор сети, где создана карта |
object Объект, содержащий в себе поля "id" и "title": идентификатор типа карты и название типа карты, соотвественно | |
object Объект, содержащий в себе поля "id" и "title": идентификатор сети, где создан тип карты и название этой сети | |
Array of objects Массив с информацией об акциях, привязанных к карте лояльности |
{- "id": 9210520,
- "balance": 100,
- "points": 0,
- "paid_amount": 1000,
- "sold_amount": 1000,
- "visits_count": 1,
- "number": 14507109210520,
- "type_id": 10992,
- "salon_group_id": 145071,
- "type": {
- "id": 10992,
- "title": "5+2",
- "salon_group_id": 145071
}, - "salon_group": {
- "id": 145071,
- "title": "Сеть тесто1."
}, - "programs": [
- {
- "id": 18005,
- "title": "5+2",
- "value": 0,
- "loyalty_type_id": 13,
- "item_type_id": 3,
- "value_unit_id": 1,
- "group_id": 145071,
- "loyalty_type": {
- "id": 13,
- "title": "Скидка по заданному количеству накопленных услуг",
- "is_discount": true,
- "is_cashback": false,
- "is_static": false,
- "is_accumulative": false
}, - "rules": [
- {
- "id": 72803,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 20,
- "parameter": 0
}, - {
- "id": 72804,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 10,
- "parameter": 0
}, - {
- "id": 72805,
- "loyalty_program_id": 18005,
- "loyalty_type_id": 13,
- "value": 100,
- "parameter": 0
}
]
}
]
}
Атрибут | Тип | Описание |
---|---|---|
loyalty_card_number | number | Номер карты лояльности |
loyalty_card_type_id | number | Идентификатор типа карты лояльности |
phone | number | Номер телефона клиента в формате 70001234567 |
company_id required | number ID филиала |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
loyalty_card_number | string Номер карты лояльности |
loyalty_card_type_id | string Идентификатор типа карты лояльности |
phone | number Номер телефона клиента в формате 70001234567 |
id | integer <int32> Идентификатор карты лояльности |
balance | number <float> Баланс карты лояльности |
points | integer <int32> |
paid_amount | number <float> Сумма "Оплачено" |
sold_amount | number <float> Сумма "Продано" |
visits_count | integer <int32> Количество визитов |
number | string Номер карты |
type_id | integer <int32> Идентификатор типа карты лояльности |
salon_group_id | integer <int32> Идентификатор сети, где создана карта |
object Объект, содержащий в себе поля "id" и "title": идентификатор типа карты и название типа карты, соотвественно | |
object Объект, содержащий в себе поля "id" и "title": идентификатор сети, где создан тип карты и название этой сети | |
Array of objects Массив с информацией об акциях, привязанных к карте лояльности |
{- "loyalty_card_number": 9090909,
- "loyalty_card_type_id": "8230",
- "phone": 79091552422
}
{- "id": 9250498,
- "balance": 0,
- "points": 0,
- "paid_amount": 16300,
- "sold_amount": 19320,
- "visits_count": 5,
- "number": "01010101",
- "type_id": 8230,
- "salon_group_id": 145071,
- "type": {
- "id": 8230,
- "title": "кешмеш",
- "salon_group_id": 145071
}, - "salon_group": {
- "id": 145071,
- "title": "Сеть тесто1."
}, - "programs": [
- {
- "id": 12720,
- "title": "накопительный кэш оплачено",
- "value": 10,
- "loyalty_type_id": 7,
- "item_type_id": 0,
- "value_unit_id": 1,
- "group_id": 145071,
- "loyalty_type": {
- "id": 7,
- "title": "Накопительный кэшбэк (оплачено)",
- "is_discount": false,
- "is_cashback": true,
- "is_static": false,
- "is_accumulative": true
}, - "rules": [
- {
- "id": 71149,
- "loyalty_program_id": 12720,
- "loyalty_type_id": 7,
- "value": 10,
- "parameter": 100
}
]
}
]
}
Ручное списание/пополнение карты лояльности в сети
chain_id required | number Example: 123 Идентификатор сети. |
card_id required | number ID карты лояльности |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
amount required | number Сумма списания/пополнения. Положительная для пополнения, отрицательная для списания. |
title | string Примечание к транзакции. |
success | boolean (Успешный статус запроса) Статус запроса. |
object (loyalty_card) Карта лояльности | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "amount": 100.5,
- "title": "string"
}
{- "success": true,
- "data": {
- "id": 0,
- "balance": 0,
- "points": 0,
- "paid_amount": 0,
- "sold_amount": 0,
- "visits_count": 0,
- "number": "string",
- "type_id": 0,
- "salon_group_id": 0,
- "max_discount_percent": 0,
- "max_discount_amount": 0
}, - "meta": { }
}
chain_id required | integer Идентификатор сети |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Идентификатор типа карты |
title | string Название типа карты |
[- {
- "id": 123,
- "title": "Тип карты лояльности"
}
]
Ручное списание/пополнение карты лояльности в компании
company_id required | number Example: 123 Идентификатор филиала. |
card_id required | number ID карты лояльности |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
amount required | number Сумма списания/пополнения. Положительная для пополнения, отрицательная для списания. |
title | string Примечание к транзакции. |
success | boolean (Успешный статус запроса) Статус запроса. |
object (loyalty_card) Карта лояльности | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "amount": 100.5,
- "title": "string"
}
{- "success": true,
- "data": {
- "id": 0,
- "balance": 0,
- "points": 0,
- "paid_amount": 0,
- "sold_amount": 0,
- "visits_count": 0,
- "number": "string",
- "type_id": 0,
- "salon_group_id": 0,
- "max_discount_percent": 0,
- "max_discount_amount": 0
}, - "meta": { }
}
Возвращает список типов карт, которые доступны для выдачи клиенту салона.
Атрибут | Тип | Описание |
---|---|---|
id | int | Идентификатор типа карты |
title | string | Название типа карты |
salon_group_id | int | Идентификатор сети, где создан тип карты |
salon_group | object | Объект, содержащий в себе поля "id" и "title": идентификатор сети, где создан тип карты и название этой сети |
company_id required | number Example: 12345 ID компании |
phone required | number Example: 70001234567 Номер телефона клиента |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Идентификатор типа карты |
title | string Название типа карты |
salon_group_id | integer <int32> Идентификатор сети, где создан тип карты |
object Объект, содержащий в себе поля "id" и "title": идентификатор сети, где создан тип карты и название этой сети |
[- {
- "id": 10992,
- "title": "Кэшбек",
- "salon_group_id": 145071,
- "salon_group": {
- "id": 145071,
- "title": "Сеть 1"
}
}, - {
- "id": 8230,
- "title": "Реферальная программа",
- "salon_group_id": 145071,
- "salon_group": {
- "id": 145071,
- "title": "Сеть 1"
}
}
]
Возвращает список сертификатов клиента по телефону
Атрибут | Тип | Описание |
---|---|---|
id | int | Идентификатор сертификата |
number | string | Код сертификата |
balance | decimal | Текущий баланс |
default_balance | decimal | Начальный баланс |
type_id | int | Идентификатор типа сертификата |
status_id | int | Идентификатор статуса |
created_date | datetime | Дата продажи |
expiration_date | datetime | Дата сгорания |
type | object | Объект с информацией о типе сертификата |
status | object | Объект с информацией о текущем статусе сертификата |
Массив type содержит следующие объекты:
Атрибут | Тип | Описание |
---|---|---|
id | int | Идентификатор типа сертификата |
title | string | Название типа |
balance | decimal | Номинал сертификата |
is_multi | boolean | Доступен ли для многократрного списания |
company_group_id | int | Идентификатор сети, где создан тип сертификата |
item_type_id | int | Ограничение применения списания баллов. 0 - без ограничений, 1 - Только услуги, 2 - Некоторые услуги + все товары, 3 - Некоторые услуги, 4 - Только товары |
expiration_type_id | int | Идентификатор ограничения срока действия. 0 - без ограничения, 1 - фиксированная дата, 2 - фиксированный срок |
expiration_date | datetime | Дата сгорания всех сертифкатов. Заполняется с expiration_type_id = 1 |
expiration_timeout | int | Срок действия сертифкатов. Заполняется с expiration_type_id = 2 |
expiration_timeout_unit_id | int | Единицы измерения времени. 1 - День, 2 - Неделя, 3 - месяц, 4 - год |
is_allow_empty_code | boolean | Продажа без кода |
item_type | object | Объект с item_type_id и его названием |
company_id required | number Идентификатор филиала |
phone required | number Номер телефона клиента |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных сертификатов) |
{- "success": true,
- "data": [
- {
- "id": 409726,
- "number": "888",
- "balance": 9000,
- "default_balance": 9000,
- "type_id": 27841,
- "status_id": 2,
- "created_date": "2020-01-01T15:30:21+04:00",
- "expiration_date": "2020-02-30T15:30:21+04:00",
- "type": {
- "id": 27841,
- "title": "сертификат 9000",
- "balance": 9000,
- "is_multi": true,
- "company_group_id": 128284,
- "item_type_id": 0,
- "expiration_type_id": 2,
- "expiration_timeout": 365,
- "expiration_timeout_unit_id": 1,
- "is_allow_empty_code": false,
- "item_type": {
- "id": 0,
- "title": "Без ограничений"
}
}, - "status": {
- "id": 2,
- "title": "Активирован"
}
}
], - "meta": {
- "count": 1
}
}
Возвращает список сертификатов авторизованного пользователя
company_id required | number Идентификатор филиала |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных сертификатов) |
{- "success": true,
- "data": [
- {
- "id": 409726,
- "number": "888",
- "balance": 9000,
- "default_balance": 9000,
- "type_id": 27841,
- "status_id": 2,
- "created_date": "2020-01-01T15:30:21+04:00",
- "expiration_date": "2020-02-30T15:30:21+04:00",
- "type": {
- "id": 27841,
- "title": "сертификат 9000",
- "balance": 9000,
- "is_multi": true,
- "company_group_id": 128284,
- "item_type_id": 0,
- "expiration_type_id": 2,
- "expiration_timeout": 365,
- "expiration_timeout_unit_id": 1,
- "is_allow_empty_code": false,
- "item_type": {
- "id": 0,
- "title": "Без ограничений"
}
}, - "status": {
- "id": 2,
- "title": "Активирован"
}
}
], - "meta": {
- "count": 1
}
}
Атрибут | Тип | Описание |
---|---|---|
is_frozen | boolean | Указывает заморожен ли абонемент |
freeze_period | int | Период, который абонемент был заморожен |
period | int | Значение срока действия абонемента |
period_unit_id | int | Идентификатор единиц измерения срока действия. 1 - день, 2 - неделя, 3 - месяц, 4 - год |
expiration_date | datetime | Дата сгорания абонемента |
status | int | Текущий статус абонемента |
balance_container | object | Объект включающий в себя массив links с информацией о балансе абонемента |
type | object | Объект с информацией о типе абонемента |
allow_freeze | boolean | Допускается ли заморозка (для объекта type) |
is_allow_empty_code | boolean | Допускается ли продажа без кода (для объекта type) |
chain_id required | number Example: 123 Идентификатор сети. |
abonementId required | number Example: 123 Идентификатор абонемента. |
freeze_till required | string Дата, до которой будет заморожен абонемент. |
{- "freeze_till": "string"
}
[- {
- "success": "true",
- "data": [
- {
- "id": 123,
- "number": 123456,
- "balance_string": "Услуги (х5)",
- "created_date": 1630064891,
- "activated_date": 1629792900,
- "is_frozen": false,
- "freeze_period": 0,
- "period": 0,
- "period_unit_id": 1,
- "status": {
- "id": 2,
- "title": "Активирован",
- "extended_title": "Активирован"
}, - "is_united_balance": false,
- "united_balance_services_count": 0,
- "balance_container": {
- "links": [
- {
- "count": 9,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Услуги"
}
}
]
}, - "type": {
- "id": 896,
- "salon_group_id": 279982,
- "title": "Абонемент на все",
- "period": 0,
- "period_unit_id": 1,
- "allow_freeze": true,
- "freeze_limit": 0,
- "is_allow_empty_code": true,
- "is_united_balance": false,
- "united_balance_services_count": 0,
- "is_code_required": false,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Услуги"
}
}
]
}
}
}
], - "meta": {
- "count": 1
}
}
]
chain_id required | number Example: 123 Идентификатор сети. |
abonementId required | number Example: 123 Идентификатор абонемента. |
[- {
- "success": "true",
- "data": [
- {
- "id": 123,
- "number": 123456,
- "balance_string": "Услуги (х5)",
- "created_date": 1630064891,
- "activated_date": 1629792900,
- "is_frozen": false,
- "freeze_period": 0,
- "period": 0,
- "period_unit_id": 1,
- "status": {
- "id": 2,
- "title": "Активирован",
- "extended_title": "Активирован"
}, - "is_united_balance": false,
- "united_balance_services_count": 0,
- "balance_container": {
- "links": [
- {
- "count": 9,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Услуги"
}
}
]
}, - "type": {
- "id": 896,
- "salon_group_id": 279982,
- "title": "Абонемент на все",
- "period": 0,
- "period_unit_id": 1,
- "allow_freeze": true,
- "freeze_limit": 0,
- "is_allow_empty_code": true,
- "is_united_balance": false,
- "united_balance_services_count": 0,
- "is_code_required": false,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Услуги"
}
}
]
}
}
}
], - "meta": {
- "count": 1
}
}
]
chain_id required | number Example: 123 Идентификатор сети. |
abonementId required | number Example: 123 Идентификатор абонемента. |
period required | number Длительность периода |
period_unit_id required | number Тип периода (1 - день, 2 - неделя, 3 - месяц, 4 - год) |
{- "period": 0,
- "period_unit_id": 0
}
[- {
- "success": "true",
- "data": [
- {
- "id": 123,
- "number": 123456,
- "balance_string": "Услуги (х5)",
- "created_date": 1630064891,
- "activated_date": 1629792900,
- "is_frozen": false,
- "freeze_period": 0,
- "period": 0,
- "period_unit_id": 1,
- "status": {
- "id": 2,
- "title": "Активирован",
- "extended_title": "Активирован"
}, - "is_united_balance": false,
- "united_balance_services_count": 0,
- "balance_container": {
- "links": [
- {
- "count": 9,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Услуги"
}
}
]
}, - "type": {
- "id": 896,
- "salon_group_id": 279982,
- "title": "Абонемент на все",
- "period": 0,
- "period_unit_id": 1,
- "allow_freeze": true,
- "freeze_limit": 0,
- "is_allow_empty_code": true,
- "is_united_balance": false,
- "united_balance_services_count": 0,
- "is_code_required": false,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Услуги"
}
}
]
}
}
}
], - "meta": {
- "count": 1
}
}
]
chain_id required | number Example: 123 Идентификатор сети. |
abonementId required | number Example: 123 Идентификатор абонемента. |
united_balance_services_count required | number Количество услуг для абонемента с объединенным балансом |
required | Array of objects Перечисление услуга-количество для абонемента с раздельным балансом |
{- "united_balance_services_count": 0,
- "services_balance_count": [
- {
- "service_id": 0,
- "balance": 0
}
]
}
[- {
- "success": false,
- "meta": {
- "message": "Нельзя изменить баланс"
}
}
]
chain_id required | number Example: 123 Идентификатор сети. |
created_after | string Example: created_after=1630454400 Дата создания с (фильтр по дате создания). |
created_before | string Example: created_before=1630454400 Дата создания по (фильтр по дате создания). |
abonements_ids | Array of numbers Список идентификаторов для фильтра. |
page | number Example: page=1 Номер страницы. |
count | number Example: count=25 Количество записей на странице. |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
[- {
- "success": "true",
- "data": [
- {
- "id": 123,
- "number": 123456,
- "balance_string": "Услуги (х5)",
- "created_date": 1630064891,
- "activated_date": 1629792900,
- "is_frozen": false,
- "freeze_period": 0,
- "period": 0,
- "period_unit_id": 1,
- "status": {
- "id": 2,
- "title": "Активирован",
- "extended_title": "Активирован"
}, - "is_united_balance": false,
- "united_balance_services_count": 0,
- "balance_container": {
- "links": [
- {
- "count": 9,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Услуги"
}
}
]
}, - "type": {
- "id": 896,
- "salon_group_id": 279982,
- "title": "Абонемент на все",
- "period": 0,
- "period_unit_id": 1,
- "allow_freeze": true,
- "freeze_limit": 0,
- "is_allow_empty_code": true,
- "is_united_balance": false,
- "united_balance_services_count": 0,
- "is_code_required": false,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Услуги"
}
}
]
}
}
}, - {
- "id": 720,
- "number": 208867,
- "balance_string": "Какие-то услуги (x10)",
- "created_date": 1630065019,
- "is_frozen": false,
- "freeze_period": 0,
- "period": 0,
- "period_unit_id": 1,
- "status": {
- "id": 3,
- "title": "Просрочен",
- "extended_title": "Просрочен"
}, - "is_united_balance": false,
- "united_balance_services_count": 0,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Какие-то услуги"
}
}
]
}, - "type": {
- "id": 897,
- "salon_group_id": 279982,
- "title": "Абонемент на все",
- "period": 0,
- "period_unit_id": 1,
- "allow_freeze": true,
- "freeze_limit": 0,
- "is_allow_empty_code": true,
- "is_united_balance": false,
- "united_balance_services_count": 0,
- "is_code_required": false,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 7182839,
- "category_id": 1,
- "title": "Какие-то услуги"
}
}
]
}
}
}
], - "meta": {
- "count": 2
}
}
]
Возвращает список абонементов клиента по телефону
company_id required | number Идентификатор филиала |
phone required | number Номер телефона клиента |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных абонементов) |
{- "success": true,
- "data": [
- {
- "id": 659878,
- "number": "788376",
- "balance_string": "Серфинг (x10)",
- "is_frozen": false,
- "freeze_period": 0,
- "period": 9999,
- "period_unit_id": 3,
- "status": {
- "id": 1,
- "title": "Выпущен",
- "extended_title": "Выпущен"
}, - "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 3129591,
- "category_id": 1,
- "title": "Серфинг"
}
}
]
}, - "type": {
- "id": 97804,
- "salon_group_id": 145071,
- "title": "89999",
- "period": 9999,
- "period_unit_id": 3,
- "allow_freeze": false,
- "freeze_limit": 0,
- "is_allow_empty_code": false,
- "is_united_balance": false,
- "united_balance_services_count": 0,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 3129591,
- "category_id": 1,
- "title": "Серфинг"
}
}
]
}
}
}
], - "meta": {
- "count": 1
}
}
Возвращает список абонементов авторизованного пользователя
company_id required | number Идентификатор филиала |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных абонементов) |
{- "success": true,
- "data": [
- {
- "id": 659878,
- "number": "788376",
- "balance_string": "Серфинг (x10)",
- "is_frozen": false,
- "freeze_period": 0,
- "period": 9999,
- "period_unit_id": 3,
- "status": {
- "id": 1,
- "title": "Выпущен",
- "extended_title": "Выпущен"
}, - "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 3129591,
- "category_id": 1,
- "title": "Серфинг"
}
}
]
}, - "type": {
- "id": 97804,
- "salon_group_id": 145071,
- "title": "89999",
- "period": 9999,
- "period_unit_id": 3,
- "allow_freeze": false,
- "freeze_limit": 0,
- "is_allow_empty_code": false,
- "is_united_balance": false,
- "united_balance_services_count": 0,
- "balance_container": {
- "links": [
- {
- "count": 10,
- "category": {
- "id": 3129591,
- "category_id": 1,
- "title": "Серфинг"
}
}
]
}
}
}
], - "meta": {
- "count": 1
}
}
Атрибут | Тип | Описание |
---|---|---|
loyalty_transactions | array | Массив с информацией о примененных транзакциях лояльности в визите |
is_discount | boolean | Является ли транзакцией скидки |
is_loyalty_withdraw | boolean | Является ли транзакцией списания баллов |
items | array | Массив с информацией о товарах и услугах записи |
payment_transactions | array | Массив с информацией о финансовых транзакциях записи |
kkm_transactions | object | Объект с информацией о ККМ транзакциях записи |
Применение акции к визиту, имеет смысл тольо если есть визит
company_id required | number ID филиала |
card_id required | number ID карты клиента |
program_id required | number ID акции, привязанной к карте |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
record_id required | number Идентификатор записи |
visit_id required | number Идентификатор визита |
payment_transactions | Array of objects Массив с информацией о финансовых транзакциях записи |
Array of objects Массив с информацией о примененных транзакциях лояльности в визите | |
object Объект с информацией о ККМ транзакциях записи | |
Array of objects Массив с информацией о товарах и услугах записи |
{- "record_id": 0,
- "visit_id": 0
}
{- "payment_transactions": [ ],
- "loyalty_transactions": [
- {
- "id": 22985556,
- "status_id": 1,
- "amount": 20,
- "type_id": 1,
- "program_id": 20802,
- "card_id": 9223622,
- "salon_group_id": 145071,
- "item_id": 5048384,
- "item_type_id": 7,
- "item_record_id": 0,
- "goods_transaction_id": 96063258,
- "is_discount": true,
- "is_loyalty_withdraw": false,
- "type": {
- "id": 1,
- "title": "Скидка по акции"
}
}
], - "kkm_transaction_details_container": {
- "last_operation_type": 1,
- "transactions": [ ]
}, - "items": [
- {
- "id": 96063258,
- "item_id": 5048384,
- "item_type_id": 7,
- "record_id": 0,
- "item_title": "тестовый два",
- "amount": 1,
- "first_cost": 20,
- "manual_cost": 20,
- "discount": 0,
- "cost": 20,
- "master_id": 548096,
- "good_id": 5048384,
- "service_id": 0,
- "event_id": 0,
- "is_service": false,
- "is_event": false,
- "is_good": true
}, - {
- "id": 0,
- "item_id": 2560779,
- "item_type_id": 1,
- "record_id": 140878948,
- "item_title": "Глубокое бикини",
- "amount": 1,
- "first_cost": 3000,
- "manual_cost": 3000,
- "discount": 0,
- "cost": 3000,
- "master_id": 140878948,
- "good_id": 0,
- "service_id": 2560779,
- "event_id": 0,
- "is_service": true,
- "is_event": false,
- "is_good": false
}
]
}
Отмена примененной к визиту акции.
company_id required | number ID филиала |
card_id required | number ID карты клиента |
program_id required | number ID акции, привязанной к карте |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
record_id required | number Идентификатор записи |
visit_id required | number Идентификатор визита |
payment_transactions | Array of objects Массив с информацией о финансовых транзакциях записи |
loyalty_transactions | Array of objects Массив с информацией о примененных транзакциях лояльности в визите |
object Объект с информацией о ККМ транзакциях записи | |
Array of objects Массив с информацией о товарах и услугах записи |
{- "payment_transactions": [ ],
- "loyalty_transactions": [ ],
- "kkm_transaction_details_container": {
- "last_operation_type": 1,
- "transactions": [ ]
}, - "items": [
- {
- "id": 96063258,
- "item_id": 5048384,
- "item_type_id": 7,
- "record_id": 0,
- "item_title": "тестовый два",
- "amount": 1,
- "first_cost": 20,
- "manual_cost": 20,
- "discount": 0,
- "cost": 20,
- "master_id": 548096,
- "good_id": 5048384,
- "service_id": 0,
- "event_id": 0,
- "is_service": false,
- "is_event": false,
- "is_good": true
}, - {
- "id": 0,
- "item_id": 2560779,
- "item_type_id": 1,
- "record_id": 140878948,
- "item_title": "Глубокое бикини",
- "amount": 1,
- "first_cost": 3000,
- "manual_cost": 3000,
- "discount": 0,
- "cost": 3000,
- "master_id": 140878948,
- "good_id": 0,
- "service_id": 2560779,
- "event_id": 0,
- "is_service": true,
- "is_event": false,
- "is_good": false
}
]
}
Списание бонусов с карты Сумма не будет превышать остаток на оплату Если 0 то транзакции не будет
company_id required | number ID филиала |
card_id required | number ID карты клиента |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
record_id required | number Идентификатор записи |
visit_id required | number Идентификатор визита |
amount required | number Количество баллов для списания |
payment_transactions | Array of objects Массив с информацией о финансовых транзакциях записи |
Array of objects Массив с информацией о примененных транзакциях лояльности в визите | |
object Объект с информацией о ККМ транзакциях записи | |
Array of objects Массив с информацией о товарах и услугах записи |
{- "payment_transactions": [ ],
- "loyalty_transactions": [
- {
- "id": 22985556,
- "status_id": 1,
- "amount": 20,
- "type_id": 1,
- "program_id": 20802,
- "card_id": 9223622,
- "salon_group_id": 145071,
- "item_id": 5048384,
- "item_type_id": 7,
- "item_record_id": 0,
- "goods_transaction_id": 96063258,
- "is_discount": true,
- "is_loyalty_withdraw": false,
- "type": {
- "id": 1,
- "title": "Скидка по акции"
}
}
], - "kkm_transaction_details_container": {
- "last_operation_type": 1,
- "transactions": [ ]
}, - "items": [
- {
- "id": 96063258,
- "item_id": 5048384,
- "item_type_id": 7,
- "record_id": 0,
- "item_title": "тестовый два",
- "amount": 1,
- "first_cost": 20,
- "manual_cost": 20,
- "discount": 0,
- "cost": 20,
- "master_id": 548096,
- "good_id": 5048384,
- "service_id": 0,
- "event_id": 0,
- "is_service": false,
- "is_event": false,
- "is_good": true
}, - {
- "id": 0,
- "item_id": 2560779,
- "item_type_id": 1,
- "record_id": 140878948,
- "item_title": "Глубокое бикини",
- "amount": 1,
- "first_cost": 3000,
- "manual_cost": 3000,
- "discount": 0,
- "cost": 3000,
- "master_id": 140878948,
- "good_id": 0,
- "service_id": 2560779,
- "event_id": 0,
- "is_service": true,
- "is_event": false,
- "is_good": false
}
]
}
Отмена списания с карты лояльности.
company_id required | number ID филиала |
card_id required | number ID карты клиента |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
record_id required | number Идентификатор записи |
visit_id required | number Идентификатор визита |
payment_transactions | Array of objects Массив с информацией о финансовых транзакциях записи |
loyalty_transactions | Array of objects Массив с информацией о примененных транзакциях лояльности в визите |
object Объект с информацией о ККМ транзакциях записи | |
Array of objects Массив с информацией о товарах и услугах записи |
{- "payment_transactions": [ ],
- "loyalty_transactions": [ ],
- "kkm_transaction_details_container": {
- "last_operation_type": 1,
- "transactions": [ ]
}, - "items": [
- {
- "id": 96063258,
- "item_id": 5048384,
- "item_type_id": 7,
- "record_id": 0,
- "item_title": "тестовый два",
- "amount": 1,
- "first_cost": 20,
- "manual_cost": 20,
- "discount": 0,
- "cost": 20,
- "master_id": 548096,
- "good_id": 5048384,
- "service_id": 0,
- "event_id": 0,
- "is_service": false,
- "is_event": false,
- "is_good": true
}, - {
- "id": 0,
- "item_id": 2560779,
- "item_type_id": 1,
- "record_id": 140878948,
- "item_title": "Глубокое бикини",
- "amount": 1,
- "first_cost": 3000,
- "manual_cost": 3000,
- "discount": 0,
- "cost": 3000,
- "master_id": 140878948,
- "good_id": 0,
- "service_id": 2560779,
- "event_id": 0,
- "is_service": true,
- "is_event": false,
- "is_good": false
}
]
}
Применение реферальной программы к визиту
company_id required | number ID филиала |
group_id required | number ID сети, где настроена реферальная программа |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
record_id required | number Идентификатор записи |
visit_id required | number Идентификатор визита |
referrer_phone required | number Номер телефона пригласившего |
payment_transactions | Array of objects Массив с информацией о финансовых транзакциях записи |
Array of objects Массив с информацией о примененных транзакциях лояльности в визите | |
object Объект с информацией о ККМ транзакциях записи | |
Array of objects Массив с информацией о товарах и услугах записи |
{- "payment_transactions": [ ],
- "loyalty_transactions": [
- {
- "id": 22989715,
- "status_id": 1,
- "amount": 100,
- "type_id": 1,
- "program_id": 12705,
- "card_id": 0,
- "salon_group_id": 145071,
- "item_id": 5048371,
- "item_type_id": 7,
- "item_record_id": 0,
- "goods_transaction_id": 96082477,
- "is_discount": true,
- "is_loyalty_withdraw": false,
- "type": {
- "id": 1,
- "title": "Скидка по акции"
}
}
], - "kkm_transaction_details_container": {
- "last_operation_type": 1,
- "transactions": [ ]
}, - "items": [
- {
- "id": 96082477,
- "item_id": 5048371,
- "item_type_id": 7,
- "record_id": 0,
- "item_title": "тестовый",
- "amount": 1,
- "first_cost": 1000,
- "manual_cost": 1000,
- "discount": 0,
- "cost": 1000,
- "master_id": 548042,
- "good_id": 5048371,
- "service_id": 0,
- "event_id": 0,
- "is_service": false,
- "is_event": false,
- "is_good": true
}
]
}
Список транзакций по акциям лояльнсти для данного визита
visit_id required | number ID визита |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | integer <int32> Идентификатор транзакции лояльности |
status_id | integer <int32> Идентификатор статуса |
amount | number <float> Сумма транзакции |
type_id | integer <int32> Идентификатор типа транзакции |
program_id | integer <int32> Идентификатор программы лояльности |
card_id | integer <int32> Идентификатор карты лояльности |
salon_group_id | integer <int32> Идентификатор сети, которой принадлежит лояльность |
item_id | integer <int32> Идентификатор товара/услуги, к которой применяется акция |
item_type_id | integer <int32> Идентификатор типа операции |
item_record_id | integer <int32> Идентификатор записи, которой принадлежит услуга/товар |
goods_transaction_id | integer <int32> Идентификатор товарной транзакции |
is_discount | boolean Является ли скидкой |
is_loyalty_withdraw | boolean Отменено ли применение лояльности |
object Тип лояльности | |
object Информация об акции |
[- {
- "id": 22989715,
- "status_id": 1,
- "amount": 100,
- "type_id": 1,
- "program_id": 12705,
- "card_id": 0,
- "salon_group_id": 145071,
- "item_id": 5048371,
- "item_type_id": 7,
- "item_record_id": 0,
- "goods_transaction_id": 96082477,
- "is_discount": true,
- "is_loyalty_withdraw": false,
- "type": {
- "id": 1,
- "title": "Скидка по акции"
}, - "program": {
- "id": 12705,
- "title": "приглашенный",
- "value": 10,
- "loyalty_type_id": 1,
- "item_type_id": 0,
- "value_unit_id": 1,
- "group_id": 145071
}
}, - {
- "id": 22994127,
- "status_id": 1,
- "amount": 100,
- "type_id": 4,
- "program_id": 19044,
- "card_id": 9234863,
- "salon_group_id": 145071,
- "item_id": 0,
- "item_type_id": 0,
- "item_record_id": 0,
- "goods_transaction_id": 0,
- "is_discount": false,
- "is_loyalty_withdraw": false,
- "type": {
- "id": 4,
- "title": "Начисление по реферальной программе"
}, - "program": {
- "id": 19044,
- "title": "пригласивший 2",
- "value": 100,
- "loyalty_type_id": 6,
- "item_type_id": 0,
- "value_unit_id": 2,
- "group_id": 145071
}
}
]
Объект бизнес-группы имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID категории |
title | string | Название категории |
image | string | Изображение группы |
types | array | Связанные бизнес-типы |
Объект бизнес-типа имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID типа |
title | string | Название типа |
business_group_id | number | ID бизнес-группы |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденых бизнес-типов) |
{- "success": true,
- "data": [
- {
- "id": 10,
- "title": "Бытовые услуги",
- "types": [
- {
- "id": 31,
- "title": "Ателье",
- "business_group_id": 10
}
]
}, - {
- "id": 1,
- "title": "Красота",
- "types": [
- {
- "id": 1,
- "title": "Салоны красоты",
- "business_group_id": 1
}, - {
- "id": 25,
- "title": "Спа салон",
- "business_group_id": 1
}
]
}
], - "meta": {
- "count": 10
}
}
Объект категории имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID категории |
salon_id | number | ID компании |
title | string | Название категории |
color | string | Цвет метки в формате #RRGGBB |
icon | string | Название иконки |
entity | number | Объект категории (1 - категория для клиентов, 2 - категория для записей) |
deleted | number | Метка удаления |
not_editable | number | Разрешены ли изменения категории (1 - разрешены, 0 - не разрешены) |
company_id required | number ID компании |
entity required | number Объект категории (0 - общие метки, 1 - метки клиентов, 2 - метки записей) |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
id | number Идентификатор категории |
salon_id | number Идентификатор филиала |
title | string Название категории |
color | string Цвет метки в формате #RRGGBB |
icon | string Название иконки |
entity | number Объект категории (1 - категория для клиентов, 2 - категория для записей) |
deleted | number Метка удаления |
not_editable | number Разрешены ли изменения категории (1 - разрешены, 0 - не разрешены) |
[- {
- "id": "241625",
- "salon_id": "68570",
- "title": "Сотрудник важен",
- "color": "#ff2828",
- "icon": "lock",
- "entity": "2",
- "deleted": "0",
- "not_editable": "1"
}, - {
- "id": "241626",
- "salon_id": "68570",
- "title": "Сотрудник не важен",
- "color": "#009800",
- "icon": "unlock",
- "entity": "2",
- "deleted": "0",
- "not_editable": "1"
}
]
company_id required | number ID компании |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title | string Название категории |
color | string Цвет метки в формате #RRGGBB |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
success | boolean Статус успешности выполнения (false) |
data | string Содержит null |
object Метаданные (содержит сообщение об ошибке) |
success | boolean Статус успешности выполнения (false) |
data | string Содержит null |
object Содержит массив с сообщениями о возможных ошибках |
success | boolean Статус успешности выполнения (false) |
data | string Содержит null |
object Содержит массив сообщений о возможных ошибках |
{- "success": true,
- "data": {
- "title": "Тестовая",
- "salon_id": 68570,
- "color": "#00ff11",
- "entity": 1,
- "id": "3599560"
}, - "meta": [ ]
}
company_id required | number ID компании |
title required | string Название категории |
color required | string Цвет метки в формате #RRGGBB |
entity | number Объект категории (0 - общие метки, 1 - метки клиентов, 2 - метки записей) |
icon | string Название иконки |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "title": "Тестовая",
- "salon_id": 68570,
- "color": "#00ff11",
- "entity": 1,
- "id": "3599560"
}, - "meta": [ ]
}
company_id required | number ID компании |
label_id required | number ID метки |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title | string Название категории |
color | string Цвет метки в формате #RRGGBB |
entity | number Объект категории (1 - категория для клиентов, 2 - категория для записей) |
icon | string Название иконки |
{- "title": "Тествая2",
- "color": "#aa11ff",
- "entity": 2,
- "icon": "Тест"
}
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
company_id required | number ID компании |
label_id required | number ID метки |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "meta": {
- "message": "Accepted"
}
}
company_id required | number ID филиала |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив с объектами данных | |
object Метаданные (содержит номер страницы и количество найденных категорий) |
success | boolean Статус успешности выполнения (false) |
data | string Содержит null |
object Содержит массив с сообщениями о возможных ошибках |
success | boolean Статус успешности выполнения (false) |
data | string Содержит null |
object Содержит массив сообщений о возможных ошибках |
{- "success": true,
- "data": [
- {
- "id": 3,
- "salon_id": 4564,
- "title": "Постоянный клиент",
- "color": "#1f1038",
- "icon": "tag",
- "entity": 1,
- "deleted": 1,
- "not_editable": 0
}
], - "meta": {
- "page": 1,
- "total_count": 25
}
}
Объект товара имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
title | string | Наименование товара |
value | string | Наименование товара |
print_title | string | Наименование товара для печати в чеке |
label | string | Наименование товара с артикулом (если имеется) |
good_id | number | Идентификатор товара |
cost | float | Цена продажи |
sale_unit_id | int | ID единицы измерения для продажи |
unit_short_title | string | Единица измерения для продажи |
service_unit_id | int | ID единицы измерения для списания |
service_unit_short_title | string | Единица измерения для списания |
actual_cost | float | Себестоимость |
unit_actual_cost | float | Себестоимость единицы |
unit_actual_cost_format | string | Формат себестоимости единицы |
unit_equals | float | Отношение единицы измерения для продажик еденице за списание |
barcode | string | Штрих-код |
critical_amount | float | Критчный остаток |
desired_amount | float | Желаемый остаток |
netto | float | Масса нетто |
brutto | float | Масса брутто |
tax_variant | int | СНО |
vat_id | int | НДС |
loyalty_abonement_type_id | int | Идентификатор тип абонемента (если товар является абонементом) |
loyalty_certificate_type_id | int | Идентификатор тип сертификата (если товар является сертификатом) |
loyalty_allow_empty_code | boolean | Разрешена ли продажа без кода |
actual_amounts | array | Остатки на складах |
is_barcode | number | Товар по штрих-коду |
last_change_date | string | Дата последнего изменения сущности |
comment | string | Комментарий |
Объект из actual_amounts имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
storage_id | number | ID склада |
amount | number | Количество |
Объекты из массива correction_rules имеют следующие поля:
Поле | Тип | Описание |
---|---|---|
type | int | Тип операции (1 - Продажа товара, 2 - Списание расходников, 3 - Приход товара, 4 - Списание товара, 5 - Перемещение товара) |
base_unit | string | Основная единица измерения при корректировке ("sale" - Для продажи, "service" - Для списания) |
Единицы измерения:
ID | Название | ID | Название | ID | Название |
---|---|---|---|---|---|
216760 | Штука | 216761 | Миллилитр | 216762 | Сертификат |
216763 | Грамм | 216764 | Упаковка | 216765 | Миллиграмм |
216766 | Сантиметр | 216767 | Микролитр | 216768 | Пара |
216769 | Метр | 216770 | Рулон | 216771 | Литр |
216772 | Флакон | 216773 | Единица | 216774 | Тюбик |
216775 | Минута | 216776 | Килограмм | 216777 | Ампула |
216778 | Банка | 216779 | Другое | 216780 | Коробка |
216781 | Набор | 216782 | Миллиметры | 216783 | Порция |
216784 | Линия | 216785 | Бутылка | 216786 | Шприц |
216787 | Процедура | 216788 | Лента | 216789 | Час |
216790 | Капсула | 216791 | Доза | 216792 | Рубль |
216793 | Километр | 216794 | Гривна | 216795 | Тенге |
216796 | Погонный метр |
Виды систем налогообложения:
ID | СНО |
---|---|
0 | Общая ОСН |
1 | Упрощенная УСН (Доход) |
2 | Упрощенная УСН (Доход минус Расход) |
3 | Единый налог на вмененный доход ЕНВД |
4 | Единый сельскохозяйственный налог ЕСН |
5 | Патентная система налогообложения |
Виды НДС:
ID | НДС |
---|---|
1 | 0% |
2 | 10% |
3 | 20% |
4 | Не облагается |
Метод позволяет создать товар
company_id required | number Идентификатор филиала |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Название товара |
print_title | string Название для печати в чеке |
article | string Артикул |
barcode | string Штрих-код |
category_id required | integer Идентификатор категории товара |
cost | number <float> Цена продажи |
actual_cost | number <float> Себестоимость |
sale_unit_id required | integer Единица измерения для продажи |
service_unit_id required | integer Единица измерения для списания |
unit_equals | number <float> Отношение ед.имзерения для продажи к ед.измерения для списания |
critical_amount | number <float> Критичный остаток |
desired_amount | number <float> Желаемый остаток |
netto | number <float> Масса нетто |
brutto | number <float> Масса брутто |
comment | string Комментарий |
tax_variant | integer Система налогообложения |
vat_id | integer НДС |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив с объектами данных | |
meta | Array of objects Метаданные (пустой массив) |
success | boolean Статус успешности выполнения |
data | string Содержит null |
object Содержит сообщение об ошибках |
{- "title": "Шампунь",
- "print_title": "Шампунь",
- "article": "123",
- "barcode": "123",
- "category_id": 289632,
- "cost": 1000,
- "actual_cost": 500,
- "sale_unit_id": 216762,
- "service_unit_id": 216762,
- "unit_equals": 100,
- "critical_amount": 1,
- "desired_amount": 1,
- "netto": 200,
- "brutto": 250,
- "comment": "Test comment 123",
- "tax_variant": 0,
- "vat_id": 3
}
{- "success": true,
- "data": [
- {
- "title": "Шампунь 1",
- "value": "Шампунь 1",
- "label": "Шампунь 1 (123)",
- "good_id": "123456",
- "cost": "100500",
- "unit_id": "4835",
- "unit_short_title": "шт",
- "service_unit_id": "3548",
- "service_unit_short_title": "гр",
- "actual_cost": "1050",
- "unit_actual_cost": "105",
- "unit_actual_cost_format": "105 р",
- "unit_equals": "10",
- "barcode": "123",
- "loyalty_abonement_type_id": 0,
- "loyalty_certificate_type_id": 0,
- "loyalty_allow_empty_code": 1,
- "critical_amount": 0,
- "desired_amount": 0,
- "actual_amounts": [
- {
- "storage_id": "987",
- "amount": "1000000"
}
], - "last_change_date": "2017-01-01T12:00:00+0400"
}
], - "meta": [ ]
}
term: Наименование, артикул или штрих-код
page (number, 1
) - Номер страницы (не используется, если передан good_id)
count (number, 25
) - Количество товаров на странице (не используется, если передан good_id)
category_id (number, 777
) - Id категории товаров (не используется, если передан good_id)
changed_after (string) - фильтрация товаров, измененных/созданных начиная с конкретной даты и времени (не используется, если передан good_id)
changed_before (string) - фильтрация товаров, измененных/созданных до конкретной даты и времени (не используется, если передан good_id)
company_id required | number ID компании |
good_id required | number ID товара (если нужно получить конкретный товар) |
term | string наименование, артикул или штрих-код |
page | number Example: page=1 номер страницы |
count | number Example: count=25 количество товаров на странице |
category_id | number Id категории товаров |
changed_after | string Example: changed_after=1483272000 фильтрация товаров, измененных/созданных начиная с конкретной даты и времени |
changed_before | string Example: changed_before=2017-01-01T12:00:00+0400 фильтрация товаров, измененных/созданных до конкретной даты и времени |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив с объектами данных | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "title": "Шампунь 1",
- "value": "Шампунь 1",
- "label": "Шампунь 1 (123)",
- "good_id": "123456",
- "cost": "100500",
- "unit_id": "4835",
- "unit_short_title": "шт",
- "service_unit_id": "3548",
- "service_unit_short_title": "гр",
- "actual_cost": "1050",
- "unit_actual_cost": "105",
- "unit_actual_cost_format": "105 р",
- "unit_equals": "10",
- "barcode": "123",
- "loyalty_abonement_type_id": 0,
- "loyalty_certificate_type_id": 0,
- "loyalty_allow_empty_code": 1,
- "critical_amount": 0,
- "desired_amount": 0,
- "actual_amounts": [
- {
- "storage_id": "987",
- "amount": "1000000"
}
], - "last_change_date": "2017-01-01T12:00:00+0400"
}
], - "meta": [ ]
}
Метод позволяет изменить параметры товара. При редактировании единиц измерения у товара, по которому уже имеются складские операции, необходимо добавлять массив правил пересчета единиц измерения - correction_rules. В ином случае, массив является необязательным.
company_id required | number Идентификатор филиала |
good_id required | number Идентификатор товара |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Название товара |
print_title | string Название для печати в чеке |
article | string Артикул |
barcode | string Штрих-код |
category_id required | integer Идентификатор категории товара |
cost | number <float> Цена продажи |
actual_cost | number <float> Себестоимость |
sale_unit_id required | integer Единица измерения для продажи |
service_unit_id required | integer Единица измерения для списания |
unit_equals | number <float> Отношение ед.имзерения для продажи к ед.измерения для списания |
critical_amount | number <float> Критичный остаток |
desired_amount | number <float> Желаемый остаток |
netto | number <float> Масса нетто |
brutto | number <float> Масса брутто |
comment | string Комментарий |
tax_variant | integer Система налогообложения |
vat_id | integer НДС |
Array of objects Массив правил пересчета единиц измерения (необходим, если по товару есть складские операциии) |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив с объектами данных | |
meta | Array of objects Метаданные (пустой массив) |
success | boolean Статус успешности выполнения |
data | string Содержит null |
object Объект с сообщением об ошибке |
success | boolean Статус успешности выполнения |
data | string Содержит null |
object Содержит сообщение об ошибках |
{- "title": "Шампунь",
- "print_title": "Шампунь",
- "article": "123",
- "barcode": "123",
- "category_id": 289632,
- "cost": 1000,
- "actual_cost": 500,
- "sale_unit_id": 216762,
- "service_unit_id": 216762,
- "unit_equals": 100,
- "critical_amount": 1,
- "desired_amount": 1,
- "netto": 200,
- "brutto": 250,
- "comment": "Test comment 123",
- "tax_variant": 0,
- "vat_id": 3,
- "correction_rules": [
- {
- "type": 1,
- "base_unit": "service"
}, - {
- "type": 2,
- "base_unit": "service"
}, - {
- "type": 3,
- "base_unit": "sale"
}, - {
- "type": 4,
- "base_unit": "sale"
}, - {
- "type": 5,
- "base_unit": "sale"
}
]
}
{- "success": true,
- "data": [
- {
- "title": "Шампунь 1",
- "value": "Шампунь 1",
- "label": "Шампунь 1 (123)",
- "good_id": "123456",
- "cost": "100500",
- "unit_id": "4835",
- "unit_short_title": "шт",
- "service_unit_id": "3548",
- "service_unit_short_title": "гр",
- "actual_cost": "1050",
- "unit_actual_cost": "105",
- "unit_actual_cost_format": "105 р",
- "unit_equals": "10",
- "barcode": "123",
- "loyalty_abonement_type_id": 0,
- "loyalty_certificate_type_id": 0,
- "loyalty_allow_empty_code": 1,
- "critical_amount": 0,
- "desired_amount": 0,
- "actual_amounts": [
- {
- "storage_id": "987",
- "amount": "1000000"
}
], - "last_change_date": "2017-01-01T12:00:00+0400"
}
], - "meta": [ ]
}
Метод позволяет удалить товар
company_id required | number Идентификатор филиала |
good_id required | number Идентификатор товара |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
Объект категории товаров имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | id категории |
title | string | Название категории |
parent_category_id | string | ID родительской категории |
Список товаров и товарных категорий можно получить, сделав запрос с указанием идентификатора филиала.
Список можно отфильтровать по названию или артикулу категории товаров, по названию, артикулу или штрихкоду товара, передав параметр search_term
.
Количество результатов ограничивается параметром max_count
.
Если search_term
не передан, выводится список корневых категорий филиала без учета max_count
. Если search_term
передан, сначала производится поиск по категориям, затем (если найдено меньше, чем max_count
) - по товарам
Список представляет собой массив элементов дерева товаров.
Элемент дерева товаров имеет следующую структуру:
Поле | Тип | Описание |
---|---|---|
parent_id | number | Идентификатор родительского элемента (0 для корневых элементов) |
item_id | number | Идентификатор товара (0, если элемент - категория) |
category_id | number | Идентификатор товарной категории (0, если элемент - товар) |
title | string | Название товара или товарной категории |
is_chain | boolean | Является ли элемент привязанным к сети? true - элемент привязан к сети, false - не привязан |
is_category | boolean | Является ли элемент категорией? true - категория, false - товар |
is_item | boolean | Является ли элемент товаром? true - товар, false - категория |
company_id required | number ID компании |
search_term | string Поисковый запрос по названию, артикулу или штрихкоду |
max_count | number Количество выводимых строк на странице. Максимум 100 |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив с объектами данных | |
object Метаданные (содержит количество найденных категорий) |
{- "success": true,
- "data": [
- {
- "parent_id": 0,
- "item_id": 0,
- "category_id": 123,
- "title": "Корневая категория 1",
- "is_chain": true,
- "is_category": true,
- "is_item": false
}, - {
- "parent_id": 0,
- "item_id": 0,
- "category_id": 456,
- "title": "Корневая категория 2",
- "is_chain": true,
- "is_category": true,
- "is_item": false
}
], - "meta": {
- "count": 2
}
}
##№ Состав товарной категории
Информацию по товарной категории и ее потомкам можно получить, сделав запрос с указанием идентификатора филиала и товарной категории.
Поддерживается постраничный вывод, задаваемый параметрами page
и count
.
Состав товарной категории имеет следующую структуру:
Поле | Тип | Описание |
---|---|---|
parent_id | number | Идентификатор родительского элемента (0 для корневых элементов) |
item_id | number | Идентификатор товара (всегда 0) |
category_id | number | Идентификатор товарной категории |
title | string | Название товарной категории |
is_chain | boolean | Является ли элемент привязанным к сети? true - элемент привязан к сети, false - не привязан |
is_category | boolean | Является ли элемент категорией? всегда true |
is_item | boolean | Является ли элемент товаром? всегда false |
children | Array of objects(Элемент дерева товаров) | Дочерние элементы товарной категории |
children_count | number | Полное число дочерних товаров и категорий (без рекурсии) |
company_id required | number ID компании |
category_id required | number ID товарной категории |
page | number Номер страницы |
count | number Количество выводимых товаров на странице. Максимум 1000 |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
object Объект с данными |
{- "success": true,
- "data": {
- "parent_id": 0,
- "item_id": 0,
- "category_id": 123,
- "title": "Корневая категория 1",
- "is_chain": false,
- "is_category": true,
- "is_item": false,
- "children": [
- {
- "parent_id": 123,
- "item_id": 0,
- "category_id": 456,
- "title": "Дочерняя категория",
- "is_chain": false,
- "is_category": true,
- "is_item": false
}, - {
- "parent_id": 123,
- "item_id": 789,
- "category_id": 0,
- "title": "Дочерний товар",
- "is_chain": false,
- "is_category": false,
- "is_item": true
}
], - "children_count": 2
}
}
company_id required | number ID компании |
parent_category_id required | number ID родительской категории товара. По умолчанию 0 - выводятся категории верхнего уровня (необязательный) |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": "1",
- "title": "Категория 1"
}, - {
- "id": "2",
- "title": "Категория 2"
}
], - "meta": [ ]
}
company_id required | number ID компании |
id | number ID товарной категории (можно указать несколько дополнительными параметрами &ids[]={id} |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": "1",
- "title": "Категория 1"
}, - {
- "id": "2",
- "title": "Категория 2"
}
], - "meta": [ ]
}
company_id required | number ID компании |
parent_category_id required | number ID родительской товарной категории |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": 25214,
- "title": "Doughter 1",
- "parent_category_id": 24843
}, - {
- "id": 25213,
- "title": "Root 1"
}, - {
- "id": 25219,
- "title": "Root 2"
}
], - "meta": {
- "count": 94
}
}
Метод позволяет создать категорию товаров.
company_id required | number Идентификатор филиала |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Название категории товаров |
parent_category_id | integer <int32> Инедтификатор родительской категории (параметр необязательный, но может принимать значение 0 или null, в случае, когда не нужно указывать родительскую категорию) |
article | string Артикул |
comment | string Комментарий |
success | boolean Статус успешности выполнения |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "title": "Маникюр",
- "parent_category_id": 123456,
- "article": "123article",
- "comment": "Категория товаров для маникюра"
}
{- "success": true,
- "data": {
- "id": 123456,
- "title": "Маникюр",
- "parent_category_id": 123457
}, - "meta": [ ]
}
Метод позволяет отредактировать категорию товаров
company_id required | number Идентификатор филиала |
category_id required | number Идентификатор категории товаров |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
title required | string Название категории товаров |
parent_category_id | integer <int32> Инедтификатор родительской категории (параметр необязательный, но может принимать значение 0 или null, в случае, когда не нужно указывать родительскую категорию) |
article | string Артикул |
comment | string Комментарий |
success | boolean Статус успешности выполнения |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "title": "Маникюр",
- "parent_category_id": 123456,
- "article": "123article",
- "comment": "Категория товаров для маникюра"
}
{- "success": true,
- "data": {
- "id": 123456,
- "title": "Маникюр",
- "parent_category_id": 123457
}, - "meta": [ ]
}
Метод позволяет удалить категорию товаров
company_id required | number Идентификатор филиала |
category_id required | number Идентификатор категории товаров |
Accept required | string e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
Объект технологической карты имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | id тех карты |
title | string | Название тех карты |
technological_card_items | array | Список расходников тех карты |
company_id required | number ID филиала |
search | string Example: search='test' параметр для поиска по названию тех карты |
page | number Example: page=1 номер страницы |
count | number Example: count=20 количество тех карт на странице |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объеков с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": "1",
- "title": "Тех карта 1",
- "technological_card_items": [
- {
- "id": 3,
- "technological_card_id": 1,
- "storage_id": 4234,
- "good_id": 34234,
- "amount": 12,
- "unit": "л",
- "price": 0.0742,
- "title": "Расходник 3"
}
]
}, - {
- "id": "2",
- "title": "Тех карта 2",
- "technological_card_items": [
- {
- "id": 4,
- "technological_card_id": 2,
- "storage_id": 4234,
- "good_id": 34235,
- "amount": 10,
- "unit": "л",
- "price": 0.02412,
- "title": "Расходник 4"
}
]
}
], - "meta": [ ]
}
company_id required | number ID филиала |
staffId required | number ID сотрудника |
serviceId required | number ID услуги |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объеков с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "id": "1",
- "title": "Тех карта 1",
- "technological_card_items": [
- {
- "id": 3,
- "technological_card_id": 1,
- "storage_id": 4234,
- "good_id": 34234,
- "amount": 12,
- "unit": "л",
- "price": 0.0742,
- "title": "Расходник 3"
}
]
}, - "meta": [ ]
}
company_id required | number ID филиала |
record_id required | number ID записи |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "service_id": 21558,
- "record_id": 1233243,
- "technological_cards": [
- {
- "id": 36069,
- "title": "Тех карта",
- "technological_card_items": [
- {
- "id": 208568,
- "technological_card_id": 36069,
- "storage_id": 91303,
- "good_id": 6858783,
- "amount": 10,
- "price": 1000,
- "good": {
- "id": 6858783,
- "title": "Товар",
- "unit": "г"
}
}
]
}
], - "consumables": [
- {
- "goods_transaction_id": 2180771,
- "record_id": 121793129,
- "service_id": 695486,
- "storage_id": 91303,
- "good_id": 6858783,
- "price": 1000,
- "amount": 10,
- "good": {
- "id": 6858783,
- "title": "Товар",
- "unit": "г"
}
}
]
}
], - "meta": [ ]
}
company_id required | number ID филиала |
record_id required | number ID записи |
service_id required | number ID услуги |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
delete_consumables | number удалить ли расходники вместе с удалением тех карты. По умолчанию 0 |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив с объектом | |
object Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "service_id": 7224099,
- "record_id": 310013764,
- "technological_cards": [ ],
- "consumables": [ ]
}
], - "meta": {
- "count": 1
}
}
company_id required | number ID филиала |
record_id required | number ID записи |
service_id required | number ID услуги |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
Array of objects Список расходников |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "consumables": [
- {
- "goods_transaction_id": 0,
- "record_id": 0,
- "service_id": 0,
- "storage_id": 0,
- "good_id": 0,
- "price": 0,
- "amount": 0
}
]
}
{- "success": true,
- "data": [
- {
- "service_id": 21558,
- "record_id": 1233243,
- "technological_cards": [
- {
- "id": 36069,
- "title": "Тех карта",
- "technological_card_items": [
- {
- "id": 208568,
- "technological_card_id": 36069,
- "storage_id": 91303,
- "good_id": 6858783,
- "amount": 10,
- "price": 1000,
- "good": {
- "id": 6858783,
- "title": "Товар",
- "unit": "г"
}
}
]
}
], - "consumables": [
- {
- "goods_transaction_id": 2180771,
- "record_id": 121793129,
- "service_id": 695486,
- "storage_id": 91303,
- "good_id": 6858783,
- "price": 1000,
- "amount": 10,
- "good": {
- "id": 6858783,
- "title": "Товар",
- "unit": "г"
}
}
]
}
], - "meta": [ ]
}
Объект товарной транзакции имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID транзакции |
document_id | number | ID документа |
type_id | number | ID типа транзакции |
type | string | Тип транзакции |
good | good | Товар |
storage | storage | Склад |
unit | unit | Единица измерения |
operation_unit_type | number | Тип единицы измерения: 1 - для продажи, 2 - для списания |
create_date | string | Дата создания |
last_change_date | string | Дата последнего изменения |
cost_per_unit | float | Цена за единицу |
cost | float | Цена |
discount | float | Скидка |
master | master | Сотрудник |
supplier | supplier | Поставщик |
service | service | Услуга |
client | client | Клиент |
Объект good имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID товара |
title | string | Наименование |
unit | string | Единица измерения |
value | string | Название товара |
label | string | Название товара |
article | string | Артикул |
category | string | Название категории товара |
category_id | number | Идентификатор категории товара |
salon_id | number | Идентификатор компании |
good_id | number | Идентификатор товара |
cost | float | Стоимость |
unit_id | number | Идентификатор единицы измерения |
unit_short_title | string | Сокращенное название единицы измерения |
service_unit_id | number | Идентификатор единицы измерения для услуги |
service_unit_short_title | string | Сокращенное название единицы измерения для услуги |
actual_cost | float | Себестоимость |
unit_actual_cost | float | Себестоимость за единицу |
unit_actual_cost_format | string | Формат себестоимости за единицу |
unit_equals | number | Значение единицы измерения |
barcode | string | Штрих-код |
loyalty_abonement_type_id | number | Идентификатор абонемента (если товар это абонемент) |
loyalty_certificate_type_id | number | Идентификатор сертификата (если товар это сертификат) |
good_special_number | string | Код абонемента\сертификата |
loyalty_allow_empty_code | number | Разрешена ли продажа без кода |
actual_amounts | array | Количество товара |
last_change_date | string | Дата последнего изменения товара |
Объект storage имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID склада |
title | string | Наименование |
Объект unit имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID склада |
title | string | Единица измерения |
Объект master имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID сотрудника |
title | string | Имя сотрудника |
Объект supplier имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID поставщика |
title | string | Имя поставщика |
Объект service имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID услуги |
title | string | Название услуги |
Объект client имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID клиента |
name | string | Имя клиента |
phone | string | Телефон клиента |
company_id required | number ID компании |
page | number Example: page=1 номер страницы |
count | number Example: count=20 количество транзакций на странице |
start_date | date Example: start_date=2020-01-01 дата начала периода |
end_date | date Example: end_date=2020-02-01 дата окончания периода |
document_id | string ID документа |
changed_after | ISO 8601 Example: changed_after=2020-01-01T00:00:00 Фильтрация товарных транзакций, измененных/созданных начиная с конкретной даты и времени |
changed_before | ISO 8601 Example: changed_before=2020-03-01T23:59:59 Фильтрация товарных транзакций, измененных/созданных до конкретной даты и времени |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": 123456789,
- "document_id": 22256643,
- "type_id": "987654321",
- "type": "Нечто",
- "good": {
- "id": "111222333",
- "title": "Something"
}, - "storage": {
- "id": "333222111",
- "title": "Storage 1"
}, - "unit": {
- "id": "333222111",
- "title": "миллилитр"
}, - "operation_unit_type": 1,
- "create_date": "2012-12-21T19:08:00+0400",
- "last_change_date": "2020-02-01T12:00:00+0400",
- "cost_per_unit": "1.07",
- "cost": "0.00",
- "discount": "10.00",
- "master": {
- "id": "112233445",
- "title": "Василий Иванов"
}, - "supplier": {
- "id": "11112222",
- "title": "Best Supplier Ever"
}, - "record_id": 1,
- "service": {
- "id": "1234321",
- "title": "Услуга 4"
}, - "clients": {
- "id": "4321234",
- "name": "Джордж Смит",
- "phone": 79876543210
}
}
], - "meta": [ ]
}
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
document_id required | number <float> Идентификатор документа |
good_id required | number Идентификатор товара |
amount required | number Количество |
cost_per_unit required | number <float> Стоимость за единицу товара |
discount required | number Скидка в % |
cost required | number <float> Итоговая сумма транзакции |
operation_unit_type required | number тип единицы измерения: 1 - для продажи, 2 - для списания |
master_id | number Идентификатор мастера, продавшего товар |
client_id | number Идентификатор клиента, купившего товар |
supplier_id | number Идентификатор поставщика |
comment | string Комментарий |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "document_id": 22254960,
- "good_id": 232674,
- "amount": 1,
- "cost_per_unit": 100,
- "discount": 10,
- "cost": 90,
- "operation_unit_type": 1,
- "master_id": 26781,
- "client_id": 0,
- "supplier_id": 0,
- "comment": "Transaction comment"
}
{- "success": true,
- "data": {
- "id": 3428010,
- "document_id": 22254960,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Продажа товара"
}, - "company_id": 4564,
- "good_id": 232674,
- "amount": -1,
- "cost_per_unit": 100,
- "discount": 10,
- "cost": 90,
- "unit_id": 1,
- "storage_id": 36539,
- "supplier_id": 0,
- "client_id": 0,
- "master_id": 26781,
- "create_date": 1493157001,
- "last_change_date": "2020-02-01T12:00:00+0400",
- "comment": "Transaction comment",
- "deleted": false,
- "good": {
- "id": 232674,
- "title": "Edition De Luxe"
}, - "storage": {
- "id": 36539,
- "title": "Товары"
}, - "supplier": [ ],
- "client": [ ],
- "master": {
- "id": "26781",
- "name": "Анджелина Джоли"
}, - "unit": {
- "id": 1,
- "title": "Штука"
}
}, - "meta": [ ]
}
company_id required | number ID компании |
transaction_id required | number ID транзакции |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "id": 3428010,
- "document_id": 22254960,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Продажа товара"
}, - "company_id": 4564,
- "good_id": 232674,
- "amount": -1,
- "cost_per_unit": 100,
- "discount": 10,
- "cost": 90,
- "unit_id": 1,
- "storage_id": 36539,
- "supplier_id": 0,
- "client_id": 0,
- "master_id": 26781,
- "create_date": 1493157001,
- "comment": "Transaction comment",
- "deleted": false,
- "good": {
- "id": 232674,
- "title": "Edition De Luxe",
- "unit": "шт.",
- "value": "удалить гг",
- "label": "удалить гг",
- "article": "",
- "category": "Гусиная категория",
- "category_id": 303603,
- "salon_id": 91372,
- "good_id": 15086312,
- "cost": 500,
- "unit_id": 216760,
- "unit_short_title": "шт",
- "service_unit_id": 216760,
- "service_unit_short_title": "шт",
- "actual_cost": 0,
- "unit_actual_cost": 0,
- "unit_actual_cost_format": "0 ₽",
- "unit_equals": 1,
- "barcode": "",
- "loyalty_abonement_type_id": 0,
- "loyalty_certificate_type_id": 0,
- "loyalty_allow_empty_code": 1,
- "actual_amounts": [ ],
- "last_change_date": "2021-03-05T18:21:34+0400"
}, - "storage": {
- "id": 36539,
- "title": "Товары"
}, - "sale_unit": null,
- "service_unit": null,
- "supplier": [ ],
- "client": [ ],
- "master": {
- "id": "26781",
- "name": "Анджелина Джоли"
}, - "unit": {
- "id": 1,
- "title": "Штука",
- "short_title": "шт."
}
}, - "meta": [ ]
}
transaction_id required | number ID транзакции |
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
document_id required | number <float> Идентификатор документа |
good_id required | number Идентификатор товара |
amount required | number Количество |
cost_per_unit required | number <float> Стоимость за единицу товара |
discount required | number Скидка в % |
cost required | number <float> Итоговая сумма транзакции |
operation_unit_type required | number тип единицы измерения: 1 - для продажи, 2 - для списания |
master_id | number Идентификатор мастера, продавшего товар |
client_id | number Идентификатор клиента, купившего товар |
supplier_id | number Идентификатор поставщика |
comment | string Комментарий |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "id": 3428010,
- "document_id": 22254960,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Продажа товара"
}, - "company_id": 4564,
- "good_id": 232674,
- "amount": -1,
- "cost_per_unit": 100,
- "discount": 10,
- "cost": 90,
- "unit_id": 1,
- "operation_unit_type": 1,
- "storage_id": 36539,
- "supplier_id": 0,
- "client_id": 0,
- "master_id": 26781,
- "create_date": 1493157001,
- "last_change_date": "2020-02-01T12:00:00+0400",
- "comment": "Updated transaction comment",
- "deleted": false,
- "good": {
- "id": 232674,
- "title": "Edition De Luxe"
}, - "storage": {
- "id": 36539,
- "title": "Товары"
}, - "supplier": [ ],
- "client": [ ],
- "master": {
- "id": "26781",
- "name": "Анджелина Джоли"
}, - "unit": {
- "id": 1,
- "title": "Штука"
}
}, - "meta": [ ]
}
company_id required | number ID компании |
transaction_id required | number ID транзакции |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
Создание складской операции предполагает создание документа и нескольких товарных транзакций в рамках одного запроса к API.
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
type_id required | number Тип документа (1 продажа, 3 приход, 4 списание, 5 перемещение) |
comment | string Комментарий |
create_date required | string <date-time> Дата создания документа |
master_id | number Идентификатор мастера |
storage_id required | number Идентификатор склада |
goods_transactions required | Array of objects Массив объектов содержащих параметры транзакций, аналогично запросу на создание товарной транзакции |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "document": {
- "id": 22255506,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Продажа товара"
}, - "storage_id": 91271,
- "user_id": 999290,
- "company_id": 4564,
- "number": 1254,
- "comment": "test document comment",
- "create_date": 1493128800,
- "storage": {
- "id": 91271,
- "title": "Секретное место"
}, - "company": {
- "id": 4564,
- "title": "Бизнес образец",
- "country_id": 1,
- "city_id": 2,
- "timezone": 3,
- "address": "",
- "coordinate_lat": "25.247901",
- "coordinate_lon": "55.275397399999974",
- "zip": "",
- "phones": [ ],
- "site": ""
}, - "user": {
- "id": "999290",
- "name": "User name",
- "phone": "70000000001"
}
}, - "goods_transactions": [
- {
- "id": 3428012,
- "document_id": 22255506,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Продажа товара"
}, - "company_id": 4564,
- "good_id": 232674,
- "amount": -1,
- "cost_per_unit": 100,
- "discount": 10,
- "cost": 90,
- "unit_id": 1,
- "storage_id": 91271,
- "supplier_id": 0,
- "client_id": 0,
- "master_id": 0,
- "create_date": "2020-01-01 14:06:44",
- "comment": "test transaction comment",
- "deleted": false,
- "good": {
- "id": 232674,
- "title": "Edition De Luxe"
}, - "storage": {
- "id": 91271,
- "title": "Секретное место"
}, - "supplier": [ ],
- "client": [ ],
- "master": [ ],
- "unit": {
- "id": 1,
- "title": "Штука"
}
}
]
}, - "meta": [ ]
}
Документ операции является обьединяющей сущностью для товарных и финансовых транзакций
company_id required | number ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
type_id required | number Тип документа (1 продажа, 3 приход, 4 списание) |
comment | string Комментарий |
storage_id required | number Идентификатор склада |
create_date required | string <date-time> Дата проведения складской операции |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "type_id": 1,
- "comment": "Комментарий документа",
- "storage_id": 36539,
- "create_date": "2017-04-24 20:00:00"
}
{- "success": true,
- "data": {
- "id": 22255503,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Продажа товара"
}, - "storage_id": 36539,
- "user_id": 999290,
- "company_id": 4564,
- "number": 1251,
- "comment": "Document comment",
- "create_date": "2017-04-24 20:00:00",
- "storage": {
- "id": 36539,
- "title": "Товары"
}, - "company": {
- "id": 4564,
- "title": "Бизнес образец",
- "country_id": 1,
- "city_id": 2,
- "timezone": 3,
- "address": "",
- "coordinate_lat": "25.247901",
- "coordinate_lon": "55.275397399999974",
- "zip": "",
- "phones": [ ],
- "site": ""
}, - "user": {
- "id": "999290",
- "name": "User name",
- "phone": "70000000001"
}
}, - "meta": [ ]
}
company_id required | number ID компании |
document_id required | number ID документа |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "id": 22255503,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Продажа товара"
}, - "storage_id": 36539,
- "user_id": 999290,
- "company_id": 4564,
- "number": 1251,
- "comment": "Document comment",
- "create_date": "2017-04-24 20:00:00",
- "storage": {
- "id": 36539,
- "title": "Товары"
}, - "company": {
- "id": 4564,
- "title": "Бизнес образец",
- "country_id": 1,
- "city_id": 2,
- "timezone": 3,
- "address": "",
- "coordinate_lat": "25.247901",
- "coordinate_lon": "55.275397399999974",
- "zip": "",
- "phones": [ ],
- "site": ""
}, - "user": {
- "id": "999290",
- "name": "User name",
- "phone": "70000000001"
}
}, - "meta": [ ]
}
company_id required | number ID компании |
document_id required | number ID документа |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
type_id required | number Тип документа (1 продажа, 3 приход, 4 списание) |
comment | string Комментарий |
storage_id required | number Идентификатор склада |
create_date required | string <date-time> Дата проведения складской операции |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "id": 22255503,
- "type_id": 1,
- "type": {
- "id": 1,
- "title": "Продажа товара"
}, - "storage_id": 36539,
- "user_id": 999290,
- "company_id": 4564,
- "number": 1251,
- "comment": "Updated document comment",
- "create_date": "2017-04-24 20:00:00",
- "storage": {
- "id": 36539,
- "title": "Товары"
}, - "company": {
- "id": 4564,
- "title": "Бизнес образец",
- "country_id": 1,
- "city_id": 2,
- "timezone": 3,
- "address": "",
- "coordinate_lat": "25.247901",
- "coordinate_lon": "55.275397399999974",
- "zip": "",
- "phones": [ ],
- "site": ""
}, - "user": {
- "id": "999290",
- "name": "User name",
- "phone": "70000000001"
}
}, - "meta": [ ]
}
company_id required | number ID компании |
document_id required | number ID документа |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
document_id required | number ID документа |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": 9053737,
- "date": "2023-01-01 10:00:00",
- "type_id": 2640,
- "expense_id": 2640,
- "account_id": 35501,
- "amount": 434,
- "client_id": 4240788,
- "master_id": 0,
- "supplier_id": 0,
- "comment": "Transaction comment",
- "item_id": 0,
- "target_type_id": 0,
- "record_id": 0,
- "expense": {
- "id": 2640,
- "title": "Оказание корпоративных услуг"
}, - "account": {
- "id": 35501,
- "title": "Касса",
- "type_id": 0,
- "type": 0,
- "comment": "",
- "company_id": 4564
}, - "client": {
- "id": "4240788",
- "name": "Client",
- "phone": "71000000001"
}, - "master": [ ],
- "supplier": [ ]
}, - {
- "id": 9053738,
- "date": "2023-01-01 10:00:00",
- "type_id": 2640,
- "expense_id": 2640,
- "account_id": 35501,
- "amount": 434,
- "client_id": 4240788,
- "master_id": 0,
- "supplier_id": 0,
- "comment": "Transaction comment",
- "item_id": 0,
- "target_type_id": 0,
- "record_id": 0,
- "expense": {
- "id": 2640,
- "title": "Оказание корпоративных услуг"
}, - "account": {
- "id": 35501,
- "title": "Касса",
- "type_id": 0,
- "type": 0,
- "comment": "",
- "company_id": 4564
}, - "client": {
- "id": "4240788",
- "name": "Client",
- "phone": "71000000001"
}, - "master": [ ],
- "supplier": [ ]
}
], - "meta": [ ]
}
document_id required | number ID документа |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (количество найденных транзакций) |
{- "success": true,
- "data": [
- {
- "id": 3728232,
- "document_id": 22256643,
- "type_id": 1,
- "company_id": 4564,
- "good_id": 587018,
- "amount": -10,
- "cost_per_unit": 100,
- "discount": 0,
- "cost": 1000,
- "unit_id": 88272,
- "operation_unit_type": 1,
- "storage_id": 36539,
- "supplier_id": 0,
- "record_id": 0,
- "client_id": 0,
- "master_id": 49754,
- "create_date": 1499370120,
- "comment": "",
- "service_id": 0,
- "user_id": 3,
- "deleted": false,
- "pkg_amount": 0
}, - {
- "id": 3728233,
- "document_id": 22256643,
- "type_id": 1,
- "company_id": 4564,
- "good_id": 232674,
- "amount": -10,
- "cost_per_unit": 127.5,
- "discount": 0,
- "cost": 1275,
- "unit_id": 1,
- "operation_unit_type": 2,
- "storage_id": 36539,
- "supplier_id": 0,
- "record_id": 0,
- "client_id": 0,
- "master_id": 49754,
- "create_date": 1499370120,
- "comment": "",
- "service_id": 0,
- "user_id": 3,
- "deleted": false,
- "pkg_amount": 0
}
], - "meta": {
- "count": 2
}
}
Создание операции с личным счётом предполагает создание документа, транзакции с личным счётом и финансовой транзакции в рамках одного запроса к API.
salon_id required | number ID филиала |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
client_id required | number ID клиента, владельца личного счёта |
deposit_id required | number ID личного счёта |
amount required | number сумма пополнения |
master_id | number ID сотрудника |
account_id required | number ID кассы для оплаты |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "document": {
- "id": 1,
- "user_id": 1,
- "salon_id": 1,
- "type_id": 9,
- "type": {
- "id": 9,
- "title": "Пополнение счета (аванс)"
}, - "comment": "",
- "number": 1,
- "salon": {
- "id": 1,
- "title": "Филиал в Москве (Выползов 8)",
- "public_title": "Филиал в Москве (Выползов 8)",
- "business_group_id": 1,
- "business_type_id": 1,
- "country_id": 1,
- "city_id": 2,
- "timezone": 3,
- "timezone_name": "Europe/Moscow",
- "address": "Москва, Выползов переулок 8",
- "coordinate_lat": 55.7794763,
- "coordinate_lon": 37.6287021,
- "zip": "129090",
- "phone": "79169887573",
- "phones": [
- "79169887573",
- "79178335390"
], - "site": "",
- "allow_delete_record": true,
- "allow_change_record": true
}, - "user": {
- "id": 1,
- "name": "Вадим",
- "phone": "79169887573"
}
}, - "deposits_transactions": [
- {
- "id": 1,
- "salon_id": 1,
- "salon_group_id": 1,
- "document_id": 1,
- "deposit_id": 1,
- "deposit_type_id": 1,
- "master_id": 1,
- "user_id": 1,
- "amount": 100.5,
- "comment": "",
- "date_create": 1570982400,
- "deleted": false,
- "deposit": {
- "id": 1,
- "deposit_type_id": 1,
- "salon_group_id": 1,
- "initial_balance": 10000,
- "balance": 12239.56,
- "blocked": false,
- "date_create": 1569513600
}, - "deposit_type": {
- "id": 1,
- "salon_group_id": 1,
- "title": "Тип счета 1",
- "date_create": 1568988000,
- "deleted": false
}
}
], - "payment_transactions": [
- {
- "id": 1,
- "document_id": 1,
- "date": 1570993200,
- "type_id": 10,
- "expense_id": 10,
- "account_id": 1,
- "amount": 100.5,
- "client_id": 1,
- "master_id": 1,
- "supplier_id": 0,
- "comment": "",
- "item_id": 1,
- "target_type_id": 0,
- "record_id": 0,
- "goods_transaction_id": 0,
- "type": {
- "id": 10,
- "title": "Пополнение счета"
}
}
]
}, - "meta": [ ]
}
company_id required | number ID филиала |
client_id required | number ID клиента |
Accept | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
{- "success": true,
- "data": [
- {
- "deposit": {
- "id": 1,
- "salon_group_id": 1,
- "deposit_type_id": 1,
- "initial_balance": 0,
- "balance": 1000,
- "blocked": false,
- "date_create": 1575635420
}, - "deposit_type": {
- "id": 1,
- "salon_group_id": 1,
- "title": "Заголовок типа счета",
- "date_create": 1575635420,
- "deleted": false
}
}
], - "meta": {
- "count": 1
}
}
chain_id required | number ID сети |
balance_from | number Минимальный баланс для фильтрации |
balance_to | number Максимальный баланс для фильтрации |
page | number Номер страницы |
limit | number Количество элементов на странице |
Accept | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
{- "success": true,
- "data": [
- {
- "deposit": {
- "id": 1,
- "salon_group_id": 1,
- "deposit_type_id": 1,
- "initial_balance": 0,
- "balance": 1000,
- "blocked": false,
- "date_create": 1575635420
}, - "deposit_type": {
- "id": 1,
- "salon_group_id": 1,
- "title": "Заголовок типа счета",
- "date_create": 1575635420,
- "deleted": false
}, - "client": {
- "id": 1,
- "name": "Имя клиента",
- "phone": 71234567890
}
}
], - "meta": {
- "count": 1
}
}
chain_id required | number ID сети |
phone required | number Номер телефона клиента |
Accept | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
{- "success": true,
- "data": [
- {
- "deposit": {
- "id": 1,
- "salon_group_id": 1,
- "deposit_type_id": "1,",
- "initial_balance": 0,
- "balance": 1000,
- "blocked": false,
- "date_create": 1575635420
}, - "deposit_type": {
- "id": 1,
- "salon_group_id": 1,
- "title": "Заголовок типа счета",
- "date_create": 1575635420,
- "deleted": false
}
}
], - "meta": {
- "count": 1
}
}
chain_id required | number ID сети |
deposit_id required | number ID личного счета |
Accept | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
success | boolean (Успешный статус запроса) Статус запроса. |
Array of objects | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "success": true,
- "data": [
- {
- "deposit_transaction": {
- "id": 1,
- "salon_id": 1,
- "salon_group_id": 1,
- "user_id": 1,
- "amount": 100,
- "date_create": "2019-12-23T13:41:16.000000Z",
- "comment": "Пополнение",
- "deleted": false
}, - "deposit_transaction_type": {
- "id": 1,
- "title": "Пополнение"
}
}
], - "meta": { }
}
Объект страны имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID страны |
title | string | Краткое название страны |
full_title | string | Полное название страны |
phone_code | number | Телефонный код |
phone_template | string | Шаблон номера телефона страны |
phone_example | string | Пример номера телефона страны |
currency | string | Валюта |
exchange | float | Ставка обмена валют по отношению к рублю |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": "1",
- "title": "Россия",
- "full_title": "Российская Федерация",
- "phone_code": "7",
- "phone_template": "+7 xxx xxx-xx-xx",
- "phone_example": "+7 981 123 45-67",
- "currency": "₽",
- "exchange": "1"
}, - {
- "id": "2",
- "title": "Латвия",
- "full_title": "Латвийская Республика",
- "phone_code": "371",
- "phone_template": "+371 xx xxx xxx",
- "phone_example": "+371 21 654 987",
- "currency": "€",
- "exchange": "50"
}
], - "meta": [ ]
}
country_id | number ID страны, из которой нужно получить города |
company_id | number ID филиала. Если передан, будет возвращен так же город филиала, независимо от того, относится он к указанной стране или нет |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": 2,
- "country_id": 1,
- "title": "Москва"
}, - {
- "id": 1,
- "country_id": 1,
- "title": "Санкт-Петербург"
}, - {
- "id": 1040,
- "country_id": 30,
- "title": "Belfast"
}, - {
- "id": 1201,
- "country_id": 38,
- "title": "București"
}, - {
- "id": 1334,
- "country_id": 31,
- "title": "Budapest"
}
], - "meta": [ ]
}
Объект ответа имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
image_binded | boolean | Статус привязки изображений к сущности |
image_group | object | Объект группа изображений |
entity required | string Example: "master" название сущности (master/service) |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string form-data |
Authorization required | string Bearer partner_token, User user_token |
company_id | number ID салона для привязки изображения (для entity=service) |
service_id | number ID услуги для привязки изображения (для entity=service) |
master_id | number ID сотрудника для привязки изображения (для entity=master) |
image required | string передаваемое изображение (image/jpeg, image/png) |
object (ImageGroup) | |
required | object (ImageGroup) |
{- "success": true,
- "data": {
- "image_binded": false,
- "image_group ": {
- "id": 72256,
- "entity": "",
- "entity_id": 0,
- "images": {
- "basic": {
- "id": 186826,
- "width": 373,
- "height": 280,
- "type": "jpeg",
- "image_group_id": 72256,
- "version": "basic"
}
}
}
}, - "meta": [ ]
}
Объект ответа имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
success | boolean | Результат удаления |
entity required | string название сущности (master/service) |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string form-data |
Authorization required | string Bearer partner_token, User user_token |
image_group_id required | number ID группы изображения для удаления |
Объект сети салонов имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | Id сети салонов |
title | string | Название сети салонов |
companies | array | Список салонов сети |
access | object | Объект с правами доступа для управления сетью |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными |
{- "success": true,
- "data": [
- {
- "id": 509,
- "title": "Сеть салонов в Санкт-Петербурге",
- "companies": [
- {
- "id": 38726,
- "title": "Салон в Санкт-Петербурге (Лиговский пр. 73)"
}, - {
- "id": 39287,
- "title": "Салон в Санкт-Петербурге (Невский пр. 38)"
}
], - "access": {
- "settings_access": "1",
- "clients_access": "1",
- "users_access": "1",
- "loyalty_access": "1",
- "loyalty_cards_manual_transactions_access": "1",
- "network_services_access": "1"
}
}, - {
- "id": 508,
- "title": "Сеть салонов в Москве",
- "companies": [
- {
- "id": 38545,
- "title": "Салон в Москве (Тверская 33)"
}, - {
- "id": 38704,
- "title": "Салон в Москве (Гагарина пл. 27)"
}
], - "access": {
- "settings_access": "1",
- "clients_access": "1",
- "users_access": "1",
- "loyalty_access": "1",
- "loyalty_cards_manual_transactions_access": "1",
- "network_services_access": "1"
}
}
]
}
Метод позволяет получить основные показатели компании за выбранный период и сравнить с предыдущим периодом той же длительности
company_id required | number Идентификатор компании |
date_from required | string <date> Дата начала анализируемого периода |
date_to required | string <date> Дата окончания анализируемого периода (включается в отчет) |
staff_id | integer Идентификатор сотрудника компании, работу которого нужно анализировать |
position_id | integer Идентификатор должности компании для анализа работы всех сотрудников, относящихся к одной должности |
user_id | integer Идентификатор пользователя компании, работу которого нужно анализировать |
required | object (AnalyticsReportOverallStats) Сводные показатели |
meta required | Array of objects Метаданные |
success required | boolean Статус успешности выполнения (true) |
{- "data": {
- "income_total_stats": {
- "current_sum": "12.56",
- "previous_sum": "10.34",
- "change_percent": 21,
- "currency": {
- "symbol": "₽"
}
}, - "income_services_stats": {
- "current_sum": "12.56",
- "previous_sum": "10.34",
- "change_percent": 21,
- "currency": {
- "symbol": "₽"
}
}, - "income_goods_stats": {
- "current_sum": "12.56",
- "previous_sum": "10.34",
- "change_percent": 21,
- "currency": {
- "symbol": "₽"
}
}, - "income_average_stats": {
- "current_sum": "12.56",
- "previous_sum": "10.34",
- "change_percent": 21,
- "currency": {
- "symbol": "₽"
}
}, - "income_average_services_stats": {
- "current_sum": "12.56",
- "previous_sum": "10.34",
- "change_percent": 21,
- "currency": {
- "symbol": "₽"
}
}, - "fullness_stats": {
- "current_percent": 12.1,
- "previous_percent": 10.2,
- "change_percent": 18
}, - "record_stats": {
- "current_completed_count": 150,
- "current_completed_percent": 75,
- "current_pending_count": 30,
- "current_pending_percent": 15,
- "current_canceled_count": 20,
- "current_canceled_percent": 10,
- "current_total_count": 200,
- "previous_total_count": 180,
- "change_percent": 11
}, - "client_stats": {
- "total_count": 1000,
- "new_count": 50,
- "new_percent": 10,
- "return_count": 450,
- "return_percent": 90,
- "active_count": 500,
- "lost_count": 20,
- "lost_percent": 2
}
}, - "meta": [
- { }
], - "success": true
}
company_id required | number Идентификатор компании |
date_from required | string <date> Дата начала анализируемого периода |
date_to required | string <date> Дата окончания анализируемого периода (включается в отчет) |
staff_id | integer Идентификатор сотрудника компании, работу которого нужно анализировать |
position_id | integer Идентификатор должности компании для анализа работы всех сотрудников, относящихся к одной должности |
user_id | integer Идентификатор пользователя компании, работу которого нужно анализировать |
label | string Название ряда данных |
data | Array of integers (AnalyticsReportOverallChartDailyRowItem) [ items <int32 >[ items <int32 > ] ] Данные за каждый день. Каждый день - это массив из двух чисел. Первое число - timestamp начала дня в зоне UTC, второе число - значение показателя в этот день. |
[- {
- "label": "Выручка",
- "data": [
- [
- 1635465600000,
- 1000
], - [
- 1635552000000,
- 500
]
]
}
]
company_id required | number Идентификатор компании |
date_from required | string <date> Дата начала анализируемого периода |
date_to required | string <date> Дата окончания анализируемого периода (включается в отчет) |
staff_id | integer Идентификатор сотрудника компании, работу которого нужно анализировать |
user_id | integer Идентификатор пользователя компании, работу которого нужно анализировать |
label | string Название ряда данных |
data | Array of integers (AnalyticsReportOverallChartDailyRowItem) [ items <int32 >[ items <int32 > ] ] Данные за каждый день. Каждый день - это массив из двух чисел. Первое число - timestamp начала дня в зоне UTC, второе число - значение показателя в этот день. |
[- {
- "label": "Количество записей",
- "data": [
- [
- 1635465600000,
- 1000
], - [
- 1635552000000,
- 500
]
]
}, - {
- "label": "Количество онлайн-записей",
- "data": [
- [
- 1635465600000,
- 1000
], - [
- 1635552000000,
- 500
]
]
}, - {
- "label": "Количество записей новых клиентов",
- "data": [
- [
- 1635465600000,
- 1000
], - [
- 1635552000000,
- 500
]
]
}
]
company_id required | number Идентификатор компании |
date_from required | string <date> Дата начала анализируемого периода |
date_to required | string <date> Дата окончания анализируемого периода (включается в отчет) |
staff_id | integer Идентификатор сотрудника компании, работу которого нужно анализировать |
user_id | integer Идентификатор пользователя компании, работу которого нужно анализировать |
label | string Название ряда данных |
data | Array of integers (AnalyticsReportOverallChartDailyRowItem) [ items <int32 >[ items <int32 > ] ] Данные за каждый день. Каждый день - это массив из двух чисел. Первое число - timestamp начала дня в зоне UTC, второе число - значение показателя в этот день. |
[- {
- "label": "Заполненность рабочего дня, %",
- "data": [
- [
- 1635465600000,
- 89.7
], - [
- 1635552000000,
- 91.2
]
]
}
]
company_id required | number Идентификатор компании |
date_from required | string <date> Дата начала анализируемого периода |
date_to required | string <date> Дата окончания анализируемого периода (включается в отчет) |
staff_id | integer Идентификатор сотрудника компании, работу которого нужно анализировать |
user_id | integer Идентификатор пользователя компании, работу которого нужно анализировать |
label | string Название показателя |
data | integer Значение показателя |
[- {
- "label": "Администратор",
- "data": 10
}, - {
- "label": "Виджет",
- "data": 30
}
]
company_id required | number Идентификатор компании |
date_from required | string <date> Дата начала анализируемого периода |
date_to required | string <date> Дата окончания анализируемого периода (включается в отчет) |
staff_id | integer Идентификатор сотрудника компании, работу которого нужно анализировать |
user_id | integer Идентификатор пользователя компании, работу которого нужно анализировать |
label | string Название показателя |
data | integer Значение показателя |
[- {
- "label": "Ожидание клиента",
- "data": 10
}, - {
- "label": "Клиент пришёл",
- "data": 30
}, - {
- "label": "Клиент подтвердил",
- "data": 5
}, - {
- "label": "Клиент не пришёл",
- "data": 2
}
]
Объект Z-Отчета имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
stats | stats | Общая статистика |
paids | paids | Оплаты |
z_data | z_data | Данные отчета |
currency | string | Валюта |
Объект stats имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
clients | integer | Количество клиентов |
clients_average | float | Среддняя оплата по клиентам |
records | integer | Количество записей |
records_average | float | Среддняя оплата по записям |
visit_records | integer | Количество записей с клиентами |
visit_records_average | float | Среддняя оплата по записям с клиентами |
non_visit_records | integer | Количество записей без клиентов |
non_visit_records_average | float | Среддняя оплата по записям без клиентов |
targets | integer | Количество услуг |
targets_paid | float | Оплата по услугам |
goods | integer | Количество товаров |
goods_paid | float | Оплата по товарам |
certificates | integer | Количество сертификатов |
certificates_paid | float | Оплата по сертификатам |
abonement | integer | Количество абонементов |
abonement_paid | float | Оплата по абонементам |
Объект paids имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
accounts | array of paid | Оплаты в кассы |
discount | array of paid | Оплата по скидке и лояльности |
total | total_paid | Итог |
Объект paid имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
title | string | Название кассы или тип скидки/лояльности |
amount | float | Сумма оплаты |
Объект total_paid имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
accounts | float | Общая сумма оплат в кассы |
discount | float | Общая сумма скидок/лояльности |
Объект z_data состоит из пар ключ-значение, где:
ключ - дата;
значение - объект client;
Объект client имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
client_id | integer | ID клиента (0, если клиент не из базы) |
client_name | string | Имя клиента |
client_phone | string | Номер телефона клиента |
client_email | string | Email клиента |
masters | array of master | Сотрудники |
Объект master имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
master_id | integer | ID сотрудника |
master_name | string | Имя сотрудника |
service | array of operation | Услуги |
good | array of operation | Товары |
others | operation | Другие операции |
Объект operation имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
item_title | string | Название услуги/товара |
first_cost | integer | Цена |
discount | integer | Скидка |
result_cost | integer | К оплате |
transactions | array of transaction | Оплаты |
Объект transaction имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
accounts_amount | integer | Оплачено в кассу |
loyalty_amount | integer | Оплачено по программе лояльности |
payment_type | string | Тип оплаты |
start_date: Дата отчета
master_id: ID сотрудника
company_id required | integer ID компании |
start_date | string Example: start_date='' дата начала периода |
master_id | integer Example: master_id=0 ID сотрудника |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "stats": {
- "clients": 7,
- "clients_average": 123.45,
- "records": 14,
- "records_average": 4231.51,
- "visit_records": 13,
- "visit_records_average": 100500.01,
- "non_visit_records": 1,
- "non_visit_records_average": 200,
- "targets": 14,
- "targets_paid": 10255,
- "goods": 4,
- "goods_paid": 12452.18,
- "certificates": 1,
- "certificates_paid": 9876,
- "abonement": 0,
- "abonement_paid": 0
}, - "paids": {
- "accounts": [
- {
- "title": "Карты",
- "amount": 6987
}, - {
- "title": "Наличные",
- "amount": 54321.13
}, - {
- "title": "Касса",
- "amount": 12531
}
], - "discount": [
- {
- "title": "Предварительная скидка",
- "amount": 1816.875
}, - {
- "title": "Списано бонусов",
- "amount": 800
}, - {
- "title": "Скидка по акциям",
- "amount": 123
}
], - "total": {
- "accounts": 2657.13,
- "discount": 1241.875
}
}, - "z_data": {
- "1481101200": [
- {
- "client_id": "11223344",
- "client_name": "John Smith",
- "client_phone": "+7 999 888-77-66",
- "client_email": "",
- "masters": [
- {
- "master_id": "321123",
- "master_name": "Robert Brown",
- "service": [
- {
- "item_title": "Мелирование от 9 прядей",
- "first_cost": 3500,
- "discount": 0,
- "result_cost": 3500,
- "transactions": [
- {
- "accounts_amount": 0,
- "loyalty_amount": 700,
- "payment_type": "Карта: Золотая карта"
}, - {
- "accounts_amount": 0,
- "loyalty_amount": 100,
- "payment_type": "Карта: Золотая карта"
}, - {
- "accounts_amount": 0,
- "loyalty_amount": 1,
- "payment_type": "Карта: Карта бонусная"
}
]
}
], - "good": [
- {
- "item_title": "Spray For Hair",
- "first_cost": 15,
- "discount": 2.25,
- "result_cost": 12.75,
- "transactions": [
- {
- "accounts_amount": 12.75,
- "loyalty_amount": 0,
- "payment_type": "Наличные"
}
]
}
], - "others": {
- "item_title": "Другие операции",
- "first_cost": 347,
- "discount": 0,
- "result_cost": 347,
- "transactions": [
- {
- "accounts_amount": 23,
- "loyalty_amount": 0,
- "payment_type": "Наличные"
}, - {
- "accounts_amount": 324,
- "loyalty_amount": 0,
- "payment_type": "Наличные"
}
]
}
}
]
}
]
}, - "currency": "₽"
}, - "meta": [ ]
}
Дополнительные поля позволяют добавлять к отдельным объектам системы свойства заданного типа и впоследствии привязывать к этим полям значения, соответствующие данному типу. На данный момент функционал реализован для Записей и Клиентов.
Объекты Дополнительных полей:
Поле | Тип | Описание |
---|---|---|
code | string | Код поля по которому устанавливаются значения для полей записи |
id | integer | Уникальный идентификатор поля |
type | CustomFieldType | Тип поля |
show_in_ui | boolean | Показывать ли поле в интерфейсе |
title | string | Название поля |
user_can_edit | boolean | Можно ли редактировать в интерфейсе |
values | array or null | Список допустимых значений для типа "список" |
На данный момент поддерживаются следующие типы (поле code):
text - строка длиной до 255 символов
number - число
select - список
date - Дата (Y-m-d)
datetime - Дата и время (Y-m-d H:i:s)
Следующие коды полей являются зарезервированными:
code | type | Описание |
---|---|---|
yc_partner_public_key | text | Используется для определения партнера при создании записи, является более приоритетным, чем Bearer-токен из авторизации |
field_category required | string Example: record Категория полей.
|
company_id required | integer ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": [
- {
- "id": 1,
- "salon_id": 1,
- "custom_field": {
- "id": 1,
- "code": "my_text_field",
- "show_in_ui": true,
- "title": "поле для теста",
- "user_can_edit": true,
- "type": {
- "code": "text",
- "title": "Текст"
}
}
}
], - "meta": [ ]
}
Для добавления поля пользователь должен быть добавлен в связанной с филиалом сети, и иметь права доступа в разделе:
Настройки - Доступ к разделу Дополнительные поля - Создание доп. полей
field_category required | string Example: record Категория полей.
|
company_id required | integer ID компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
type required | string Тип поля |
code required | string Идентификатор поля |
title required | string Название поля |
user_can_edit required | boolean Может ли пользователь редактировать поле |
show_in_ui required | boolean Показывать ли поле в интерфейсе |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "type": "text",
- "code": "my_text_field",
- "title": "поле для теста",
- "user_can_edit": true,
- "show_in_ui": true
}
{- "success": true,
- "data": {
- "id": 1,
- "salon_id": 1,
- "custom_field": {
- "id": 1,
- "code": "my_text_field",
- "show_in_ui": true,
- "title": "поле для теста",
- "user_can_edit": true,
- "type": {
- "code": "text",
- "title": "Текст"
}
}
}, - "meta": [ ]
}
Для добавления поля пользователь должен быть добавлен в связанной с филиалом сети, и иметь права доступа в разделе:
Настройки - Доступ к разделу Дополнительные поля - Изменение доп. полей
field_category required | string Example: record Категория полей.
|
company_id required | integer ID компании |
field_id required | integer ID поля |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
type required | string Тип поля |
code required | string Идентификатор поля |
title required | string Название поля |
user_can_edit required | boolean Может ли пользователь редактировать поле |
show_in_ui required | boolean Показывать ли поле в интерфейсе |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "type": "text",
- "code": "my_text_field",
- "title": "поле для теста",
- "user_can_edit": true,
- "show_in_ui": true
}
{- "success": true,
- "data": null,
- "meta": {
- "message": "Сохранено"
}
}
Для добавления поля пользователь должен быть добавлен в связанной с филиалом сети, и иметь права доступа в разделе:
Настройки - Доступ к разделу Дополнительные поля - Удаление доп. полей
field_category required | string Example: record Категория полей.
|
company_id required | integer ID компании |
field_id required | integer ID поля |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": null,
- "meta": {
- "message": "Удалено"
}
}
Для отправки SMS, оператору необходимо предоставить адрес (url_operator), на который будут уходить запросы описанные ниже. Авторизация запросов к API производится в соответствии с RFC 6749 "Resource Owner Password Credentials Grant". При запросах к API в HTTP заголовок Authorization должен быть включен ключ доступа в следущем формате: Ключ авторизации (partner_token) должен быть указан в настройках модуля уведомлений компании.
Authorization: Bearer <partner token>
В случае ошибки возвращается ее HTTP-код. В некоторых случаях также возвращается текстовое описание ошибки. Все методы API могут возвращать следующие коды ошибок:
Error code | Http status code | Название | Описание |
---|---|---|---|
5 | 400 | ENTITY_VALIDATION_ERROR | Тело запроса не прошло валидацию |
10 | 400 | FIELD_VALIDATION_ERROR | Параметр не прошел валидацию |
32 | 200 | FIELD_VALIDATION_ERROR | Недостаточно средств |
15 | 403 | ACCESS_FORBIDDEN | Действие недоступно, у приложения нет требуемых разрешений. |
20 | 401 | INVALID_PARTNER_TOKEN | partner_token отсутствует или невалиден |
30 | 404 | RESOURCE_NOT_FOUND | Ресурс по запрошенному пути не существует |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
destination_params required | object обьект, содержащий параметры ИД отправки и номер телефона |
from required | string имя отправителя |
text required | string текст отправления |
channel required | string Enum: "whatsapp" "sms" Канал отправки |
dispatch_type required | string тип рассылки (service - сервисная, adds - рекламная) |
delivery_callback_url required | string url, на который приходят статусы сообщений |
[- {
- "id": "232674",
- "ext_id": "609aff0fca92466d6a1747dd83f05943a8c9600d"
}, - {
- "id": "232674",
- "error_code": 32,
- "error_message": "explicit error message"
}
]
Номер | Название |
---|---|
1 | Доставлено |
2 | Не доставлено |
4 | Отправлено на телефон |
8 | Передано оператору |
16 | Отклонено оператором |
52 | Недостаточно средств |
В случае ошибки возвращается ее HTTP-код. В некоторых случаях также возвращается текстовое описание ошибки. Все методы API могут возвращать следующие коды ошибок:
Error code | Http status code | Название | Описание |
---|---|---|---|
5 | 400 | ENTITY_VALIDATION_ERROR | Тело запроса не прошло валидацию |
10 | 400 | FIELD_VALIDATION_ERROR | Параметр не прошел валидацию |
15 | 403 | ACCESS_FORBIDDEN | Действие недоступно, у приложения нет требуемых разрешений. |
20 | 401 | INVALID_PARTNER_TOKEN | partner_token отсутствует или невалиден |
30 | 404 | RESOURCE_NOT_FOUND | Ресурс по запрошенному пути не существует |
При отправке смс в запросе передается атрибут delivery_callback_url - это url, на который должны приходить статусы сообщений.
Используйте его для отправки статусов сообщений. Url, на который должны приходить статусы сообщений - https://yclients.com/smsprovider/status/callback/{partner_token}
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
id | string Идентификатор |
status | number Статус сообщения |
payment_sum | number Полная стоимость сообщения |
currency_iso | string ISO валюты платежа (например: RUB, EUR, BYN) |
parts_amount | number Количество частей сообщения |
[- {
- "id": "232674",
- "status": 1,
- "payment_sum": 4.54,
- "currency_iso": "RUB",
- "parts_amount": 2
}
]
{- "success": true
}
При наличии лицензии у компании объект лицензии имеет следующие поля:
Поле | Тип | Описание |
---|---|---|
id | number | ID лицензии |
salon_id | number | ID компании |
staff_limit | number | Количество сотрудников (0 - не ограничено) |
deactivation_date | string | Дата деактивации |
start_date | string | Дата начала лицензии |
name | string | Название тарифа лицензии |
active | boolean | Активность |
options | array | Массив подключенных опций |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
object (LicenseOption) | |
active required | number Активна ли лицензия |
deactivation_date required | string Дата окончания срока действия лицензии |
id required | number Идентификатор лицензии |
name required | string Наименование лицезнии |
options required | Array of objects Опции лицензии |
salon_id required | number Идентификатор компании |
staff_limit required | number Лимит сотрудников |
start_date required | string Дата начала срока действия лицензии |
{- "success": true,
- "data": {
- "id": 1,
- "salon_id": 4523464,
- "staff_limit": 5,
- "deactivation_date": "08.11.2019",
- "start_date": "07.05.2018",
- "name": "Старт",
- "active": 1,
- "options": [
- {
- "id": 3,
- "title": "Онлайн-оплата"
}
]
}, - "meta": [ ]
}
В соответствии с Федеральным законом №152-ФЗ «О персональных данных» от 27.07.2006 г. компании могут заполнить текст согласия на обработку персональных данных. Текст согласия отображается перед непосредственным подтверждением записи.
company_id required | number Идентификатор компании |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
{- "success": true,
- "data": {
- "agreement": {
- "content": "текст соглашения"
}
}, - "meta": [ ]
}
Происходит проверка переданного номера телефона на соответствие правилам YCLIENTS.
phone required | string Проверяемый номер телефона в формате |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
{- "success": true,
- "data": {
- "is_valid": true
}, - "meta": [ ]
}
Система YCLIENTS позволяет партнерам реализовывать API фискализации чеков. В систему добавляется партнер, реализовавший этот API. После этого у тех пользователей YCLIENTS, которые находятся в той же стране, что и партнер, появляется возможность выбрать этого партнера в списке возможных решений для фискализации чеков. Для того, чтобы партнер был добавлен в список возможных решений, он должен связаться с YCLIENTS посредством email: partner@yclients.tech.
YCLIENTS создает документ продажи, и отправляет его на сервер фискализации по адресу, указанному партнером. Отвечая на HTTP-запрос, сервер фискализации должен вернуть HTTP-ответ со статусом 200 в том случае, если документ успешно получен и передан в обработку, либо со статусом 400 в случае ошибки. Тело ответа должно содержать данные определенного формата, описывающие текущий статус документа. При обновлении статуса сервер фискализации должен отправить callback запрос с данными того же формата.
Документ продажи имеет следующую структуру:
Структура документа (json):
{
"id": "d72fece5-6825-4895-9395-0133195612a4",
"date": "2020-07-31T14:11:36+04:00",
"document_id": 239083104,
"type": "sale",
"print_receipt": true,
"customer": {
"email": "[email protected]",
"phone": "91111111111"
},
"positions": [
{
"type": "service",
"title": "Consultation",
"price": 10.5,
"quantity": 1.0,
"discount_amount": 2.5,
"vat": "ru_vat_10",
"payment_method": "payment",
"barcode": "12345"
}
],
"payments": [
{
"type": "card",
"sum": 5.5
},
{
"type": "cash",
"sum": 4.5
},
{
"type": "prepaid",
"sum": 0.5
}
],
"tax": "ru_osn",
"cashier": {
"uid": "4895-9395-0133195612a4",
"name": "John Smith",
"position": "Cashier"
},
"pos": {
"enabled": true,
"slip_count": 2
},
"callback_url": "https://yclients.com/api/v1/integration/kkm/callback/",
"custom_text": "some custom text"
}
Описание полей структуры документа:
Поле | Тип | Описание |
---|---|---|
id | integer | Уникальный идентификатор документа продажи |
date | string | Дата и время отправки документа на печать (в формате ISO-8601) |
document_id | integer | Внутренний идентификатор документа в системе YCLIENTS |
type | enum(string) | Тип документа (список возможных значений) |
print_receipt | boolean | Печатать ли бумажный чек на кассе при фискализации |
customer | object(Customer) | Сущность клиента |
positions | Array of objects(Position[]) | Список позиций в чеке |
payments | Array of objects(Payment[]) | Список оплат, применяемых на чек |
tax | enum(string) | Тип системы налогообложения (slug из списка систем налогообложения) |
cashier | object(Cashier) | Сущность кассира |
pos | object(POS) | Опции для подключенного POS-терминала |
callback_url | string | Ссылка для обновления статуса фискализации |
custom_text | string | null | Произвольный текст для печати на чеке |
Значение | Описание |
---|---|
sale | Приход |
return | Возврат прихода |
Сущность клиента имеет следующую структуру:
Поле | Тип | Описание |
---|---|---|
string | null | E-mail клиента | |
phone | string | null | Телефон клиента |
Позиция в чеке имеет следующую структуру:
Поле | Тип | Описание |
---|---|---|
type | enum(string) | Тип позиции ("service" — услуга / "commodity" — товар / "payment" — платеж) |
title | string | Название позиции |
price | float | Цена позиции с точностью 2 знака после запятой |
quantity | float | Количество |
discount_amount | float | Скидка, примененная к позиции с точностью 2 знака после запятой |
vat | enum(string) | Тип НДС (slug из списка НДС) |
payment_method | enum(string) | Признак расчета ("payment" — оплата / "prepayment" — предоплата) |
barcode | string | null | Штрихкод товара |
Оплата, применяемая на чек, имеет следующую структуру:
Поле | Тип | Описание |
---|---|---|
type | enum(string) | Тип оплаты ("card" - безналичная оплата / "cash" — оплата наличными / "prepaid" — предварительная оплата) |
sum | float | Сумма оплаты с точностью 2 знака после запятой |
Сущность кассира имеет следующую структуру:
Поле | Тип | Описание |
---|---|---|
id | string | Уникальный идентификатор кассира |
name | string | Имя кассира |
position | string | Должность кассира (максимальная длина строки – 64 символа) |
Опции для подключенного POS-терминала имеет следующую структуру:
Поле | Тип | Описание |
---|---|---|
enabled | boolean | Надо ли перед фискализацией принять карту через POS-терминал |
slip_count | integer | Количество чеков, которые необходимо распечатать после успешной транзакции по POS-терминалу |
Ответ, описывающий текущий статус документа, должен содержать идентификатор документа, текущий статус фискализации, соответствующий статусу код ответа, а также произвольное сообщение, которое может быть показано пользователю или использовано для отладки (например, сообщние об ошибке).
Ответ должен иметь следующую структуру:
Структура ответа (json):
{
"id": "d72fece5-6825-4895-9395-0133195612a4",
"status": "error",
"code": 2002,
"message": "Кассовое оборудование недоступно по причине..."
}
Описание полей структуры ответа:
Поле | Тип | Описание |
---|---|---|
id | integer | Уникальный идентификатор документа продажи |
status | enum(string) | Статус печати чека (список возможных значений) |
code | enum(integer) | Код ошибки (список возможных значений) |
message | string | Детальное сообщние, которое может быть показано пользователю (например, сообщние об ошибке) |
Статус pending должен быть отправлен в ответ на запрос фискализации документа в том случае, если документ успешно получен и находится в обработке. Статус success может быть отправлен в callback только при обновлении статуса документа, уже находящегося в статусе pending. В случае ошибки статус error может быть отправлен как в ответ на запрос фискализации документа, так и в callback
Значение | Описание |
---|---|
success | Документ успешно фискализирован (отрпавляется в callback) |
pending | Документ получен и находится в обработке (отправляется в ответ на запрос фискализации документа) |
error | Произошла ошибка |
Код ошибки (код результата обработки запроса)
Значение | Соответсвует статусу | Описание |
---|---|---|
0 | "success" | "pending" | Без ошибок |
1001 | "error" | Ошибка данных документа |
1002 | "error" | Ошибка в позициях документа |
1003 | "error" | Ошибка в оплатах документа |
1004 | "error" | Ошибка в данных клиента |
1005 | "error" | Ошибка в данных кассира |
2001 | "error" | Ошибка кассового оборудования |
2002 | "error" | Кассовое оборудование недоступно |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
id | string Уникальный идентификатор документа продажи |
date | string <date-time> Дата и время отправки документа на печать (в формате ISO-8601) |
document_id | integer <int32> Внутренний идентификатор документа в системе YCLIENTS |
type | string Enum: "sale" "return" Тип документа (список возможных значений) |
print_receipt | boolean Печатать ли бумажный чек на кассе при фискализации |
object Сущность клиента | |
Array of objects Список позиций в чеке | |
Array of objects Список оплат, применяемых на чек | |
tax | string Тип системы налогообложения (slug из списка систем налогообложения) |
object Сущность кассира | |
object Опции для подключенного POS-терминала | |
callback_url | string Ссылка для обновления статуса фискализации |
custom_text | string Произвольный текст для печати на чеке |
{- "id": "d72fece5-6825-4895-9395-0133195612a4",
- "date": 1596190296,
- "document_id": 239083104,
- "type": "sale",
- "print_receipt": true,
- "positions": [
- {
- "type": "service",
- "title": "Consultation",
- "price": 13.19,
- "quantity": 1,
- "discount_amount": 2.54,
- "vat": "ru_vat_10",
- "payment_method": "payment",
- "barcode": "12345"
}
], - "payments": [
- {
- "type": "card",
- "sum": 5.55
}, - {
- "type": "cash",
- "sum": 4.55
}, - {
- "type": "prepaid",
- "sum": 0.55
}
], - "tax": "ru_osn",
- "cashier": {
- "uid": "4895-9395-0133195612a4",
- "name": "John Smith",
- "position": "Cashier"
}, - "pos": {
- "enabled": true,
- "slip_count": 2
}, - "custom_text": "some custom text"
}
{- "id": "d72fece5-6825-4895-9395-0133195612a4",
- "status": "success",
- "code": 0,
- "message": "OK"
}
Список доступных для страны систем налогообложения и НДС можно получить, сделав запрос с указанием идентификатора страны, для которой необходимо получить список. Идентификатор страны можно получить из списка стран.
Список представляет собой массив систем налогообложения со вложенным массивом НДС для каждой системы налогообложения.
Cистема налогообложения имеет следующую структуру:
Поле | Тип | Описание |
---|---|---|
title | string | Название системы налогообложения |
slug | string | Кодовое название системы налогообложения |
vats | Array of objects(Vat[]) | Список доступных НДС для системы налогообложения |
НДС имеет следующую структуру:
Поле | Тип | Описание |
---|---|---|
title | string | Название НДС |
slug | string | Кодовое название НДС |
countryId required | number Example: 1 ID страны |
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных систем налогообложения) |
{- "success": true,
- "data": [
- {
- "title": "Общая ОСН",
- "slug": "ru_osn",
- "vats": [
- {
- "title": "0%",
- "slug": "ru_vat_0"
}, - {
- "title": "10%",
- "slug": "ru_vat_10"
}, - {
- "title": "20%",
- "slug": "ru_vat_20"
}, - {
- "title": "не облагается",
- "slug": "ru_vat_none"
}
]
}, - {
- "title": "Упрощенная УСН (Доход)",
- "slug": "ru_usn",
- "vats": [
- {
- "title": "не облагается",
- "slug": "ru_vat_none"
}
]
}, - {
- "title": "Упрощенная УСН (Доход минус Расход)",
- "slug": "ru_usnr",
- "vats": [
- {
- "title": "не облагается",
- "slug": "ru_vat_none"
}
]
}, - {
- "title": "Единый налог на вмененный доход ЕНВД",
- "slug": "ru_envd",
- "vats": [
- {
- "title": "не облагается",
- "slug": "ru_vat_none"
}
]
}, - {
- "title": "Единый сельскохозяйственный налог ЕСН",
- "slug": "ru_esn",
- "vats": [
- {
- "title": "не облагается",
- "slug": "ru_vat_none"
}
]
}, - {
- "title": "Патентная система налогообложения",
- "slug": "ru_psn",
- "vats": [
- {
- "title": "не облагается",
- "slug": "ru_vat_none"
}
]
}
], - "meta": {
- "count": 6
}
}
Accept required | string Example: application/vnd.yclients.v2+json e.g. application/vnd.yclients.v2+json |
Conetnt-Type required | string application/json |
Authorization required | string Bearer partner_token |
{ }
После визита клиенту отправляется ссылка на форму отзыва, где он может оценить качество оказанных услуг и оставить чаевые мастеру, если у него подключен кошелек
recordToken required | string Короткий токен записи |
success | boolean Статус успешности выполнения (true) |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "is_review_submitted": false,
- "page_title": "Оставить отзыв",
- "master": {
- "id": 58961,
- "name": "Алексей Уваров",
- "company_id": 28939,
- "specialization": "Перманентный макияж, Художественная татуировка",
- "rating": 5,
- "show_rating": 1,
- "prepaid": "forbidden",
- "position": {
- "id": 2185,
- "title": "Мастер ПМ"
}
}, - "company": {
- "id": 28939,
- "title": "\"Eyes-n-Lips\" СПб",
- "address": "ул. Гороховая д. 45 Б"
}, - "tips": [ ],
- "record": {
- "id": 8219891,
- "payed_cost": "2000",
- "date": "2017-08-11T15:00:00+0000"
}, - "currency": {
- "id": 1,
- "iso": "RUB",
- "name": "Russian Ruble",
- "symbol": "₽",
- "is_symbol_after_amount": true
}, - "agreement_links": {
}, - "language": {
- "id": 1,
- "locale": "ru-RU",
- "iso": "ru"
}
}, - "meta": [ ]
}
recordToken required | string Короткий токен записи |
rating required | integer <int32> Оценка, выставляемая за отзыв (кол-во звезд от 1 до 5) |
text | string Текст отзыва |
tips_amount | number <double> Сумма чаевых |
redirect_prefix | string Префиксная часть url, на который будет выполнен редирект после возврата с формы оплаты |
{- "rating": 5,
- "text": "Отличный мастер!",
- "tips_amount": 22.5,
}
{- "success": true,
- "meta": [ ]
}
company_id required | number Идентификатор компании |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив с объектами данных | |
object Метаданные (содержит количество найденных ресурсов) |
{- "success": true,
- "data": [
- {
- "id": 70,
- "title": "Педикюрное кресло",
- "instances": [
- {
- "id": 181,
- "title": "Педикюрное кресло #1",
- "resource_id": 70
}
]
}, - {
- "id": 464,
- "title": "Массажный кабинет",
- "instances": [
- {
- "id": 1094,
- "title": "Массажный кабинет 1 этаж",
- "resource_id": 464
}, - {
- "id": 1162,
- "title": "Массажный кабинет 2 этаж",
- "resource_id": 464
}
]
}
], - "meta": {
- "count": 2
}
}
Метод позволяет владельцу получить список начислений зарплаты по сотруднику.
company_id required | number Example: 123 Идентификатор филиала. |
staff_id required | number Example: 123 Идентификатор сотрудника филиала. |
date_from required | string Example: date_from=2023-03-01 Дата начала периода. |
date_to required | string Example: date_to=2023-03-31 Дата окончания периода. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
Array of objects (Взаиморасчёты) | |
object (Объект дополнительной информации о запросе с кол-вом найденных результатов) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "success": true,
- "data": [
- {
- "id": 123,
- "company_id": 456,
- "staff_id": 789,
- "amount": 1000,
- "status": "confirmed",
- "date_create": "2023-03-03",
- "date_from": "2023-03-01",
- "date_to": "2023-03-02",
- "comment": "Начисление за день"
}
], - "meta": {
- "count": 1
}
}
Метод позволяет владельцу получить подробную информацию о конкретном начислении зарплаты.
company_id required | number Example: 123 Идентификатор филиала. |
staff_id required | number Example: 123 Идентификатор сотрудника филиала. |
calculation_id required | number Example: 789 Идентификатор начисления зарплаты. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект начисления заработной платы с подробной информацией) | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": {
- "id": 123,
- "company_id": 456,
- "staff_id": 789,
- "amount": 1000,
- "status": "confirmed",
- "date_create": "2023-03-03",
- "date_from": "2023-03-01",
- "date_to": "2023-03-02",
- "comment": "Начисление за день",
- "salary_items": [
- {
- "date": "2023-03-01",
- "time": "12:00",
- "item_id": 123,
- "item_type_slug": "record",
- "salary_sum": "10",
- "record_id": 123,
- "client_id": 456,
- "cost": "1000",
- "paid": {
- "money_sum": "900",
- "discount_sum": "30",
- "bonus_sum": "70",
- "certificate_sum": "0",
- "abonement_sum": "0",
- "deposit_sum": "0"
}, - "salary_calculation_info": {
- "criteria_title": "Примененный критерий",
- "param_title": "Примененный параметр",
- "scheme_title": "Примененная схема"
}, - "targets": [
- {
- "target_type_slug": "service",
- "target_id": 321,
- "title": "Стрижка",
- "cost": "1000",
- "net_cost": "500",
- "salary_sum": "10",
- "salary_promotion_sum": "1",
- "salary_calculation": {
- "type_slug": "percent",
- "value": 1.5,
- "description": "1.5% от стоимости"
}
}
], - "salary_discrepancy": {
- "reason": "updated_rule",
- "actual_sum": "15",
- "difference_sum": "5"
}
}
], - "currency": {
- "id": 1,
- "iso": "RUB",
- "name": "Russian Ruble",
- "symbol": "₽",
- "is_symbol_after_amount": true
}
}, - "meta": [ ]
}
Метод позволяет получить количество схем расчёта зарплат по сотруднику перед тем, как запрашивать данные о суммах.
company_id required | number Example: 123 Идентификатор филиала. |
staff_id required | number Example: 123 Идентификатор сотрудника филиала. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Количество прикреплённых схем расчёта зарплат) | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": {
- "staff_id": 1112684,
- "salary_schemes_count": 2
}, - "meta": [ ]
}
Метод позволяет владельцу получить взаиморасчёты с сотрудником.
company_id required | number Example: 123 Идентификатор филиала. |
staff_id required | number Example: 123 Идентификатор сотрудника филиала. |
date_from required | string Example: date_from=2023-03-01 Дата начала периода. |
date_to required | string Example: date_to=2023-03-31 Дата окончания периода. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Взаиморасчёты) Взаиморасчёты. | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "success": true,
- "data": {
- "total_sum": {
- "income": "0",
- "expense": "0",
- "balance": "240746.48"
}, - "currency": {
- "symbol": "₽"
}
}, - "meta": [ ]
}
Метод позволяет владельцу получить взаиморасчёты с сотрудником с группировкой по дате.
company_id required | number Example: 123 Идентификатор филиала. |
staff_id required | number Example: 123 Идентификатор сотрудника филиала. |
date_from required | string Example: date_from=2023-03-01 Дата начала периода. |
date_to required | string Example: date_to=2023-03-31 Дата окончания периода. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Взаиморасчёты с группировкой по дате) Взаиморасчёты с группировкой по дате. | |
object (Объект дополнительной информации о запросе с кол-вом найденных результатов) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "success": true,
- "data": {
- "payroll_daily": [
- {
- "date": "2023-03-01",
- "payroll_sum": {
- "income": "0",
- "expense": "0",
- "balance": "240746.48"
}
}
], - "currency": {
- "symbol": "₽"
}
}, - "meta": {
- "count": 1
}
}
Метод позволяет владельцу получить расчёт зарплаты за период по сотруднику.
company_id required | number Example: 123 Идентификатор филиала. |
staff_id required | number Example: 123 Идентификатор сотрудника филиала. |
date_from required | string Example: date_from=2023-03-01 Дата начала периода. |
date_to required | string Example: date_to=2023-03-31 Дата окончания периода. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Взаиморасчёты) Взаиморасчёты. | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "success": true,
- "data": {
- "working_days_count": 32,
- "working_hours_count": 353,
- "group_services_count": 3,
- "services_count": 0,
- "services_sum": "0",
- "goods_sales_count": 0,
- "goods_sales_sum": "0",
- "total_sum": "0",
- "salary": "70600",
- "currency": {
- "symbol": "₽"
}
}, - "meta": [ ]
}
Метод позволяет владельцу получить расчёт зарплаты за период по сотруднику с группировкой по дате.
company_id required | number Example: 123 Идентификатор филиала. |
staff_id required | number Example: 123 Идентификатор сотрудника филиала. |
date_from required | string Example: date_from=2023-03-01 Дата начала периода. |
date_to required | string Example: date_to=2023-03-31 Дата окончания периода. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Расчёт за период по конкретному сотруднику с группировкой по дате) Получение расчёта за период по конкретному сотруднику с группировкой по дате. | |
object (Объект дополнительной информации о запросе с кол-вом найденных результатов) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "success": true,
- "data": {
- "period_calculation_daily": [
- {
- "date": "2023-03-01",
- "period_calculation": {
- "working_days_count": 32,
- "working_hours_count": 353,
- "group_services_count": 3,
- "services_count": 0,
- "services_sum": "0",
- "goods_sales_count": 0,
- "goods_sales_sum": "0",
- "total_sum": "0",
- "salary": "70600"
}
}
], - "currency": {
- "symbol": "₽"
}
}, - "meta": {
- "count": 1
}
}
Метод позволяет получить собственные взаиморасчёты сотрудника с филиалом. В правах доступа пользователя должна быть указана галочка "Доступ к расчёту заработной платы только конкретного сотрудника".
company_id required | number Example: 123 Идентификатор филиала. |
staff_id required | number Example: 123 Идентификатор сотрудника филиала. |
date_from required | string Example: date_from=2023-03-01 Дата начала периода. |
date_to required | string Example: date_to=2023-03-31 Дата окончания периода. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Взаиморасчёты) Взаиморасчёты. | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "success": true,
- "data": {
- "total_sum": {
- "income": "0",
- "expense": "0",
- "balance": "240746.48"
}, - "currency": {
- "symbol": "₽"
}
}, - "meta": [ ]
}
Метод позволяет получить собственные схемы расчёта зарплат. В правах доступа пользователя должна быть указана галочка "Доступ к расчёту заработной платы только конкретного сотрудника".
company_id required | number Example: 123 Идентификатор филиала. |
staff_id required | number Example: 123 Идентификатор сотрудника филиала. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
Array of objects (Объект схемы расчёта зарплаты) | |
object (Объект дополнительной информации о запросе с кол-вом найденных результатов) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": [
- {
- "staff_id": 1112684,
- "date_start": 1622505600,
- "date_end": 1630454400,
- "salary_scheme": {
- "id": 28681,
- "title": "Услуги 20%"
}
}, - {
- "staff_id": 1112684,
- "date_start": 1630454400,
- "salary_scheme": {
- "id": 28680,
- "title": "Услуги 30%"
}
}
], - "meta": {
- "count": 2
}
}
Метод позволяет получить расчёт собственной зарплаты за период. В правах доступа пользователя должна быть указана галочка "Доступ к расчёту заработной платы только конкретного сотрудника".
company_id required | number Example: 123 Идентификатор филиала. |
staff_id required | number Example: 123 Идентификатор сотрудника филиала. |
date_from required | string Example: date_from=2023-03-01 Дата начала периода. |
date_to required | string Example: date_to=2023-03-31 Дата окончания периода. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Расчёт за период по конкретному сотруднику) Получение расчёта за период по конкретному сотруднику. | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "success": true,
- "data": {
- "working_days_count": 32,
- "working_hours_count": 353,
- "group_services_count": 3,
- "services_count": 0,
- "services_sum": "0",
- "goods_sales_count": 0,
- "goods_sales_sum": "0",
- "total_sum": "0",
- "salary": "70600",
- "currency": {
- "symbol": "₽"
}
}, - "meta": [ ]
}
В этом разделе расположены методы для получения и изменения настроек уведомлений.
Объекты имееют следующие поля:
Поле | Тип | Описание |
---|---|---|
mode | string | Тип уведомления, выбранный у пользователя ("admin", "staff", "disabled") |
record_create_online_staff | string | Уведомление сотруднику об онлайн-записи |
record_create_offline_staff | string | Уведомление сотруднику об офлайн-записи |
record_delete_staff | string | Уведомление сотруднику об удалении записи через Интернет |
record_move_staff | string | Уведомление сотруднику о переносе записи через Интернет |
record_create_online_admin | string | Уведомление администратору об онлайн-записи |
record_create_offline_admin | string | Уведомление администратору об офлайн-записи |
record_delete_admin | string | Уведомление администратору об удалении записи через Интернет |
record_move_admin | string | Уведомление администратору о переносе записи через Интернет |
license_expire | string | Уведомление сотруднику/администратору об окончании лицензии |
Метод позволяет получить настройки уведомлений в филиале.
company_id required | number Идентификатор компании |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer bearer_token, USer user_token |
success | boolean Статус успешности выполнения |
Array of objects Массив объектов | |
object Метаданные (содержит количество объектов) |
{- "success": true,
- "data": [
- {
- "type": "record_create_online_staff",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 1
}
}, - {
- "type": "record_move_admin",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "license_expire",
- "channels": {
- "push": 1,
- "sms": 1,
- "email": 1
}
}, - {
- "type": "record_create_offline_admin",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 1
}
}, - {
- "type": "record_create_offline_staff",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "record_create_online_admin",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 1
}
}, - {
- "type": "record_delete_admin",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 1
}
}, - {
- "type": "record_delete_staff",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "record_move_staff",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}
], - "meta": {
- "count": 9
}
}
Метод позволяет получить настройки уведомлений конкретного пользователя филиала.
company_id required | number Идентификатор компании |
user_id required | number Идентификатор пользователя |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer bearer_token, User user_token |
success | boolean Статус успешности выполнения |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "success": true,
- "data": {
- "mode": "staff",
- "notification_types": [
- {
- "type": "record_create_online_staff",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 1
}
}, - {
- "type": "record_create_offline_staff",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "record_delete_staff",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "record_move_staff",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "license_expire",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}
]
}, - "meta": [ ]
}
Метод позволяет изменить настройки PUSH-уведомлений пользователя. Выбирать тип уведомления для изменения (record_create_online_staff или record_create_online_admin и т.д.) следует исходя их указанного типа уведомления у пользователя (mode: admin или mode: staff)
company_id required | number Идентификатор компании |
user_id required | number Идентификатор пользователя |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer bearer_token, User user_token |
Array of objects Массив объектов |
success | boolean Статус успешности выполнения |
object Объект с данными | |
meta | Array of objects Метаданные (пустой массив) |
{- "notification_types": [
- {
- "type": "record_create_online_admin",
- "channels": {
- "push": 1
}
}, - {
- "type": "record_create_offline_admin",
- "channels": {
- "push": 1
}
}, - {
- "type": "record_delete_admin",
- "channels": {
- "push": 1
}
}, - {
- "type": "record_move_admin",
- "channels": {
- "push": 1
}
}, - {
- "type": "license_expire",
- "channels": {
- "push": 1
}
}
]
}
{- "success": true,
- "data": {
- "mode": "staff",
- "notification_types": [
- {
- "type": "record_create_online_staff",
- "channels": {
- "push": 1,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "record_create_offline_staff",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "record_delete_staff",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "record_move_staff",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}, - {
- "type": "license_expire",
- "channels": {
- "push": 0,
- "sms": 0,
- "email": 0
}
}
]
}, - "meta": [ ]
}
Accept required | string e.g. application/vnd.yclients.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
success | boolean Статус успешности выполнения (true) |
object (Root Type for company_get_online_settings_response_data_field_data_types) | |
meta | Array of objects Метаданные |
{- "success": true,
- "data": {
- "confirm_number": false,
- "any_master": true,
- "seance_delay_step": 90,
- "activity_online_record_clients_count_max": 1
}, - "meta": [ ]
}
Accept required | string e.g. application/vnd.yclients.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
confirm_number required | boolean Подтверждать номер клиента по SMS |
any_master required | boolean Режим "Любой сотрудник" |
seance_delay_step required | integer [ 0 .. 1380 ] Задержка до ближайшего сеанса, в минутах от 0 до 23 часов (включительно) с шагом 30 минут |
activity_online_record_clients_count_max required | integer [ 1 .. 255 ] Максимальное количество мест в одной записи события |
success | boolean Статус успешности выполнения (true) |
object (Root Type for company_get_online_settings_response_data_field_data_types) | |
meta | Array of objects Метаданные |
{- "confirm_number": false,
- "any_master": true,
- "seance_delay_step": 90,
- "activity_online_record_clients_count_max": 1
}
{- "success": true,
- "data": {
- "confirm_number": false,
- "any_master": true,
- "seance_delay_step": 90,
- "activity_online_record_clients_count_max": 1
}, - "meta": [ ]
}
Accept required | string e.g. application/vnd.yclients.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
success | boolean Статус успешности выполнения (true) |
object (Root Type for company_get_timetable_settings_response_data_field_data_types) | |
meta | Array of objects Метаданные |
{- "success": true,
- "data": {
- "record_type": 0,
- "activity_record_clients_count_max": 1
}, - "meta": [ ]
}
Accept required | string e.g. application/vnd.yclients.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
record_type required | integer [ 0 .. 2 ] Тип записи по умолчанию: 0 - Смешанная запись, 1 - Индивидуальная запись, 2 - Групповая запись |
activity_record_clients_count_max required | integer [ 1 .. 255 ] Максимальное количество мест в одной записи события |
success | boolean Статус успешности выполнения (true) |
object (Root Type for company_get_timetable_settings_response_data_field_data_types) | |
meta | Array of objects Метаданные |
{- "record_type": 0,
- "activity_record_clients_count_max": 1
}
{- "success": true,
- "data": {
- "record_type": 90,
- "activity_record_clients_count_max": 1
}, - "meta": [ ]
}
company_id required | number ID компании |
Accept required | string e.g. application/vnd.yclients.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
required | Array of objects (Root Type BookformSettingsResponse) Array of data |
meta required | Array of objects Metadata (contains the total count of bookforms) |
success required | boolean Success status (true) |
{- "success": true,
- "data": [
- {
- "id": 1,
- "title": "Название",
- "is_default": false,
- "description": "Описание",
- "without_menu": false,
- "service_step_default": 0,
- "service_step_hide": false,
- "master_step_default": 0,
- "master_step_hide": false,
- "service_step_num": 2,
- "master_step_num": 1,
- "datetime_step_num": 3,
- "show_button": true,
- "button_position": "bottom right",
- "form_position": "right",
- "button_color": "#1c84c6",
- "button_animation": true,
- "html_code": "",
- "ab_test_enabled": false
}
], - "meta": [ ]
}
company_id required | number ID компании |
Accept required | string e.g. application/vnd.yclients.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
title required | string Название букформы |
description | string Default: "" Описание букформы |
is_default | boolean Default: false Флаг дефолтной букформы |
without_menu | boolean Default: false Флаг пошагового режима |
service_step_default | number ID услуги |
service_step_hide | boolean Default: false Флаг скрытия услуги |
master_step_default | number ID мастера |
master_step_hide | boolean Default: false Флаг скрытия мастера |
service_step_num | number Порядковый номер шага услуги |
master_step_num | number Порядковый номер шага мастера |
datetime_step_num | number Порядковый номер шага даты и времени |
show_button | boolean Default: true Флаг включения видимости кнопки |
button_position | string Default: "bottom right" Enum: "bottom right" "bottom left" "top right" "top left " Расположение кнопки на странице |
form_position | string Default: "right" Enum: "right" "left" Расположение панели на странице |
button_color | string Default: "#1c84c6" Цвет кнопки |
button_animation | boolean Default: true Флаг включения анимации кнопки |
required | object (Root Type BookformSettingsResponse) Настройки букформы |
meta required | Array of objects Metadata |
success required | boolean Success status (true) |
{- "title": "string",
- "description": "",
- "is_default": false,
- "without_menu": false,
- "service_step_default": 0,
- "service_step_hide": false,
- "master_step_default": 0,
- "master_step_hide": false,
- "service_step_num": 0,
- "master_step_num": 0,
- "datetime_step_num": 0,
- "show_button": true,
- "button_position": "bottom right",
- "form_position": "right",
- "button_color": "#1c84c6",
- "button_animation": true
}
{- "success": true,
- "data": {
- "id": 1,
- "title": "Название",
- "is_default": false,
- "description": "Описание",
- "without_menu": false,
- "service_step_default": 0,
- "service_step_hide": false,
- "master_step_default": 0,
- "master_step_hide": false,
- "service_step_num": 2,
- "master_step_num": 1,
- "datetime_step_num": 3,
- "show_button": true,
- "button_position": "bottom right",
- "form_position": "right",
- "button_color": "#1c84c6",
- "button_animation": true,
- "html_code": "",
- "ab_test_enabled": false
}, - "meta": [ ]
}
company_id required | number ID компании |
form_id required | number ID букформы |
Accept required | string e.g. application/vnd.yclients.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
required | object (Root Type BookformSettingsResponse) Настройки букформы |
meta required | Array of objects Metadata |
success required | boolean Success status (true) |
{- "success": true,
- "data": {
- "id": 1,
- "title": "Название",
- "is_default": false,
- "description": "Описание",
- "without_menu": false,
- "service_step_default": 0,
- "service_step_hide": false,
- "master_step_default": 0,
- "master_step_hide": false,
- "service_step_num": 2,
- "master_step_num": 1,
- "datetime_step_num": 3,
- "show_button": true,
- "button_position": "bottom right",
- "form_position": "right",
- "button_color": "#1c84c6",
- "button_animation": true,
- "html_code": "",
- "ab_test_enabled": false
}, - "meta": [ ]
}
company_id required | number ID компании |
form_id required | number ID букформы |
Accept required | string e.g. application/vnd.yclients.v2+json |
Authorization required | string Bearer partner_token, User user_token |
Content-Type required | string application/json |
title required | string Название букформы |
description required | string Описание букформы |
is_default required | boolean Флаг дефолтной букформы |
without_menu required | boolean Флаг пошагового режима |
service_step_default required | number ID услуги |
service_step_hide required | boolean Флаг скрытия услуги |
master_step_default required | number ID мастера |
master_step_hide required | boolean Флаг скрытия мастера |
service_step_num required | number Порядковый номер шага услуги |
master_step_num required | number Порядковый номер шага мастера |
datetime_step_num required | number Порядковый номер шага даты и времени |
show_button required | boolean Шаг включения видимости кнопки |
button_position required | string Enum: "bottom right" "bottom left" "top right" "top left" Расположение кнопки на странице |
form_position required | string Enum: "right" "left" Расположение панели на странице |
button_color required | string Цвет кнопки |
button_animation required | boolean Флаг включения анимации кнопки |
required | object (Root Type BookformSettingsResponse) Настройки букформы |
meta required | Array of objects Metadata |
success required | boolean Success status (true) |
{- "title": "string",
- "description": "string",
- "is_default": true,
- "without_menu": true,
- "service_step_default": 0,
- "service_step_hide": true,
- "master_step_default": 0,
- "master_step_hide": true,
- "service_step_num": 0,
- "master_step_num": 0,
- "datetime_step_num": 0,
- "show_button": true,
- "button_position": "bottom right",
- "form_position": "right",
- "button_color": "string",
- "button_animation": true
}
{- "success": true,
- "data": {
- "id": 1,
- "title": "Название",
- "is_default": false,
- "description": "Описание",
- "without_menu": false,
- "service_step_default": 0,
- "service_step_hide": false,
- "master_step_default": 0,
- "master_step_hide": false,
- "service_step_num": 2,
- "master_step_num": 1,
- "datetime_step_num": 3,
- "show_button": true,
- "button_position": "bottom right",
- "form_position": "right",
- "button_color": "#1c84c6",
- "button_animation": true,
- "html_code": "",
- "ab_test_enabled": false
}, - "meta": [ ]
}
С помощью расписания можно удобно настроить повторения индивидуальных записей (пока не поддерживается) или групповых событий. В рамках расписания можно настроить несколько серий по одному конкретно взятому дню недели, и настроить параметры этих серий под определенные нужды. В рамках разных серий расписания можно настроить разных сотрудников, оказывающих услуги, разные категории и ресурсы для этих сущностей и прочее.
Осуществляет поиск расписания по записи или событию, принадлежащему расписанию или на основе которого расписание было построено.
company_id required | number Example: 123 Идентификатор филиала. |
entity_type required | string Enum: "record" "activity" Example: activity Тип сущности, для которой осуществляется поиск расписания: |
entity_id required | number Example: 123 Идентификатор сущности, для которой осуществляется поиск расписания. |
include | Array of strings Items Enum: "days" "days.events_master" "days.events_labels" "days.events_resource_instances" Набор сущностей, которые должны быть включены в ответ. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект модели "Расписание") Данные по существующему в филиале расписанию записей или событий. | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "original_entity_type": "activity",
- "original_entity_id": 123,
- "date_start": "2022-01-01",
- "date_end": "2022-02-01",
- "days": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "timetable_event_schedule_id": 123,
- "day_of_week": "mon",
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_master": {
- "id": 123,
- "name": "Иван Иванов",
- "company_id": 123,
- "specialization": "Мастер",
- "position": {
- "id": 123,
- "title": "Сотрудник"
}
}, - "events_labels": [
- {
- "id": 123,
- "title": "Категория",
- "color": "#ff0000"
}
], - "events_resource_instances": [
- {
- "id": 123,
- "title": "Ресурс #1",
- "resource_id": 123
}
]
}
]
}, - "meta": { }
}
Создает расписание записей или событий, основываясь на исходной записи или событии.
company_id required | number Example: 123 Идентификатор филиала. |
include | Array of strings Items Value: "days" Набор сущностей, которые должны быть включены в ответ. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
original_entity_type required | string Enum: "record" "activity" Тип сущности, на основе которой будет построено расписание: |
original_entity_id required | number Идентификатор сущности, на основе которой будет построено расписание. |
date_end required | string <date> Дата окончания расписания. |
required | Array of objects [ 1 .. 7 ] items Настройки серий расписания, минимально 1 серия, максимально 7 серий (серия соответствует дню недели). |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект модели "Расписание") Данные по существующему в филиале расписанию записей или событий. | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "original_entity_type": "activity",
- "original_entity_id": 123,
- "date_end": "2022-02-01",
- "days": [
- {
- "day_of_week": "mon",
- "events_master_id": 123,
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_capacity": 4,
- "labels_ids": [
- 123
], - "resource_instances_ids": [
- 123
]
}
]
}
{- "success": true,
- "data": {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "original_entity_type": "activity",
- "original_entity_id": 123,
- "date_start": "2022-01-01",
- "date_end": "2022-02-01",
- "days": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "timetable_event_schedule_id": 123,
- "day_of_week": "mon",
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_master": {
- "id": 123,
- "name": "Иван Иванов",
- "company_id": 123,
- "specialization": "Мастер",
- "position": {
- "id": 123,
- "title": "Сотрудник"
}
}, - "events_labels": [
- {
- "id": 123,
- "title": "Категория",
- "color": "#ff0000"
}
], - "events_resource_instances": [
- {
- "id": 123,
- "title": "Ресурс #1",
- "resource_id": 123
}
]
}
]
}, - "meta": { }
}
Обновляет настройки расписания записей или событий.
company_id required | number Example: 123 Идентификатор филиала. |
schedule_id required | number Example: 123 Идентификатор расписания. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
date_end | string <date> Дата окончания расписания. |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект модели "Расписание") Данные по существующему в филиале расписанию записей или событий. | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "date_end": "2022-02-01"
}
{- "success": true,
- "data": {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "original_entity_type": "activity",
- "original_entity_id": 123,
- "date_start": "2022-01-01",
- "date_end": "2022-02-01",
- "days": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "timetable_event_schedule_id": 123,
- "day_of_week": "mon",
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_master": {
- "id": 123,
- "name": "Иван Иванов",
- "company_id": 123,
- "specialization": "Мастер",
- "position": {
- "id": 123,
- "title": "Сотрудник"
}
}, - "events_labels": [
- {
- "id": 123,
- "title": "Категория",
- "color": "#ff0000"
}
], - "events_resource_instances": [
- {
- "id": 123,
- "title": "Ресурс #1",
- "resource_id": 123
}
]
}
]
}, - "meta": { }
}
Полностью удаляет расписание и все записи или события, привязанные к нему.
company_id required | number Example: 123 Идентификатор филиала. |
schedule_id required | number Example: 123 Идентификатор расписания. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": null,
- "meta": { }
}
Добавляет к существующему расписанию записей или событий новую серию.
company_id required | number Example: 123 Идентификатор филиала. |
schedule_id required | number Example: 123 Идентификатор расписания. |
include | Array of strings Items Enum: "events_master" "events_labels" "events_resource_instances" "events" Набор сущностей, которые должны быть включены в ответ. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
day_of_week required | string Enum: "mon" "tue" "wed" "thu" "fri" "sat" "sun" День недели серии расписания. |
events_master_id required | number Идентификатор сотрудника, оказывающего услуги в рамках серии расписания. |
events_time required | string Время начала записей или событий в рамках серии расписания (в формате HH:MM:SS). |
events_duration required | number Длительность записей или событий в рамках серии расписания (в секундах). |
events_capacity required | number Вместимость событий в рамках серии расписания (для записей значение должно быть равно 1). |
labels_ids | Array of numbers Идентификаторы категорий, привязанных к записям или событиям в рамках серии расписания. |
resource_instances_ids | Array of numbers Идентификаторы экземпляров ресурсов, привязанных к записям или событиям в рамках серии расписания. |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект модели "Серия Расписания") Данные по существующей в филиале серии расписания. | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "day_of_week": "mon",
- "events_master_id": 123,
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_capacity": 4,
- "labels_ids": [
- 123
], - "resource_instances_ids": [
- 123
]
}
{- "success": true,
- "data": {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "timetable_event_schedule_id": 123,
- "day_of_week": "mon",
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_master": {
- "id": 123,
- "name": "Иван Иванов",
- "company_id": 123,
- "specialization": "Мастер",
- "position": {
- "id": 123,
- "title": "Сотрудник"
}
}, - "events_labels": [
- {
- "id": 123,
- "title": "Категория",
- "color": "#ff0000"
}
], - "events_resource_instances": [
- {
- "id": 123,
- "title": "Ресурс #1",
- "resource_id": 123
}
], - "events": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "event_status": "stable",
- "event_datetime": "2022-01-24 14:00:00",
- "event_entity_type": "activity",
- "event_entity_id": 123,
- "is_entity_master_changed": false,
- "is_entity_datetime_changed": false,
- "is_entity_duration_changed": false,
- "is_entity_labels_changed": false,
- "is_entity_resource_instances_changed": false
}
]
}, - "meta": { }
}
Обновляет настройки серии расписания записей или событий.
company_id required | number Example: 123 Идентификатор филиала. |
schedule_id required | number Example: 123 Идентификатор расписания. |
day_id required | number Example: 123 Идентификатор серии расписания. |
include | Array of strings Items Enum: "events_master" "events_labels" "events_resource_instances" "events" Набор сущностей, которые должны быть включены в ответ. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
force required | boolean Флаг переопределения ручных изменений в записях/событиях при обновлении серии расписания. |
events_master_id | number Идентификатор сотрудника, оказывающего услуги в рамках серии расписания. |
events_time | string Время начала записей или событий в рамках серии расписания (в формате HH:MM:SS). |
events_duration | number Длительность записей или событий в рамках серии расписания (в секундах). |
events_capacity | number Вместимость событий в рамках серии расписания (для записей значение должно быть равно 1). |
labels_ids | Array of numbers Идентификаторы категорий, привязанных к записям или событиям в рамках серии расписания. |
resource_instances_ids | Array of numbers Идентификаторы экземпляров ресурсов, привязанных к записям или событиям в рамках серии расписания. |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект модели "Серия Расписания") Данные по существующей в филиале серии расписания. | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "force": false,
- "events_master_id": 123,
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_capacity": 4,
- "labels_ids": [
- 123
], - "resource_instances_ids": [
- 123
]
}
{- "success": true,
- "data": {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "timetable_event_schedule_id": 123,
- "day_of_week": "mon",
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_master": {
- "id": 123,
- "name": "Иван Иванов",
- "company_id": 123,
- "specialization": "Мастер",
- "position": {
- "id": 123,
- "title": "Сотрудник"
}
}, - "events_labels": [
- {
- "id": 123,
- "title": "Категория",
- "color": "#ff0000"
}
], - "events_resource_instances": [
- {
- "id": 123,
- "title": "Ресурс #1",
- "resource_id": 123
}
], - "events": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "event_status": "stable",
- "event_datetime": "2022-01-24 14:00:00",
- "event_entity_type": "activity",
- "event_entity_id": 123,
- "is_entity_master_changed": false,
- "is_entity_datetime_changed": false,
- "is_entity_duration_changed": false,
- "is_entity_labels_changed": false,
- "is_entity_resource_instances_changed": false
}
]
}, - "meta": { }
}
Полностью удаляет серию расписания и все записи или события, привязанные к нему.
company_id required | number Example: 123 Идентификатор филиала. |
schedule_id required | number Example: 123 Идентификатор расписания. |
day_id required | number Example: 123 Идентификатор серии расписания. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": null,
- "meta": { }
}
Выводит список сущностей записей или событий, созданных в рамках серии расписания.
company_id required | number Example: 123 Идентификатор филиала. |
schedule_id required | number Example: 123 Идентификатор расписания. |
day_id required | number Example: 123 Идентификатор серии расписания. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
Array of objects (Объект модели "Сущность записи/события в Расписании") | |
object (Объект дополнительной информации о запросе с кол-вом найденных результатов) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "event_status": "stable",
- "event_datetime": "2022-01-24 14:00:00",
- "event_entity_type": "activity",
- "event_entity_id": 123,
- "is_entity_master_changed": false,
- "is_entity_datetime_changed": false,
- "is_entity_duration_changed": false,
- "is_entity_labels_changed": false,
- "is_entity_resource_instances_changed": false,
- "entity_master": {
- "id": 123,
- "name": "Иван Иванов",
- "company_id": 123,
- "specialization": "Мастер",
- "position": {
- "id": 123,
- "title": "Сотрудник"
}
}, - "entity_datetime": "2022-01-24 14:00:00",
- "entity_duration": 3600,
- "entity_labels": [
- {
- "id": 123,
- "title": "Категория",
- "color": "#ff0000"
}
], - "entity_resource_instances": [
- {
- "id": 123,
- "title": "Ресурс #1",
- "resource_id": 123
}
]
}
], - "meta": {
- "count": 10
}
}
Создает график посещений клиента, представляющий собой набор записей на события расписания.
company_id required | number Example: 123 Идентификатор филиала. |
schedule_id required | number Example: 123 Идентификатор расписания. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
client_id required | number Идентификатор клиента, для которого будет создан график посещений. |
comer_id | number Идентификатор посетителя клиента, для которого будет создан график посещений. |
schedule_days_ids required | Array of numbers [ 1 .. 7 ] items Идентификаторы серий расписания, минимально 1 серия, максимально 7 серий. |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект модели "График посещений клиента") Данные по существующему в филиале графику посещений клиента. | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "client_id": 123,
- "comer_id": 123,
- "schedule_days_ids": [
- 123
]
}
{- "success": true,
- "data": {
- "id": 123,
- "loyalty_abonement_id": null,
- "final_day": "2022-01-01 12:12:12",
- "days": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "timetable_event_schedule_id": 123,
- "day_of_week": "mon",
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_master": {
- "id": 123,
- "name": "Иван Иванов",
- "company_id": 123,
- "specialization": "Мастер",
- "position": {
- "id": 123,
- "title": "Сотрудник"
}
}, - "events_labels": [
- {
- "id": 123,
- "title": "Категория",
- "color": "#ff0000"
}
], - "events_resource_instances": [
- {
- "id": 123,
- "title": "Ресурс #1",
- "resource_id": 123
}
]
}
]
}, - "meta": { }
}
Обновляет график посещений клиента, прикрепляя или открепляя серии расписания, что вызывает создание новых или удаление существующих записей клиента в будущих событиях расписания.
company_id required | number Example: 123 Идентификатор филиала. |
schedule_id required | number Example: 123 Идентификатор расписания. |
client_schedule_id required | number Example: 123 Идентификатор графика посещений клиента. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
schedule_days_ids required | Array of numbers [ 1 .. 7 ] items Идентификаторы серий расписания, минимально 1 серия, максимально 7 серий. |
success | boolean (Успешный статус запроса) Статус запроса. |
object (Объект модели "График посещений клиента") Данные по существующему в филиале графику посещений клиента. | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "schedule_days_ids": [
- 123
]
}
{- "success": true,
- "data": {
- "id": 123,
- "loyalty_abonement_id": null,
- "final_day": "2022-01-01 12:12:12",
- "days": [
- {
- "id": 123,
- "created_at": "2022-01-01 12:12:12",
- "updated_at": "2022-01-01 12:12:12",
- "deleted_at": null,
- "timetable_event_schedule_id": 123,
- "day_of_week": "mon",
- "events_time": "14:00:00",
- "events_duration": 3600,
- "events_master": {
- "id": 123,
- "name": "Иван Иванов",
- "company_id": 123,
- "specialization": "Мастер",
- "position": {
- "id": 123,
- "title": "Сотрудник"
}
}, - "events_labels": [
- {
- "id": 123,
- "title": "Категория",
- "color": "#ff0000"
}
], - "events_resource_instances": [
- {
- "id": 123,
- "title": "Ресурс #1",
- "resource_id": 123
}
]
}
]
}, - "meta": { }
}
Полностью удаляет график посещений клиента и все записи данного клиента в рамках будущих событий расписания.
company_id required | number Example: 123 Идентификатор филиала. |
schedule_id required | number Example: 123 Идентификатор расписания. |
client_schedule_id required | number Example: 123 Идентификатор графика посещений клиента. |
Accept required | string Example: application/vnd.yclients.v2+json Должен быть равен |
Content-Type required | string Example: application/json Должен быть равен |
success | boolean (Успешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": null,
- "meta": { }
}
Настройка уведомлений в визарде внутри витрины уведомлений проходит в несколько этапов
На этот адрес необходимо перенаправить пользователя в браузере после прохождения регистрации с данными, которые необходимы сервису-партнеру
salon_id required | number Идентификатор филиала. |
application_id required | number Идентификатор приложения (выдается после создания в витрине YCLIENTS). |
api_key | number API-ключ для отправки уведомлений. |
webhook_urls | Array of strings Массив адресов вебхуков. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "salon_id": 123,
- "application_id": 123,
- "api_key": "2f181e2a-5c22-4ae7-9d9b-07104f312c28",
}
{- "success": false,
- "data": null,
- "meta": {
- "message": "Необходима авторизация"
}
}
На этот адрес необходимо направить настройки интеграции сервиса-партнера, после чего будет произведена настройка и установка приложения в филиале
salon_id required | number Идентификатор филиала. |
application_id required | number Идентификатор приложения (выдается после создания в витрине YCLIENTS). |
api_key | number API-ключ для отправки уведомлений. |
webhook_urls | Array of strings Массив адресов вебхуков. |
channels | Array of strings Items Enum: "sms" "whatsapp" Каналы, по которым доступна отправка уведомлений (только для приложений из категорий Чат-Боты и СМС-агрегаторы). |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "salon_id": 123,
- "application_id": 123,
- "api_key": "2f181e2a-5c22-4ae7-9d9b-07104f312c28",
- "channels": [
- "sms",
- "whatsapp"
]
}
{- "success": false,
- "data": null,
- "meta": {
- "message": "Необходима авторизация"
}
}
На данный адрес необходимо присылать webhook-уведомление об успешной оплате услуг на стороне сервиса-партнера
salon_id required | number Идентификатор филиала. |
application_id required | number Идентификатор приложения (выдается после создания в витрине YCLIENTS). |
payment_sum required | number Сумма платежа. |
currency_iso required | string ISO валюты платежа (например: RUB, EUR, BYN) |
payment_date required | string Дата и время платежа. |
period_from required | string Дата, с которой начинается оплаченный период (включительно). |
period_to required | string Дата, которой заканчивается оплаченный период (включительно). |
success | boolean (Статус запроса.) Статус запроса. |
object Данные по запросу. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "salon_id": 123,
- "application_id": 123,
- "payment_sum": 990.99,
- "currency_iso": "RUB",
- "payment_date": "2022-01-01 10:10:00",
- "period_from": "2022-01-01 10:10:00",
- "period_to": "2022-02-01 10:10:00"
}
{- "success": true,
- "data": {
- "id": 123
}
}
Этот адрес предназначен для отправки в YCLIENTS доступных пользователю именах отправителя SMS-сообщений. Пользователь будет иметь возможность выбрать любое доступное из переданных
salon_id required | number Идентификатор филиала. |
application_id required | number Идентификатор приложения (выдается после создания в витрине YCLIENTS). |
short_names required | Array of strings Массив коротких имен отправителя SMS-сообщений |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "salon_id": 123,
- "application_id": 123,
- "short_names": [
- "YCLIENTS",
- "YC"
]
}
{- "success": false,
- "data": null,
- "meta": {
- "message": "Необходима авторизация"
}
}
Адрес предназначен для уведомления YCLIENTS о возврате платежа
payment_id required | number Example: 123 Идентификатор платежа для отмены. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "success": false,
- "data": null,
- "meta": {
- "message": "Необходима авторизация"
}
}
Это не действующий эндпойнт. Здесь описывается отправка вебхуков из YCLIENTS при возникновении определенных событий в процессе жизненного цикла "приложение - салон". В данный момент доступны события к получению:
Настроить адрес для получения вебхуков можно в личном кабинете разработчика YCLIENTS.
salon_id required | number Идентификатор филиала. |
application_id required | number Идентификатор приложения. |
event required | string Enum: "uninstall" "freeze" Slug произошедшего события. |
partner_token required | string Bearer токен компании разработчика (для удостоверения происхождения вебхука). |
{- "salon_id": 123,
- "application_id": 123,
- "event": "uninstall",
- "partner_token": "yasdfkjah2328aj"
}
Данный эндпойнт предназначен для получения информации об установке приложения в конкретном салоне.
salon_id required | number ID филиала |
application_id required | number ID приложения |
success | boolean (Успешный статус запроса) Статус запроса. |
object | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": {
- "logs": [
- {
- "changed_at": "2022-06-27 12:20:02",
- "status_from": "uninstalled",
- "status_to": "pending",
- "source": "marketplace"
}, - {
- "changed_at": "2022-06-27 12:22:02",
- "status_from": "pending",
- "status_to": "active",
- "source": "partner_api"
}
], - "payments": [
- {
- "id": 1233,
- "payment_sum": 1523.12,
- "currency_iso": "RUB",
- "payment_date": "2022-06-27 12:22:02",
- "is_refunded": false,
- "period_from": "2022-06-27 00:00:00",
- "period_to": "2022-07-27 00:00:00"
}
], - "connection_status": {
- "status": "active",
- "created_at": "2022-06-27 12:20:02"
}
}
}
Данный эндпойнт предназначен для получения списка салонов, которые подключили некоторое приложение, с подробной информацией о них
application_id required | number ID приложения в маркетплейсе |
page required | number Страница списка |
count required | number <= 1000 Кол-во элементов на странице списка |
success | boolean Статус успешного выполнения (true) |
Array of objects Массив объектов | |
meta | Array of objects Метаданные (пустой массив) |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
{- "success": true,
- "data": [
- {
- "id": "1050",
- "title": "Ля Визаж",
- "short_descr": "Салон красоты",
- "active": "1",
- "phone": "+7 495 509-24-46",
- "country_id": 1,
- "schedule": "",
- "country": "Россия",
- "city_id": 1,
- "city": "Москва",
- "timezone_name": "Europe/Moscow",
- "address": "Талалихина, д. 1, к. 2",
- "coordinate_lat": "55.735662",
- "coordinate_lon": "37.678218",
- "phone_confirmation": true,
- "active_staff_count": 2,
- "next_slot": "2023-03-23T10:10:00+0300",
- "app_ios": "",
- "app_android": "",
- "currency_short_title": "р",
- "group_priority": 900
}, - {
- "id": "1051",
- "title": "Ля Визаж 2",
- "short_descr": "Салон красоты",
- "active": "1",
- "phone": "+7 495 509-24-46",
- "country_id": 1,
- "country": "Россия",
- "city_id": 1,
- "city": "Москва",
- "timezone_name": "Europe/Moscow",
- "address": "Талалихина, д. 1, к. 2",
- "coordinate_lat": "55.835662",
- "coordinate_lon": "37.778218",
- "phone_confirmation": false,
- "active_staff_count": 3,
- "next_slot": "2023-03-23T10:10:00+0300",
- "app_ios": "",
- "app_android": "",
- "currency_short_title": "р",
- "group_priority": 901
}
], - "meta": { }
}
Данный эндпойнт предназначен для инициирования отключения приложения со стороны партнера.
salon_id required | number ID филиала |
application_id required | number ID приложения |
success | boolean (Успешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": null,
- "meta": { }
}
Эндпойнт предназначен для генерации ссылки на оплату приложения через YCLIENTS
salon_id required | number ID филиала |
application_id required | number ID приложения |
discount | number Example: discount=15.55 Размер скидки в процентах (опционально) |
success | boolean (Успешный статус запроса) Статус запроса. |
object Объект со ссылкой на оплату | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
Данный эндпойнт предназначен для получения списка тарифов.
application_id required | number ID приложения |
success | boolean (Успешный статус запроса) Статус запроса. |
Array of objects Список тарифов | |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "success": true,
- "data": [
- {
- "id": 89,
- "title": "1 месяц",
- "options": [
- {
- "id": 123,
- "title": "Частный мастер",
- "overall_price": 500,
- "duration_in_months": 1,
- "staff_amount": 1,
- "free_period_in_months": 0,
- "currency_iso": "RUB"
}, - {
- "id": 124,
- "title": "До 2-х сотрудников",
- "overall_price": 990,
- "duration_in_months": 1,
- "staff_amount": 1,
- "free_period_in_months": 0,
- "currency_iso": "RUB"
}
]
}
]
}
Данный эндпойнт предназначен для установки скидки при оплате через YCLIENTS определенным салонам
salon_ids required | Array of numbers Список ID салонов |
application_id required | number Идентификатор приложения. |
discount required | number Величина скидки |
success | boolean (Успешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
meta | object (Пустой объект дополнительной информации о запросе) Дополнительная информация о запросе. |
{- "salon_ids": [
- 123,
- 432
], - "application_id": 123,
- "discount": 15.54
}
{- "success": true,
- "data": null,
- "meta": { }
}
Только для приложений из категории Чат-Боты и СМС-агрегаторы. Позволяет изменить доступные каналы отправки уведомлений для приложения.
salon_id required | number Идентификатор филиала. |
application_id required | number Идентификатор приложения (выдается после создания в витрине YCLIENTS). |
channel_slug required | string Enum: "sms" "whatsapp" Канал, доступность которого необходимо изменить. |
is_available required | boolean Флаг доступности канала отправки. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке запроса) Дополнительная информация о запросе. |
success | boolean (Неуспешный статус запроса) Статус запроса. |
data | object or null (Отсутствие данных по запросу) Данные по запросу. |
object (Сообщение об ошибке валидации данных запроса) Дополнительная информация о запросе. |
{- "salon_id": 123,
- "application_id": 123,
- "channel_slug": "sms",
- "is_available": true
}
{- "success": false,
- "data": null,
- "meta": {
- "message": "Необходима авторизация"
}
}
company_id required | integer id салона |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных мастеров) |
{- "success": true,
- "data": [
- {
- "id": 3120,
- "location_id": 4564,
- "staff_id": 1071804,
- "hash": "1a27116c-726d-4cec-a7dd-7bd6d669a8c1",
- "status": 1,
- "status_title": "новые настройки",
- "is_enabled": false,
- "landing_external": "https://u7.dev.yclients.tech/tips/external/4564/1a27116c-726d-4cec-a7dd-7bd6d669a8c1/",
- "staff": {
- "id": 1071804,
- "name": "Отзывы филиал Бизнес образец",
- "specialization": "Отзывы"
}
}, - {
- "id": 1,
- "location_id": 4564,
- "staff_id": 37695,
- "hash": "abf52f53-e94c-41e8-9f76-93485fd76e5e",
- "status": 1,
- "status_title": "новые настройки",
- "is_enabled": false,
- "landing_external": "https://u7.dev.yclients.tech/tips/external/4564/abf52f53-e94c-41e8-9f76-93485fd76e5e/",
- "staff": {
- "id": 37695,
- "name": "Ким Кардашьян",
- "specialization": "Косметолог-визажист",
- "position": {
- "id": 452,
- "title": "Массажист"
}
}
}
]
}
master_tips_settings_id required | integer id настроек чаевых |
company_id required | number Идентификатор компании |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных мастеров) |
{- "success": true,
- "data": [
- {
- "id": 1,
- "location_id": 253859,
- "staff_id": 742418,
- "hash": "ba816199-eecf-4bd2-9f1d-db470545bfaf",
- "status": 3,
- "status_title": "ожидание аккаунта",
- "is_enabled": true,
- "landing_external": "https://yclients.com/tips/external/253859/ba816199-eecf-4bd2-9f1d-db470545bfaf/",
- "invite_sms_sent": false,
- "staff": {
- "id": 742418,
- "name": "Фуса",
- "specialization": "специалист",
- "employee": {
- "id": 733043,
- "phone": ""
}, - "user": {
- "id": 1553930,
- "name": "Дмитрий Иванов",
- "phone": "79774510087"
}, - "position": {
- "id": 103883,
- "title": "Йогист"
}
}
}, - {
- "id": 152763,
- "location_id": 253859,
- "staff_id": 743018,
- "hash": "b7c81cab-290a-4b0a-ad05-9c4b98ef3565",
- "status": 4,
- "status_title": "всё настроено",
- "is_enabled": true,
- "landing_external": "https://yclients.com/tips/external/253859/b7c81cab-290a-4b0a-ad05-9c4b98ef3565/",
- "invite_sms_sent": false,
- "staff": {
- "id": 743018,
- "name": "Наташа М",
- "specialization": "маникюрщица",
- "employee": {
- "id": 733547,
- "phone": ""
}, - "position": {
- "id": 103731,
- "title": "Мастер маникюра"
}
}
}
], - "meta": {
- "count": 2
}
}
company_id required | integer id салона |
master_tips_settings_id required | integer id настроек чаевых |
Accept required | string application/vnd.yclients.v2+json |
Content-Type required | string application/json |
Authorization required | string Bearer partner_token, User user_token |
success | boolean Статус успешности выполнения (true) |
Array of objects Массив объектов с данными | |
object Метаданные (содержит количество найденных мастеров) |
{- "success": true,
- "data": [
- {
- "id": 1,
- "location_id": 253859,
- "staff_id": 742418,
- "hash": "ba816199-eecf-4bd2-9f1d-db470545bfaf",
- "status": 3,
- "status_title": "ожидание аккаунта",
- "is_enabled": true,
- "landing_external": "https://yclients.com/tips/external/253859/ba816199-eecf-4bd2-9f1d-db470545bfaf/",
- "invite_sms_sent": false,
- "staff": {
- "id": 742418,
- "name": "Фуса",
- "specialization": "специалист",
- "employee": {
- "id": 733043,
- "phone": ""
}, - "user": {
- "id": 1553930,
- "name": "Дмитрий Иванов",
- "phone": "79774510087"
}, - "position": {
- "id": 103883,
- "title": "Йогист"
}
}
}, - {
- "id": 152763,
- "location_id": 253859,
- "staff_id": 743018,
- "hash": "b7c81cab-290a-4b0a-ad05-9c4b98ef3565",
- "status": 4,
- "status_title": "всё настроено",
- "is_enabled": true,
- "landing_external": "https://yclients.com/tips/external/253859/b7c81cab-290a-4b0a-ad05-9c4b98ef3565/",
- "invite_sms_sent": false,
- "staff": {
- "id": 743018,
- "name": "Наташа М",
- "specialization": "маникюрщица",
- "employee": {
- "id": 733547,
- "phone": ""
}, - "position": {
- "id": 103731,
- "title": "Мастер маникюра"
}
}
}
], - "meta": {
- "count": 2
}
}