Известные методы API

Как формируется ссылка для запросов в API уточняется в статье под названием "API". 

Здесь коротко об известных методах API.

Получение списков

Пагинация достигается путем передачи параметра offset. Результирующая выборка будет возвращена начиная с элемента с индексом offset.

Список визитов и продаж клиента (сокращенный, самая основная информация по визиту/продаже) - возвращается список визитов, измененных после указанной даты:

https://klientiks.ru/clientix/Restapi/list/a/AAAA/u/UUU/t/TTT/m/AppointmentClientLinks/ik/orders/rvwk/status,statuses/?date={Таймстемп}

В результатах запроса будет приходить флаг is_sale. Если его значение true, то это продажа товара, если false, то это визит.

Формирование {Таймстемп} (time stamp) можно посмотреть например Здесь

Получение визитов клиента(AppointmentClientLinks по client_id, по статусу):

http://klientiks.ru/clientix/Restapi/getACL/a/AAAA/u/UUU/t/TTT/clientId/АЙДИ_КЛИЕНТА/status/scheduled
не обязательно указывать оба поля, можно передать только /clientId/<id> или /status/<status>

Клиентов встречи можно получить только в свойстве appointment_client_links

Поиск визита по ID:

http://klientiks.ru/clientix/Restapi/getAppointment/a/AAA/u/UUU/t/TTT/id/АЙДИ_ВИЗИТА

Список клиентов:

https://klientiks.ru/clientix/Restapi/list/a/AAAA/u/UUU/t/TTT/m/clients/

Список сотрудников:

https://klientiks.ru/clientix/Restapi/list/a/AAAA/u/UUU/t/TTT/m/Users/

Список услуг:

https://klientiks.ru/clientix/Restapi/list/a/AAAA/u/UUU/t/TTT/m/Services/

Примечание: Количество  выводимых услуг зависит от полномочий сотрудника (user id), из под которого делается запрос

Получить ID счета клиента:

https://klientiks.ru/clientix/Restapi/list/a/AAAA/u/UUU/t/TTT/m/getAccountFinancialAccountIdByClient/?client_id=АЙДИ_КЛИЕНТА

Получить ID  бонусного счета клиента:

https://klientiks.ru/clientix/Restapi/list/a/AAAA/u/UUU/t/TTT/m/getAccountFinancialAccountIdByClientBonus/?client_id=АЙДИ_КЛИЕНТА

Получить баланс счета:

https://klientiks.ru/clientix/Restapi/list/a/AAAA/u/UUU/t/TTT/m/getBalance/?financial_account_id=АЙДИ_СЧЕТА

Получение списка абонементов:

https://klientiks.ru/clientix/Restapi/list/a/AAAA/u/UUU/t/TTT/m/ServicePacks/

Получение списка оплат за дату:

https://klientiks.ru/clientix/Restapi/list/a/AAAA/u/UUU/t/TTT/m/getRevenueTransactions/from/<Дата>/

 <Дата> - дата в формате ГГГГ-ММ-ДД

 

Получить время, доступное для записи на прием:

Метод позволяет получить доступное время для записи исходя из расписания, сотрудников и услуг виджета онлайн записи.

Принимает на вход четыре аргумента:

start_day - обязательный. Дата, за которую нужно показать свободное время.

finish_day - необязательный. Конечная дата. В этом случае будет показано свободное время от start_day до finish_day 

service_id[] - необязательный. Выбранная услуга. В таком случае будет показано только время мастеров, которые оказывают подобную услугу

employee_id - необязательный. Выбранный сотрудник. В таком случае, будет возвращено только свободное время выбранного сотрудника

Метод api использует связи сотрудников и услуг, заданные в настройках формы онлайн-записи.
Чтобы можно было получить время записи к конкретному сотруднику и/или на конкретные услуги, нужно настроить эту форму в разделе клиентикс Возможности -> Онлайн запись.
На втором шаге настройки формы онлайн записи задается соответствие услуг, на которые можно записаться и сотрудников, которые их исполняют.

https://klientiks.ru/clientix/Restapi/list/a/AAAA/u/UUU/t/TTT/m/availableTimes?start_day=2016-12-07&service_id={ServiceId}&employee_id={ExecutorId}

Данный метод возвращает свободное время только  под 60-ти минутные записи.

Добавление сущностей

Добавление клиента:

https://klientiks.ru/clientix/Restapi/add/a/AAAA/u/UUU/t/TTT/m/Clients/

В качестве POST параметров передаются параметры клиента:

  • first_name
  • second_name
  • phone
  • email
  • client_groups - группы клиента через запятую
  • lead_source - источник клиента
  • appointment_cofirmation_sms - подтверждение на согласие получать SMS
  • sex - (1- male, 0 - female)
  • living_address - адрес
  • доп поля.

Добавление звонка:

https://klientiks.ru/clientix/Restapi/add/a/AAAA/u/UUU/t/TTT/m/Calls/

На текущий момент метод создания звонка заточен под интеграцию с платформой iToolLabs. Если требуются какие то доработки, то пишите.

В качестве POST параметров передаются параметры клиента:

  • phone - телефон звонящего(клиента), по нему ведется поиск в базе клиентов, и если клиента с таким номером в базе еще нету, он сразу же создается
  • type - 'INCOMING', 'outgoing', любое другое текстовое значение.
  • link - ссылка на запись звонка
  • status - статус звонка. строка. 
  • duration - длительность звонка в секундах.
  • ext - добавочный номер сотрудника, который поднял трубку, который хранится в модели сотрудника в поле itool_labs_voip_internal_number, по нему определяется к какому сотруднику привязать звонок
  • callid - идентификатор звонка
  • cmd - принимаем два значения. 'event' - когда нужно показать всплывающее уведомление о входящем звонке. В этой ситуации будет создано уведомление (если значение type равно "INCOMING"). 'history' - для создания записи о звонке(уведомление не создается).

Пример запроса:

https://klientiks.ru/clientix/Restapi/add/a/AAA/u/UUU/t/TTT/m/Calls/phone/84993722274/type/IN/link/lalala/status/ANSWERED/duration/19/ext/89687786557/callid/150710871688942/cmd/event

Создание визита (одиночная запись) :

https://klientiks.ru/clientix/Restapi/add/a/AAAA/u/UUU/t/TTT/m/Appointments/

В качестве POST параметров передаются параметры визита: 

  • client_id - идентификатор клиента,
  • executor_id - идентификатор исполнителя,
  • status - статус визита (обязательное поле), может содержать cancelled, in_progress, scheduled, finished, missed, confirmed, cancelled_by_sms, sms_confirmation_sent
  • start_datetime - дата и время начала визита в формате "2016-12-06 16:15:00", кол-во минут должно быть кратно 15-ти
  • finish_datetime - дата и время конца визита в формате "2016-12-06 16:15:00", кол-во минут должно быть кратно 15-ти
  • appointed_services -  [125102,124525] - массив идентификаторов услуг, указывается в квадратных скобках
  • subclient_id - идентификатор субклиента для версии с субКлиентами.

ОБРАТИТЕ ВНИМАНИЕ! Параметр Дата и время начала/окончания задаются по типу:

&start_datetime=2017-09-08&finish_datetime=2017-09-08&start_time=12:00:00&finish_time=12:30:00

Добавление клиента в визит (групповая запись) :

https://klientiks.ru/clientix/Restapi/add/a/AAAA/u/UUU/t/TTT/m/AppointmentClientLinks

Для редактирования визита обязательные параметры: appointment_id, client_id или массив client_ids

В качестве POST запроса передаются следующие параметры:

  • appointment_id - идентификатор записи
  • client_id - идентификатор клиента
  • client_ids - [125102,124525] - массив идентификаторов клиентов
  • status -строка, статус визита для клиента (scheduled,cancelled,missed,finished,in-progress)
  • service_pack_id - идентификатор скидки или абонемента
  • appointment_source - строка, источник визита
  • internal_source - строка, внутренний источник визит INTERNAL_SOURCE_VK,INTERNAL_SOURCE_SITE,INTERNAL_SOURCE_CALL)

Добавление записи в лист ожидания :

https://klientiks.ru/clientix/Restapi/add/a/AAA/u/UUU/t/TTT/m/Appointments/s/waitingListItemAdd


обязательные параметры

  • client_id - id клиента в Клиентикс
  • start_datetime- дата в формате yyyy-mm-dd, на которую создается запись в лист ожидания

не обязательные

  • urgent - флаг, значение 1 - Срочно (который запись в ЛО поднимает наверх списка)
  • executor_id - id исполнителя записи
  • client_memo - комментарий, который будет добавлен к заметке клиента

Пример запроса:

/client_id/111111/start_datetime/2017-12-06/urgent/1/executor_id/222222/client_memo/тест коммент/

Добавление расписания сотруднику:

https://klientiks.ru/clientix/Restapi/add/a/AAAA/u/UUU/t/TTT/m/ScheduleUnit/

В качестве POST запроса передаются следующие параметры:

  • user_id - идентификатор сотрудника или кабинета
  • start_time - дата время начала ('Y-m-d H:i')
  • end_time - дата время конца ('Y-m-d H:i')

Добавление оплаты по счету: 

https://klientiks.ru/clientix/Restapi/add/a/AAAA/u/UUU/t/TTT/m/Invoices/

В качестве POST запроса передаются следующие параметры:

  • id - идентификатор счета
  • financial_account_id - идентификатор финансового счета (кассы)
  • amount - размер оплаты

Создание счета:

https://klientiks.ru/clientix/Restapi/add/a/AAAA/u/UUU/t/TTT/m/Invoices/s/addForm/

В качестве POST запроса передаются следующие параметры:

  • object_type - 'abonement' или 'appointment' или 'sale'
  • object_id - идентификатор объекта
  • client_id - идентификатор клиента

Добавление DynamicFields - динамического поля:

https://klientiks.ru/clientix/Restapi/add/a/AAAA/u/UUU/t/TTT/m/DynamicFields/

В качестве POST параметров передаются параметры поля:

  • model - модель к которой добавлется новое поле,
  • data - JSON массив с конфигурацией отображения нового поля. Пример(добавляет к форме редактирования мед карты клиента два поля INVOICE_SUBJECT4,INVOICE_SUBJECT5):
[{  "setFields": {
        "INVOICE_SUBJECT4": { "type": "text" },
        "INVOICE_SUBJECT5": { "type": "text" }
    },
    "setJsonFields": [ "INVOICE_SUBJECT4", "INVOICE_SUBJECT5" ],
    "setRules": [[ "INVOICE_SUBJECT4, INVOICE_SUBJECT5", "safe" ]],
    "setViews": {
        "editPatientCard": {
            "elements": {
                "INVOICE_SUBJECT4": {
                    "label": "INVOICE_SUBJECT4",
                    "type": "textarea",
                    "dynamic_field": true
                },
                "INVOICE_SUBJECT5": {
                    "label": "INVOICE_SUBJECT5",
                    "type": "textarea",
                    "dynamic_field": true
                }
            }
        }
    }
}]

Редактирование сущностей:

Редактирование клиента :

https://klientiks.ru/clientix/Restapi/edit/a/AAAA/u/UUU/t/TTT/m/Clients/

Для редактирования клиента обязательный параметр id
В качестве POST запроса передаются параметры клиента:

  • id - идентификатор клиента
  • first_name - имя
  • second_name - фамилия
  • patron_name - отчество
  • phone - номер телефона
  • client_groups - группы клиента
  • sex - пол (1- male, 0 - female)
  • birth_date - день рождения
  • lead_source - источник клиента
  • email - email
  • living_address - адрес

Редактирование визита (одиночная запись) (Appointments):

https://klientiks.ru/clientix/Restapi/edit/a/AAAA/u/UUU/t/TTT/m/Appointments/

Для редактирования визита обязательные параметры: id, executor_id, start_datetime, finish_datetime

В качестве POST запроса передаются параметры записи:

  • id - идентификатор визита
  • executor_id - идентификатор исполнителя
  • start_datetime - время началала визита в формате "2016-12-06 16:15:00", кол-во минут должно быть кратно 15-ти
  • finish_datetime - время окончания визита в формате "2016-12-06 16:15:00", кол-во минут должно быть кратно 15-ти
  • services_ids - [125102,124525] массив идентификаторов услуг
  • subclient_id - идентификатор субклиента для версии с субКлиентами.
  • client_id - идентификатор клиента

Редактирование визита клиента (AppointmentClientLinks)

Отличие от сущности выше в том, что сущность Appointments отражает данные одиночного или группового визита, которые на зависят от клиента, то есть время, дата, общее кол-во услуг. Сущность же AppointmentClientLinks содержит информацию о привязке к визита клиента, и другой уже связанной с клиентом информации.

  • id - идентификатор сущности
  • appointment_id - идентификатор визита
  • client_id - идентификатор клиента
  • status - статус визита (scheduled,confirmed,in-progress,finished,cancelled,missed)
  • service_pack_id - идентификатор скидки или абонемента(сертификата)
  • appointment_source - источник визита (в том числе параметр roistat_visit)
  • subclient_id - идентификатор субклиента
  • paid - идентификатор оплаты 

Изменение баланса клиента (депозитный и бонусный счета)

https://klientiks.ru/clientix/Restapi/add/a/AAAA/u/UUU/t/TTT/m/FinancialTransaction/

В качестве POST запроса передаются следующие параметры:

  • financial_account_id - идентификатор счета, сюда нужно передать идентификатор финансового счета клиента
  • description - описание
  • credit или debit - сколько вычитаем или добавляем на счет
  • delta - сколько вычитаем, или добавляем, со знаком (-500 или 500)
  • invoice_id - идентификатор счета (необязательный параметр)

    Примечание: Имеется ввиду, если в запросе credit, то указывая число воспринимается однозначно со знаком минус (вычитаем).
    Если delta, то указывая -500 воспринимается как credit

Смена статуса счета:

https://klientiks.ru/clientix/Restapi/edit/a/AAAA/u/UUU/t/TTT/m/Invoices

В качестве POST запроса передаются следующие параметры:

  • id - идентификатор счета
  • deposit - 1/0 можно ли использовать депозит клиента или нет
  • negative_allowed - 1/0 - можно ли при этом уходить в минус
  • bonus - 1/0 можно ли использовать бонусный счет клиента или нет
  • bonus_amount - сколько бонусов можно списать
  • paid 1/0 - статус счета

Важно: если счет в рамках счета до этого не было поступлений средств и параметр depost = 0, то статус счета сменен не будет.

Назначение абонемента клиенту:

https://klientiks.ru/clientix/Restapi/edit/a/AAAA/u/UUU/t/TTT/m/ServicePacksAbonement/

обязательно нужно передать client_id и все остальные параметры, которые передаются в системе при продаже абонемента (можно через network в панели разработчика посмотреть).

Редактирование расписания сотрудника:

https://klientiks.ru/clientix/Restapi/edit/a/AAAA/u/UUU/t/TTT/m/ScheduleUnit/

В качестве POST запроса передаются следующие параметры:

  • id - идентификатор записи в расписании
  • start_time - дата время начала ('Y-m-d H:i')
  • end_time - дата время конца ('Y-m-d H:i')

Установить клиенту источник визита(Roistat)

https://klientiks.ru/clientix/restapi/setClientRoistatVisit/a/AAAA/u/UUUU/t/TTTT/id/<clientId>/visit/123456

Если у клиента еще не было визитов, то создастся фейковый визит, время жизни которого будет равняться двум неделям.

Получение визитов клиента, включая "фейковые", созданные предыдущим запросом (Расширения метода "Список визитов и продаж клиента")

https://klientiks.ru/clientix/Restapi/roistatExportAcl/a/AAAA/u/UUUU/t/TTTT/ik/orders/rvwk/status,statuses/?date=1508567132

 

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0
Еще есть вопросы? Отправить запрос

0 Комментарии

Войдите в службу, чтобы оставить комментарий.
На базе технологии Zendesk