Описание REST API

Авторизация, методы, примеры работы

Записаться на вебинар
Начало работы
Основные разделы
Прочие интеграции
Интеграция телефонии
Интеграция SMS
Интеграция эквайринга
Интеграция мессенджеров
Все статьи
Начало работы
Основные разделы
Прочие интеграции
Интеграция телефонии
Интеграция SMS
Интеграция эквайринга
Интеграция мессенджеров

Описание API

Авторизация и основные методы работы с сущностями Альфа CRM.

REST API в Альфа CRM

Данное описание предназначено для интеграции Альфа CRM с другими информационными сервисами. Мы дополняем этот документ описанием новых методов, моделей и параметров.

Всё взаимодействие через API должно осуществляться по протоколу REST. В качестве формата данных используется JSON. Прочие форматы и протоколы не поддерживаются.

Методы API реализуются в Контроллере (MVC) виде CRUD парадигмы вокруг каждой Модели (MVC). Модель — это отдельная сущность в CRM системе, например Ученик, или Урок, или Филиал под которую реализуется отдельный Контроллер.

Примеры запросов можно посмотреть в приложенных коллекциях Postman

Авторизация

Прежде чем обращаться к методам CRUD необходимо авторизоваться и получить временный токен. Этим токеном должен подписываться каждый CRUD запрос заголовке X-ALFACRM-TOKEN. Время жизни токена — 15 минут. Для получения токена нужно обратиться методом POST к URI /v2api/auth/login, а в теле запроса передать JSON объект с ключами email и api_key.

Авторизующийся пользователь должен иметь роль с предоставленным доступом к модулю v2api. Иначе запросы к CRUD будут возвращать исключение Access Denied.

Пример из командной строки Linux (утилита curl):

$ curl -i -X 'POST' -d '{"email":"{email}","api_key":"{api_key}"}' 'https://{hostname}/v2api/auth/login'
//Пример кода на PHP
$ch      = curl_init();
$data    = ['email' => 'ivan@mail.ru', 'api_key' => '123456'];

curl_setopt($ch, CURLOPT_HTTPHEADER, ['Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://demo.s20.online/v2api/auth/login');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

$token = $result['token'];

Варианты ответа сервера:

  • ОК, код ответа 200, в теле — JSON вида {"token":"GENERATED-TOKEN"}
  • исключение, код ответа 4XX, 5XX, в теле — JSON вида {"name":"Forbidden","message":"Not Authorized","code":0,"status":403}

Значение некоторых параметров

  • {hostname} — клиентский идентификатор, являющийся Hostname в URL для доступа в систему. Например, для https://demo.s20.online это demo.s20.online;
  • {branch} — ID филиала, в который происходит обращение;
  • {email} — e-mail пользователя для авторизации в системе;
  • {api_key} — ключ API для авторизации в системе;
  • {token} — токен, полученный при авторизации (см. блок Авторизация);

Примеры возвращаемых значений в CRUD

  • Метод Index — возвращает JSON вида {"total":2,"count":2,"page":0,"items":[]}, где total — количество записей всего, count — количество записей в текущей коллекции items, page — текущая страница результатов выдачи. В items содержится вся коллекция записей в виде объектов различных моделей.
  • Методы Create и Update — возвращает JSON вида {"success":true,"errors":[],"model":{"id":1,...}}, где success — результат выполнения запроса (true / false), errors — коллекция ошибок если success == false, model — JSON объект Модели с публичными свойствами.
  • Метод Delete — возвращает JSON вида {"success":true,"errors":[]}, где success — результат выполнения запроса (true / false), errors — коллекция ошибок если success == false.

Branch — сущность филиала

POST на /v2api/branch/index в теле {"is_active":1,"page":0}
is_active — поле для фильтрации, page — пейджинация
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"is_active":1,"page":0}' 'https://{hostname}/v2api/branch/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/branch/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"is_active":1,"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/branch/create в теле {"name":"Test Branch","is_active":1}
В Body параметры для фильтрации:

                                        
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"Test Branch","is_active":1}' 'https://{hostname}/v2api/branch/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/branch/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"Test Branch","is_active":1}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/branch/update?id={id} в теле {"name":"Test Branch 2"}
В Body параметры для фильтрации:

                                        
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"Test Branch 2"}' 'https://{hostname}/v2api/branch/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/branch/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"Test Branch 2"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
name
string(50)
наименование
is_active
bool
флаг активности
subject_ids
int array
массив идентификаторов предметов (Subject)

Location — сущность локации

POST на /v2api/{branch}/location/index в теле {"id":1,"page":0}
id — поле для фильтрации, page — пейджинация
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"id":1,"page":0}' 'https://{hostname}/v2api/{branch}/location/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/location/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"id":1,"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/location/create в теле {"name":"New location","is_active":1,"branch_id":1}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New location","is_active":1,"branch_id":1}' 'https://{hostname}/v2api/{branch}/location/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/location/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"New location","is_active":1,"branch_id":1}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/location/update?id={id} в теле {"name":"New location 2"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New location 2"}' 'https://{hostname}/v2api/{branch}/location/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/location/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"New location 2"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
branch_id
int
филиал (Branch)
is_active
bool
флаг активности
name
string(50)
наименование

Customer — центральная сущность CRM

POST на /v2api/{branch}/customer/index в теле {"lead_status_id":1,"page":0}
lead_status_id — поле для фильтрации, page — пейджинация
В Body параметры для фильтрации:
{
​    id // id клиента
    study_status_id // id статуса клиента
    name // имя клиента
    gender // пол клиента
    age_from // возраст клиента от
    age_to // возраст клиента до
    phone // контакты клиента
    legal_type // тип заказчика(1-физ лицо, 2-юр.лицо)
    legal_name // имя заказчика
    company_id // id юр лица
    lesson_count_from // остаток уроков от
    lesson_count_to // остаток уроков до
    balance_contract_from // баланс договора от
    balance_contract_to // баланс договора до
    balance_bonus_from // баланс бонусов от
    balance_bonus_to // баланс бонусов до
    removed // флаг архивности(2-только архивные, 1- активные и архивные,0 – только активные)
    removed_from // дата отправки в архив от, date
    removed_to // дата отправки в архив, date
    level_id // id уровня знаний
    assigned_id // id ответственного менеджера
    employee_id // id ответственного педагога
    lead_source_id // id источника
    color // id цвета
    note // примечание, string
    date_from // дата добавления от, date
    date_to // дата добавления до, date
    next_lesson_date_from // дата след.посещения от
    next_lesson_date_to // дата след.посещения до
    tariff_till_from // дата действия абонемента от
    tariff_till_to // дата действия абонемента до
    customer_ reject_id // id причины отказа
    comment // комментарий
    dob_from // дата рождения от
    dob_to // дата рождения до
    withGroups:true //активные группы клиента
​}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"lead_status_id":1,"page":0}' 'https://{hostname}/v2api/{branch}/customer/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/customer/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"lead_status_id":1,"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/customer/create в теле {"name":"Test Customer","legal_type":1,"is_study":0}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"Test Customer","legal_type":1,"is_study":0}' 'https://{hostname}/v2api/{branch}/customer/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/customer/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"Test Customer","legal_type":1,"is_study":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/customer/update?id={id} в теле {"name":"Test Customer 2"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"Test Customer 2"}' 'https://{hostname}/v2api/{branch}/customer/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/customer/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"Test Customer 2"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
name
string(50)
полное имя
branch_ids
int array
массив идентификаторов филиалов (Branch)
teacher_ids
int array
массив идентификаторов педагогов (Teacher)
is_study
bool
флаг обучения (0 - лид, 1 - клиент)
study_status_id
int
статус обучения (StudyStatus)
lead_status_id
int
этап воронки продаж (LeadStatus)
lead_source_id
int
источник (LeadSource)
assigned_id
int
ответственный менеджер (User)
legal_type
int
тип клиента (1 - физ. лицо, 2 - юр. лицо)
legal_name
string(50)
имя заказчика (если физ. лицо)
company_id
int
компания (Company)
dob
date
дата рождения
balance
float
текущий остаток, деньги
paid_lesson_count
int
текущий остаток, занятия
phone
text array
массив с телефонами
email
text array
массив с e-mail
web
text array
массив с сайтами
addr
text array
массив с адресами
note
text
примечание
custom_
...
доп. поля (custom_school, custom_range, etc)

Group — сущность групп

POST на /v2api/{branch}/group/index в теле {"customer_id":1,"page":0}
page — пейджинация
В Body параметры для фильтрации:
{
  "ids" // id групп, array[int]
  "id" // id группы, int
  "name" //название группы, string
  "note" // примечание, string
  "customer_name" // имя клиента, string
  "removed" //активность группы(активна, архивна)  1|2|null
  "level_id" // id уровня группы, int
  "status_id"// id статуса группы, int
  "branch_id"// id филиала, int
  "b_date_from"// дата начала действия группы от, date
  "b_date_to" // дата начала действия группы до, date,
  "e_date_from" // дата окончания действия группы от, date,
  "e_date_to" // // дата окончания действия группы до date,
  "teacher_id"// id ответственного педагога, int
}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"customer_id":1,"page":0}' 'https://{hostname}/v2api/{branch}/group/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/group/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"customer_id":1,"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/group/create в теле
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/group/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/group/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/group/update?id={id} в теле {"note":"text"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"note":"text"}' 'https://{hostname}/v2api/{branch}/group/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/group/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"note":"text"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
branch_ids
array[int]
id филиалов (Branch)
teacher_ids
array[int]
id педагогов
name
string
название
level_id
int
id уровня группы
status_id
int
id статуса группы
b_date
string
дата начала действия
e_date
string
дата окончания действия
note
string
комментарий

Lesson — сущность урока

POST на /v2api/{branch}/lesson/index в теле {"customer_id":1,"page":0}
page — пейджинация
В Body параметры для фильтрации:
{
  "id" // id урока, int
  "status" // статус урока, int
  "teacher_id" // id педагога, int
  "customer_id" // id клиента, int
  "is_customer_attend" // присутствие клиента, int
  "group_id" // id группы, int
  "subject_id" // id предмета, int
  "location_ids // id локации, array[int],
  "room_ids" // id аудитории, array[int],
  "topic" // тема урока, string,
  "lesson_type_id" //id типа урока, int
  "date_from" // дата от, date,
  "date_to" //дата до,date,
  "homework" // домашнее задание, string,
  "duration" // продолжительность, int
}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"customer_id":1,"page":0}' 'https://{hostname}/v2api/{branch}/lesson/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/lesson/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"customer_id":1,"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/lesson/create в теле
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/lesson/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/lesson/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/lesson/update?id={id} в теле {"note":"text"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"note":"text"}' 'https://{hostname}/v2api/{branch}/lesson/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/lesson/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"note":"text"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
branch_id
int
id филиала (Branch)
teacher_ids
array[int]
id педагогов
customer_ids
array[int]
id клиентов
group_ids
array[int]
id групп
name
string
название
lesson_type_id
int
id типа урока
subject_id
int
id предмета
room_id
int
id аудитории
status
int
id статуса
topic
string
тема
date
string
дата
time_from
string
время начала урока
time_to
string
время окончания урока
note
string
комментарий
details
array
детали проведенного урока

Связь клиенты-группы (CGI)

POST на /v2api/{branch}/cgi/index в теле {"group_id":1,"page":0}
group_id — поле для фильтрации, page — пейджинация
В Body параметры для фильтрации:
{
​    "e_date": "dd.mm.yyyy", // дата начала участия  в группе
    "b_date": "dd.mm.yyyy" // дата окончания участия  в группе
​}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"group_id":1,"page":0}' 'https://{hostname}/v2api/{branch}/cgi/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/cgi/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"group_id":1,"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/cgi/customer в теле {"customer_id":1,"page":0}
customer_id — поле для фильтрации, page — пейджинация
В Body параметры для фильтрации:
{
​    "e_date": "dd.mm.yyyy", // дата начала участия  в группе
    "b_date": "dd.mm.yyyy" // дата окончания участия  в группе
​}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"customer_id":1,"page":0}' 'https://{hostname}/v2api/{branch}/cgi/customer'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/cgi/customer');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"customer_id":1,"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/cgi/create в теле {"customer_id":1,"b_date":"dd.mm.yyyy","e_date":"dd.mm.yyyy","branch_id":1}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"customer_id":1,"b_date":"dd.mm.yyyy","e_date":"dd.mm.yyyy","branch_id":1}' 'https://{hostname}/v2api/{branch}/cgi/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/cgi/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"customer_id":1,"b_date":"dd.mm.yyyy","e_date":"dd.mm.yyyy","branch_id":1}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/cgi/update?id={id} в теле {"customer_id":1,"b_date":"dd.mm.yyyy","e_date":"dd.mm.yyyy","branch_id":1}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"customer_id":1,"b_date":"dd.mm.yyyy","e_date":"dd.mm.yyyy","branch_id":1}' 'https://{hostname}/v2api/{branch}/cgi/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/cgi/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"customer_id":1,"b_date":"dd.mm.yyyy","e_date":"dd.mm.yyyy","branch_id":1}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
customer_id
int
клиент (Customer)
group_id
int
группа (Group)
b_date
string(50)
дата начала обучения
e_date
string(50)
дата окончания обучения

Subject — предметы обучения

POST на /v2api/{branch}/subject/index в теле {"id":1,"page":0}
id — поле для фильтрации, page — пейджинация
В Body параметры для фильтрации:
{
  "name" // название предмета, string
  "active" // активность(true – только активные, false-все), bool
}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"id":1,"page":0}' 'https://{hostname}/v2api/{branch}/subject/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/subject/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"id":1,"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/subject/create в теле {"name":"New subject"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New subject"}' 'https://{hostname}/v2api/{branch}/subject/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/subject/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"New subject"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/subject/update?id={id} в теле {"name":"New subject 2"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New subject 2"}' 'https://{hostname}/v2api/{branch}/subject/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/subject/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"New subject 2"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
name
string(50)
наименование

StudyStatus — статусы обучения

POST на /v2api/{branch}/study-status/index в теле {"id":1,"page":0}
id — поле для фильтрации, page — пейджинация
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"id":1,"page":0}' 'https://{hostname}/v2api/{branch}/study-status/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/study-status/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"id":1,"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/study-status/create в теле {"name":"New status","is_enabled":1}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New status","is_enabled":1}' 'https://{hostname}/v2api/{branch}/study-status/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/study-status/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"New status","is_enabled":1}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/study-status/update?id={id} в теле {"name":"New status 2"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New status 2"}' 'https://{hostname}/v2api/{branch}/study-status/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/study-status/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"New status 2"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
name
string(50)
наименование
is_enabled
bool
флаг активности

LeadStatus — этапы воронки продаж

POST на /v2api/{branch}/lead-status/index в теле {"id":1,"page":0}
id — поле для фильтрации, page — пейджинация
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"id":1,"page":0}' 'https://{hostname}/v2api/{branch}/lead-status/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/lead-status/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"id":1,"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/lead-status/create в теле {"name":"New status","is_enabled":1}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New status","is_enabled":1}' 'https://{hostname}/v2api/{branch}/lead-status/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/lead-status/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"New status","is_enabled":1}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/lead-status/update?id={id} в теле {"name":"New status 2"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New status 2"}' 'https://{hostname}/v2api/{branch}/lead-status/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/lead-status/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"New status 2"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
name
string(50)
наименование
is_enabled
bool
флаг активности

LeadSource — источники

POST на /v2api/{branch}/lead-source/index в теле {"id":1,"page":0}
id — поле для фильтрации, page — пейджинация
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"id":1,"page":0}' 'https://{hostname}/v2api/{branch}/lead-source/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/lead-source/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"id":1,"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/lead-source/create в теле {"name":"New source","is_enabled":1,"code":"newcode"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New source","is_enabled":1,"code":"newcode"}' 'https://{hostname}/v2api/{branch}/lead-source/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/lead-source/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"New source","is_enabled":1,"code":"newcode"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/lead-source/update?id={id} в теле {"name":"New source 2"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New source 2"}' 'https://{hostname}/v2api/{branch}/lead-source/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/lead-source/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"New source 2"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
code
string(50)
код (альяс)
name
string(50)
наименование
is_enabled
bool
флаг активности

Pay — платежи

POST на /v2api/{branch}/pay/index в теле {"id":1,"page":0}
page — пейджинация
В Body параметры для фильтрации:
{
  "id"// id платежа, int
  "currency":"rub" // валюта платежа
  "location_id" //локация платежа, int
  "customer_id" //id клиента
  "employee_id"  //id педагога(тип платежа - Выдача зп)
  "pay_item_category_id" // id категории статей
  "pay_type_id" // тип операции, int
  "pay_item_id" // id статьи, int
  "pay_account_id" // id счета(кассы)
  "commodity_id"  // id товара(тип платежа – Продажа товара)
  "payer_name" // имя плательщика, string
  "note"  // примечение, string
  "date_from" // дата от yyyy.mm.dd
  "date_to" // дата до yyyy.mm.dd
  "sum_from" // сумма платежа от
  "sum_to" // сумма платежа до
  "bonus_from" // бонус от
  "bonus_to" // бонус до
  "is_confirmed" // подтвержден(1-да, 0-нет)
  "group_ids":[], // id групп
  "is_fiscal" // фискализован(1- фискализован, 0 –нет) 
}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"id":1,"page":0}' 'https://{hostname}/v2api/{branch}/pay/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/pay/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"id":1,"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/pay/create в теле {"name":"New source","is_enabled":1,"code":"newcode"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New source","is_enabled":1,"code":"newcode"}' 'https://{hostname}/v2api/{branch}/pay/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/pay/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"name":"New source","is_enabled":1,"code":"newcode"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/pay/update?id={id} в теле {"income":"100500"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"income":"100500"}' 'https://{hostname}/v2api/{branch}/pay/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/pay/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"income":"100500"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
branch_id
int
id филиала (Branch)
location_id
int
id локации (Location)
customer_id
int
id клиента (Customer)
pay_type_id
int
id типа платежа (PayType)
pay_account_id
int
id кассы (PayAccount)
pay_item_id
int
id статьи (PayItem)
teacher_id
int
id педагога (Teacher)
commodity_id
int
id товара (Commodity)
document_date
string
дата
income
int
сумма
payer_name
string
плательщик
note
string
примечание

Communication — коммуникации

POST на /v2api/{branch}/communication/index в теле {"page":0}
page — пейджинация
В Body параметры для фильтрации:
{
  "id" // id коммуникации, int
  "type_id" // id типа коммуникации, int (1-комментарий)
  "user_id" // id пользователя, добавившего коммуникацию, int
  "comment" // текст коммуникации, string
}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/communication/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/communication/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/communication/create в теле
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/communication/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/communication/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/communication/update?id={id} в теле {"comment":"text"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"comment":"text"}' 'https://{hostname}/v2api/{branch}/communication/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/communication/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"comment":"text"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
type_id
int
id типа коммуникации, int (1-комментарий)
class
int
класс связанной сущности
related_id
int
id связанной сущности
user_id
int
id пользователя, добавившего коммуникацию
added
string
дата
comment
string
текст

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

POST на /v2api/{branch}/customer-tariff/index в теле {"customer_id":1,"page":0}
customer_id — id клиента, page — пейджинация
В Body параметры для фильтрации:
{
  "id" // id абонемента в карточке клиента, int
  "tariff_id" // id тарифа(абонемента в разделе Абонементы), int
  "is_burnable_out" //сгораемый, bool
  "balance":int|array[from,to] // баланс абонемента
  "dead": true // архивный абонемент,(false- все абонементы)
  "tariff_type" //тип абонемента(1-поурочный, 2- помесячный, 3 – недельный) int
  "is_separate_balance" // раздельный баланс, bool
}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"customer_id":1,"page":0}' 'https://{hostname}/v2api/{branch}/customer-tariff/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/customer-tariff/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"customer_id":1,"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/customer-tariff/create в теле
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/customer-tariff/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/customer-tariff/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/customer-tariff/update?id={id} в теле {"note":"text"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"note":"text"}' 'https://{hostname}/v2api/{branch}/customer-tariff/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/customer-tariff/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"note":"text"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
tariff_id
int
id абонемента (Tariff)
subject_ids
array[int]
id предметов
lesson_type_ids
array[int]
id типов уроков
customer_id
int
id клиента (Customer)
is_separate_balance
bool
раздельный счет
balance
int
баланс
b_date
string
дата начала действия
e_date
string
дата окончания действия
note
string
комментарий

Discount — сущность скидок

POST на /v2api/{branch}/discount/index в теле {"customer_id":1,"page":0}
page — пейджинация
В Body параметры для фильтрации:
{
  "name" // название скидки, string,
  "type" // тип скидки int (1 – процентная, 2 – денежная)
  "note" //примечание к скидке, string,
  "customer_id" // id клиента, int
}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"customer_id":1,"page":0}' 'https://{hostname}/v2api/{branch}/discount/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/discount/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"customer_id":1,"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/discount/create в теле
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/discount/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/discount/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/discount/update?id={id} в теле {"note":"text"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"note":"text"}' 'https://{hostname}/v2api/{branch}/discount/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/discount/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"note":"text"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
branch_id
int
id филиала (Branch)
subject_ids
array[int]
id предметов
lesson_type_ids
array[int]
id типов уроков
customer_id
int
id клиента (Customer), может быть null (для всех)
type
int
тип скидки int (1 – процентная, 2 – денежная)
amount
int
значение скидки
begin
string
дата начала действия
end
string
дата окончания действия
note
string
комментарий

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

POST на /v2api/{branch}/log/index в теле {"page":0}
page — пейджинация
В Body параметры для фильтрации:
{
  "date_from" // дата от, date
  "date_to" // дата до, date
  "entity" // сущность, string
  "entity_id" // id сущности,int
  "user_id" // id автора, int
  "event" // тип события, int(1 – добавление, 2 – восстановление, 3 - удаление)
}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/log/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/log/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
entity
string
сущность
entity_id
int
id сущности
user_id
int
id пользователя
event
string
тип события, int(1 – добавление, 2 – восстановление, 3 - удаление)
fields_old
array
поля "до"
fields_new
array
поля "после"
fields_rel
array
связанные поля
date_time
string
дата/время

RegularLesson — сущность регулярных уроков

POST на /v2api/{branch}/regular-lesson/index в теле {"page":0}
page — пейджинация
В Body параметры для фильтрации:
{
  "ids" // id регулярных уроков, array[int]
  "id" // id регулярного урока, int
  "subject_id" // id предмета, int
  "teacher_id" // id педагога, int
  "date_from" // дата действия от, date (применяется вместе с date_to),
  "date_to" // дата действия до, date (применяется вместе с date_from), 
  "time_from" // время от, string "Y-m-d H:i:s" (применяется вместе с time_to),
  "time_to" // время до, string "Y-m-d H:i:s" (применяется вместе с time_from),
  "public" // доступны для записи, int(1- да, 0 – нет)
}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/regular-lesson/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/regular-lesson/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/regular-lesson/create в теле
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/regular-lesson/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/regular-lesson/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/regular-lesson/update?id={id} в теле {"note":"text"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"note":"text"}' 'https://{hostname}/v2api/{branch}/regular-lesson/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/regular-lesson/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"note":"text"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
branch_id
int
id филиала (Branch)
lesson_type_id
int
id типа урока
related_class
string
Group|Customer
related_id
int
id связанной сущности
subject_id
int
id предмета
teacher_ids
array[int]
id преподавателей
room_id
int
id аудитории
day
string
день недели
days
string
дни
time_from_v
string
время начала занятия
time_to_v
string
время завершения занятия
b_date
string
дата начала действия
e_date
string
дата завершения действия

Tariff — сущность абонемента

POST на /v2api/{branch}/tariff/index в теле {"page":0}
page — пейджинация
В Body параметры для фильтрации:
{
  "name" // название абонемента, string
  "price" // стоимость абонемента, float
  "price_from" // стоимость абонемента от, float
  "price_to": // стоимость абонемента до,  float
  "type": // тип тарифа (1 – поурочный, 2 – помесячный, 3 – недельный),int
  "calculation_type" // тип расчета(1-базовый, 2- раздельный), int
  "is_archive": bool // (true – архивные, false – все)
  "lessons_count" // количество уроков, int
}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/tariff/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/tariff/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/tariff/create в теле
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/tariff/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/tariff/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/tariff/update?id={id} в теле {"note":"text"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"note":"text"}' 'https://{hostname}/v2api/{branch}/tariff/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/tariff/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"note":"text"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
type
int
тип тарифа (1 – поурочный, 2 – помесячный, 3 – недельный)
name
string
название
price
int
полная стоимость
lessons_count
int
кол-во занятий
duration
int
длительность одного занятия
branch_ids
array[int]
id филиалов (Branch)

Task — сущность задач

POST на /v2api/{branch}/task/index в теле {"page":0}
page — пейджинация
В Body параметры для фильтрации:
{
  "id" // id задачи, int
  "user_id" // id автора задачи, int
  "assigned_id" // id исполнителя, int
  "title" // название задачи, string
  "priority" // id приоритета, int(1-низкий, 2 – нормальный, 3 –высокий)
  "due_date_from" // дата Исполнить от, date
  "due_date_to" // дата Исполнить до, date
  "due_date_is_null" // бессрочные задачи, bool(true-только бессрочные)
  "done_date_from" // дата исполнения от, date
  "done_date_to"// дата исполнения до, date 
  "is_done" //(true – только выполненные, false – все), bool
  "is_archive" // (true – только архивные,  false –все), bool
}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/task/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/task/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/task/create в теле
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/task/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/task/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/task/update?id={id} в теле {"note":"text"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"note":"text"}' 'https://{hostname}/v2api/{branch}/task/update?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/task/update?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"note":"text"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
company_id
int
id связанной компании
user_id
int
id пользователя, создавшего задачу
assigned_ids
array[int]
id участников задачи
group_ids
array[int]
id прикрепленных групп
customer_ids
array[int]
id прикрепленных клиентов
title
string
заголовок задачи
text
string
текст задачи
is_archive
bool
флаг архивности
is_done
bool
флаг завершенности
is_private
bool
флаг приватности
created_at
string
дата создания
due_date
string
дата дедлайна
done_date
string
дата завершения
priority
int
приоритет (1-низкий, 2 – нормальный, 3 –высокий)

Teacher — сущность педагога

POST на /v2api/{branch}/teacher/index в теле {"page":0}
page — пейджинация
В Body параметры для фильтрации:
{
  "name" // имя педагога, string
  "phone" // контакты педагога, string,
  "removed" // флаг архивности(2-только архивные,1 –активные и архивные, 0 –активные), int
  "age_from"// возраст от, int
  "age_to"// возраст до, int
  "subject_id"// id предмета, int
  "skill_id"// id квалификации int,
  "branch_id"// id филиала, int
}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/teacher/index'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/teacher/index');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"page":0}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/teacher/create в теле
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/teacher/create'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/teacher/create');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
POST на /v2api/{branch}/task/teacher?id={id} в теле {"note":"text"}
Пример из командной строки Linux (утилита curl):
$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"note":"text"}' 'https://{hostname}/v2api/{branch}/task/teacher?id={id}'
Пример на PHP:
$ch     = curl_init();

curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: {token}', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://{hostname}/v2api/{branch}/task/teacher?id={id}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"note":"text"}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = json_decode(curl_exec($ch), true);
$code   = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if (curl_errno($ch))
    throw new \Exception('Curl error');

curl_close($ch);

if ($code !== 200)
    throw new \Exception($result['name'] . ' - ' . $result['message']);

var_dump($result);
id
int
идентификатор
branch_ids
array[int]
id филиалов (Branch)
name
string
имя педагога
dob
string
день рождения
gender
int
пол
note
string
примечание

Остались вопросы?

Техническая поддержка, отдел продаж и отдел разработки готовы ответить на любые вопросы. Напишите, позвоните или можете приехать в офис и познакомиться лично :)

Мы используем файлы cookie, чтобы обеспечить вам удобство работы с сайтом.
Используя ALFACRM, вы соглашаетесь с использованием файлов cookie.