Описание REST API
Авторизация, методы, примеры работы в API ALFACRM
REST API в Альфа CRM
Данное описание предназначено для интеграции Альфа CRM с другими информационными сервисами. Мы дополняем этот документ описанием новых методов, моделей и параметров.
Всё взаимодействие через API должно осуществляться по протоколу REST. В качестве формата данных используется JSON. Прочие форматы и протоколы не поддерживаются.
Методы API реализуются в Контроллере (MVC) виде CRUD парадигмы вокруг каждой Модели (MVC). Модель — это отдельная сущность в CRM системе, например Ученик, или Урок, или Филиал под которую реализуется отдельный Контроллер.
Примеры запросов можно посмотреть в приложенных коллекциях Postman
Рекомендации по работе с нашим API:
			
- Создание отдельного пользователя в системе для работы именно с API (особенно актуально, если передаёте информацию с доступами сторонним разработчикам, так как такой доступ всегда можно отключить).
 - Кеширование токена авторизации (также можно использовать обработку ошибок, чтобы, как только придет ошибка с кодом 401, снова делать запрос на получение токена).
 - Обработка запросов последовательно:
- сделайте запрос по API;
 - дождитесь ответа;
 - разберите полученные данные;
 - определитесь, нужно ли отправлять следующий запрос.
 
 - Сохранение результатов запросов, чтобы не выгружать одни и те же данные.
 
Важно! Максимальное количество обращений запросов к API - 5 запросов в секунду для любых методов.
По вопросам работы с нашим API можно написать на почту dev@alfacrm.pro. Ответ может занять до 3-5 рабочих дней.
Авторизация
Данные для авторизации можно найти в настройках профиля.
Наведите курсор на правый верхний угол в системе, появится контекстное меню, выберите раздел «Мой профиль».

Скопируйте данные для авторизации из полей «E-mail» и «Ключ API (v2api)».
			

Прежде чем обращаться к методам CRUD необходимо авторизоваться и получить временный
                токен. Этим токеном должен подписываться каждый 
				CRUD запрос заголовке X-ALFACRM-TOKEN.
                Время жизни токена — 3600 секунд. Для получения токена нужно обратиться методом 
				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 — пейджинацияВажно! Если в системе отключен филиал с ID 1, то в запросе необходимо указывать ID филиала, который активен в момент отправки запроса. Например:
/v2api/2/branch/index $ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"is_active":1,"page":0}' 'https://{hostname}/v2api/branch/index'
                            
							$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}
								$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"Test Branch","is_active":1}' 'https://{hostname}/v2api/branch/create'
                                
								$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"}
								$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"Test Branch 2"}' 'https://{hostname}/v2api/branch/update?id={id}'
                                
								$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                                            
									name
									is_active
									subject_ids                                            
									Location — сущность локации
POST
								на
								/v2api/{branch}/location/index
								в теле
								{"id":1,"page":0}
								id — поле для фильтрации, page — пейджинация
								$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"id":1,"page":0}' 'https://{hostname}/v2api/{branch}/location/index'
                                
								$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}
								$ 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'
                                
								$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"}
								$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New location 2"}' 'https://{hostname}/v2api/{branch}/location/update?id={id}'
                                
								$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                                            
									branch_id
									is_active
									name
									Room— сущность аудиторий
POST
								на
								/v2api/{branch}/room/index
								в теле
								{"is_enabled":1,"page":0}
								is_enabled — поле для фильтрации, page — пейджинация$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"is_enabled":1,"page":0}' 'https://{hostname}/v2api/branch/room/index'
                                
								POST
									на
									/v2api/{branch}/room/create
									в теле
									{"branch_id":1,"name":"Testing room","weight":0,"color_id":1}
									$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"branch_id":1,"name":"Testing room","weight":0,"color_id":1}' 'https://{hostname}/branch/v2api/room/create'
                                    
									POST
									на
									/v2api/{branch}/room/update?id={id} в теле
									{"name":"Test Room 2"}
									$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"Test Room 2"}' 'https://{hostname}/v2api/branch/room/update?id={id}'
                                    
									id                                            
										branch_id                                            
										location_id                                            
										streaming_id                                            
										color_id                                            
										name                                            
										note
										is_enabled
										weight                                            
										Customer — центральная сущность
POST
									на
									/v2api/{branch}/customer/index
									в теле
									{"is_study":0,"lead_status_ids":[1],"page":0}
									lead_status_ids — поле для фильтрации,is_study — поле для фильтрации 0 - лид, 1 - клиент, 2 фильтрация по клиентам и лидам, page — пейджинация Важно! При использовании дополнительной фильтрации по статусу клиента или по этапу воронки продаж, фильтр будет работать как логическое "И", а не "ИЛИ" (например, если укажем в теле запроса {"is_study":2,"phone":79900000000,"lead_status_id":1}, в ответ получим только лидов с номером телефона 79900000000 и с соответствующим id этапа воронки продаж 1).
{
    age_from // возраст клиента от
    age_to // возраст клиента до
    assigned_id // id ответственного менеджера
    balance_bonus_from // баланс бонусов от
    balance_bonus_to // баланс бонусов до
    balance_contract_from // баланс договора от
    balance_contract_to // баланс договора до
    color // id цвета
    comment // комментарий
    company_id // id юр лица
    created_at_from – дата создания от, string (формат "DD.MM.YYYY")
    created_at_to – дата создания до, string (формат "DD.MM.YYYY")
    customer_ reject_id // id причины отказа
    date_from // дата добавления от, string
    date_to // дата добавления до, string
    dob_from // дата рождения от, string
    dob_to // дата рождения до, string
    employee_id // id ответственного педагога
    first_payment_date_from // дата первой оплаты от, string
    first_payment_date_to // дата последней оплаты до, string
    gender // пол клиента
    group_id // id группы клиента
    id // id клиента
    is_study // состояние клиента ( 0 - лид, 1 - клиент)
    last_attend_date_from // дата последнего посещения от, string (формат "YYYY-MM-DD")
    last_attend_date_to // дата последнего посещения до, string (формат "YYYY-MM-DD")
    lead_source_id // id источника
    legal_name // имя заказчика
    legal_type // тип заказчика(1-физ лицо, 2-юр.лицо)
    lesson_count_from // остаток уроков от
    lesson_count_to // остаток уроков до
    level_id // id уровня знаний
    name // имя клиента
    next_lesson_date_from // дата след.посещения от, string (формат "YYYY-MM-DD")
    next_lesson_date_to // дата след.посещения до, string (формат "YYYY-MM-DD")
    note // примечание
    phone // контакты клиента
    removed // флаг архивности (2 - только архивные, 1 - активные и архивные, 0 – только активные)
    removed_from // дата отправки в архив от
    removed_to // дата отправки в архив, до
    study_status_id // id статуса обучения
    subject_id // id предмета
    tariff_id // id тарифа
    tariff_till_from // дата действия абонемента от
    tariff_till_to // дата действия абонемента до
    updated_at_from – дата внесения последних измененийот, string (формат "DD.MM.YYYY")
    updated_at_to – дата внесения последних изменений до, string (формат "DD.MM.YYYY")
    withGroups:true //активные группы клиента
}
                                        
									{
    age_from // возраст клиента от
    age_to // возраст клиента до
    assigned_id // id ответственного менеджера
    color // id цвета
    comment // комментарий
    company_id // id юр лица
    date_from // дата добавления от, string
    date_to // дата добавления до, string
    dob_from // дата рождения от, string
    dob_to // дата рождения до, string
    gender // пол клиента
    group_id // id группы лида
    id // id клиента
    is_study // состояние клиента ( 0 - лид, 1 - клиент)
    lead_reject_id // id причины потери лида
    lead_source_id // id источника
    legal_name // имя заказчика
    legal_type // тип заказчика(1-физ лицо, 2-юр.лицо)
    level_id // id уровня знаний
    name // имя клиента
    next_lesson_date_from // дата след.посещения, от, string (формат "YYYY-MM-DD")
    next_lesson_date_to // дата след.посещения до, string (формат "YYYY-MM-DD")
    note // примечание
    note // примечание, string
    phone // контакты клиента
    removed // флаг архивности (2 - только архивные, 1 - активные и архивные, 0 – только активные)
    removed_from // дата отправки в архив от
    removed_to // дата отправки в архив, до
    subject_id // id предмета
}
                                        
									$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"is_study":0,"lead_status_id":1,"page":0}' 'https://{hostname}/v2api/{branch}/customer/index'
                                    
									$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, '{"is_study":0,"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}
										$ 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'
                                        
										$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"}
										$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"Test Customer 2"}' 'https://{hostname}/v2api/{branch}/customer/update?id={id}'
                                        
										$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                                            
											name
											branch_ids                                            
											teacher_ids                                            
											is_study
											study_status_id                                            
											lead_status_ids                                            
											lead_source_id                                            
											assigned_id                                            
											legal_type
											legal_name                                            
											company_id                                            
											dob                                            
											balance                                            
											paid_lesson_count                                            
											phone                                            
											email                                            
											web                                            
											addr                                            
											note                                            
											updated_at                                             
											created_at                                             
											custom_                                            
											Customer-reject — сущность причин отказов клиентов
POST
										на
										/v2api/{branch}/customer-reject/index
										в теле
										{"page":0}
										page — пейджинация$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/customer-reject/index'
                                        
										POST
											на
											/v2api/{branch}/customer-reject/create
											в теле
											{"name":"Customer-reject test","is_enabled":1}
											$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"Customer-reject test","is_enabled":1}' 'https://{hostname}/v2api/{branch}/customer-reject/create'
                                            
											POST
											на
											/v2api/{branch}/customer-reject/update?id={id} в теле
											{"name":"Customer-reject test 2"}
											$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"Customer-reject test 2"}' 'https://{hostname}/v2api/{branch}/customer-reject/update?id={id}'
                                            
											id                                            
												name
												is_enabled
												weight                                            
												Lead-reject — сущность причин отказов лидов
POST
											на
											/v2api/{branch}/lead-reject/index
											в теле
											{"page":0}
											page — пейджинация$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/lead-reject/index'
                                            
											POST
												на
												/v2api/{branch}/lead-reject/create
												в теле
												{"name":"Lead-reject test","is_enabled":1}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"Lead-reject test","is_enabled":1}' 'https://{hostname}/v2api/{branch}/lead-reject/create'
                                                
												POST
												на
												/v2api/{branch}/lead-reject/update?id={id} в теле
												{"name":"Lead-reject test 2"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"Lead-reject test 2"}' 'https://{hostname}/v2api/{branch}/lead-reject/update?id={id}'
                                                
												id                                            
													name
													is_enabled
													weight                                            
													Bonus— сущность бонусов
POST
												на
												/v2api/{branch}/bonus/balance-bonus?customer_id={id}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d  'https://{hostname}/v2api/{branch}/bonus/balance-bonus?customer_id={id}'
                                                
											POST
												на
												/v2api/{branch}/bonus/bonus-add?customer_id={id}
												в теле
												{"amount":10} — количество бонусов
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"amount":10}' 'https://{hostname}/v2api/{branch}/bonus/bonus-add?customer_id={id}'
                                                
											POST
												на
												/v2api/{branch}/bonus/bonus-spend?customer_id={id} в теле
												{"amount":10} — количество бонусов
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"amount":10}' 'https://{hostname}/v2api/{branch}/bonus/bonus-spend?customer_id={id}'
                                                
											 branch_id                                            
													 customer_id                                            
													 amount                                            
													 date                                            
													 note                                            
													calc_balance_bonus                                            
													balance_bonus                                            
													 type                                            
													commodity_id                                            
													
												
Group — сущность групп
POST
												на
												/v2api/{branch}/group/index
												в теле
												{"id":1,"page":0}
												page — пейджинация
												{
  "ids" // id групп, array[int]
  "id" // id группы, int
  "name" //название группы, string
  "note" // примечание, string
  "customer_name" // имя клиента, string
  "removed" //активность группы(активна 0, все 1, архивна 2), int
  "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
  "updated_at_from" // дата внесения последних изменений от, string (формат "DD.MM.YYYY")
  "updated_at_to" // дата внесения последних изменений до, string (формат "DD.MM.YYYY")
  "created_at_from" // дата создания от, string (формат "DD.MM.YYYY")
  "created_at_to" // дата создания до, string (формат "DD.MM.YYYY")
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"customer_id":1,"page":0}' 'https://{hostname}/v2api/{branch}/group/index'
                                                
												$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
												в теле
												
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/group/create'
                                                
												$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"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"note":"text"}' 'https://{hostname}/v2api/{branch}/group/update?id={id}'
                                                
												$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                                            
													branch_ids                                            
													teacher_ids                                            
													name                                            
													level_id                                            
													status_id                                            
													b_date                                            
													e_date                                            
													updated_at                                           
													created_at                                            
													note                                            
													Lesson — сущность урока
POST
												на
												/v2api/{branch}/lesson/index
												в теле
												{"id":1,"page":0}
												page — пейджинация
												Важно! Если параметр status не передавать, по умолчанию status установлен как 3 - проведенный урок.
{
  "id" // id урока, int
  "status" // статус урока (1 - запланированный, 2 - отмененный, 3 - проведенный), 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" // дата от, string, (формат "YYYY-MM-DD")
  "date_to" //дата до,string, (формат "YYYY-MM-DD")
  "homework" // домашнее задание, string,
  "duration" // продолжительность, int
  "updated_at_from" // дата внесения последних изменений от, string (формат "DD.MM.YYYY")
  "updated_at_to" // дата внесения последних изменений до, string (формат "DD.MM.YYYY")
  "created_at_from" // дата создания от, string (формат "DD.MM.YYYY")
  "created_at_to" // дата создания до, string (формат "DD.MM.YYYY")
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"customer_id":1,"page":0}' 'https://{hostname}/v2api/{branch}/lesson/index'
                                                
												$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
												Обязательные поля к заполнению:
{
  "lesson_date" // дата урока, date (формат: "DD.MM.YYYY")
  "time_from" // время начала урока, datetime (формат: "HH:MM")
  "duration" // длительность урока в минутах, int
  "lesson_type_id" // id типа урока, int
  "subject_id" // id предмета, int
}
                                                    
													Необязательные поля к заполнению:
{
  "teacher_ids" // id педагога, int array
  "is_confirmed" // подтверждение урока (по умолчанию да (1)), int
  "is_public" // возможна запись онлайн (по умолчанию нет (0)), int
  "note" // комментарий, string
  "topic" // тема, string
  "room_id" // id аудитории, int
  "group_ids" // id группы (для типов уроков с системным типом “Группа или несколько”), int array
  "customer_ids" // id клиента (для типов уроков с системным типом “Лид, клиент или несколько”), int array
  "custom_name" // дополнительные поля, string
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/lesson/create'
                                                
												$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"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"note":"text"}' 'https://{hostname}/v2api/{branch}/lesson/update?id={id}'
                                                
												$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);
                                                
											POST
												на
												v2api/{branch}/lesson/teach?id={запланированного урока}
												
												
Обязательные поля к заполнению для сущности lesson:
{
  " id" // id урока, int
  "branch_id " // id филиала, int
  "lesson_date" // дата урока, date (формат: " YYYY-MM-DD")
  "time_from" // время начала урока, string (формат: "HH:MM:SS")
  "time_to" // время окончания урока, string (формат: "HH:MM:SS")
  "lesson_type_id" // id типа урока, int
  "status" // id статуса урока (1 – запланирован; 2 – отменен – 3 проведен), int
  "subject_id" // id предмета, int
   "teacher_ids // id педагога, array
   "customer_ids" // id ученика, array (для уроков с системным типом "Индивидуально" или "Лид, клиент или несколько")
   "group_ids" // id группы, array (для уроков с системным типом "Группа или несколько")
}
                                                
												Необязательные поля к заполнению для сущности lesson:
{
  "room_id " // id аудитории, int
  "note" // комментарий к уроку, string
  "topic " // тема урока, string
  "homework" // домашнее задание, string
  "custom_" // дополнительные поля в иодели урока,
}
                                                
												Обязательные поля к заполнению для поля details:
{
  "id" // id деталей урока, int (должен совпадать с id детали урока, который передавался при запросе списка запланированных уроков)
  "branch_id " // id филиала, int (должен совпадать с branch_id детали урока, который передавался при запросе списка запланированных уроков)
  "customer_id" // id клиента, int (должен совпадать с customer_id детали урока, который передавался при запросе списка запланированных уроков)
  "lesson_id" // id урока, int
  "ctt_id" // id абонемента клиента, int (должен совпадать с ctt_id детали урока, который передавался при запросе списка запланированных уроков)
  "is_attend " // присутствие клиента на уроке (1 – присутствовал; 0 – отсутствовал. Если не указывать данный параметр, то по умолчанию будет добавлено значение 0 – отсутствовал. Также при пропуске урока необходимо указать id причины пропуска урока), bool
  "reason_id" // id причины пропуска урока, int
  "commission " // комиссия за урок, float
}
                                                
												Необязательные поля к заполнению для поля details:
{
  "grade" // оценка за урок, float
  "homework_grade_id " // id оценки за домашнее задание, int
  "bonus " // тема урока, float
  "note " // примечание к клиенту, string
}
                                                
											id                                            
														branch_id                                            
														teacher_ids                                            
														customer_ids                                            
														group_ids                                            
														name                                            
														lesson_type_id                                            
														subject_id                                            
														regular_id                                            
														room_id                                            
													status                                            
													topic                                            
													date                                            
													time_from                                            
													time_to                                            
													note                                            
													details                                            
													updated_at                                             
													created_at                                            
													CGI — связь клиенты-группы
POST
												на
												/v2api/{branch}/cgi/index?group_id={id}
												group_id — поле для фильтрации, page — пейджинация
												{
    "e_date": "dd.mm.yyyy", // дата начала участия  в группе
    "b_date": "dd.mm.yyyy" // дата окончания участия  в группе
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"group_id":1,"page":0}' 'https://{hostname}/v2api/{branch}/cgi/index'
                                                
												$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={id}
												в теле
												{"customer_id":1,"page":0}
												customer_id — поле для фильтрации, page — пейджинация
												{
    "e_date": "dd.mm.yyyy", // дата начала участия  в группе
    "b_date": "dd.mm.yyyy" // дата окончания участия  в группе
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"customer_id":1,"page":0}' 'https://{hostname}/v2api/{branch}/cgi/customer'
                                                
												$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?group_id={id}
												в теле
												{"customer_id":1,"b_date":"dd.mm.yyyy","e_date":"dd.mm.yyyy","branch_id":1}
												$ 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'
                                                
												$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?group_id={id}&id={id} в теле
												{"customer_id":1,"b_date":"dd.mm.yyyy","e_date":"dd.mm.yyyy","branch_id":1}
												$ 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}'
                                                
												$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?group_id={id}&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                                            
													customer_id
													group_id
													b_date                                            
													e_date                                            
													Subject — предметы обучения
POST
												на
												/v2api/{branch}/subject/index
												в теле
												{"id":1,"page":0}
												id — поле для фильтрации, page — пейджинация
												{
  "name" // название предмета, string
  "active" // активность(true – только активные, false-все), bool
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"id":1,"page":0}' 'https://{hostname}/v2api/{branch}/subject/index'
                                                
												$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"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New subject"}' 'https://{hostname}/v2api/{branch}/subject/create'
                                                
												$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"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New subject 2"}' 'https://{hostname}/v2api/{branch}/subject/update?id={id}'
                                                
												$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                                            
													name
													StudyStatus — статусы обучения
POST
												на
												/v2api/{branch}/study-status/index
												в теле
												{"id":1,"page":0}
												id — поле для фильтрации, page — пейджинация
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"id":1,"page":0}' 'https://{hostname}/v2api/{branch}/study-status/index'
                                                
												$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}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New status","is_enabled":1}' 'https://{hostname}/v2api/{branch}/study-status/create'
                                                
												$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"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New status 2"}' 'https://{hostname}/v2api/{branch}/study-status/update?id={id}'
                                                
												$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                                            
													name
													is_enabled bool
													LeadStatus — этапы воронки продаж
POST
												на
												/v2api/{branch}/lead-status/index
												в теле
												{"id":1,"page":0}
												id — поле для фильтрации, page — пейджинация
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"id":1,"page":0}' 'https://{hostname}/v2api/{branch}/lead-status/index'
                                                
												$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}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New status","is_enabled":1}' 'https://{hostname}/v2api/{branch}/lead-status/create'
                                                
												$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"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New status 2"}' 'https://{hostname}/v2api/{branch}/lead-status/update?id={id}'
                                                
												$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                                            
													name<
													is_enabled
													LeadSource — источники
POST
												на
												/v2api/{branch}/lead-source/index
												в теле
												{"id":1,"page":0}
												id — поле для фильтрации, page — пейджинация
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"id":1,"page":0}' 'https://{hostname}/v2api/{branch}/lead-source/index'
                                                
												$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"}
												$ 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'
                                                
												$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"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"New source 2"}' 'https://{hostname}/v2api/{branch}/lead-source/update?id={id}'
                                                
												$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                                            
													code
													name
													is_enabled
													Pay — платежи
POST
												на
												/v2api/{branch}/pay/index
												в теле
												{"id":1,"page":0}
												page — пейджинация
												{
  "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 – нет) 
  "updated_at_from" // дата внесения последних изменений от, string (формат "DD.MM.YYYY")
  "updated_at_to" // дата внесения последних изменений до, string (формат "DD.MM.YYYY")
  "created_at_from" // дата создания от, string (формат "DD.MM.YYYY")
  "created_at_to" // дата создания до, string (формат "DD.MM.YYYY")
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"id":1,"page":0}' 'https://{hostname}/v2api/{branch}/pay/index'
                                                
												$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
												в теле
												{"branch_id":{branch_id},"customer_id":{customer_id},"pay_type_id":{pay_type_id},"pay_account_id":{pay_account_id},"document_date":"dd.mm.yyyy","income":{income},"payer_name":"{payer_name}","note":"{note}"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{{"branch_id":1,"customer_id":1,"pay_type_id":1,"pay_account_id":1,"document_date":"dd.mm.yyyy","income":10890.00,"payer_name":"Иванов Антон","note":"Комментарий"}}' 'https://{hostname}/v2api/{branch}/pay/create'
                                                
												$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, '{"branch_id":1,"customer_id":1,"pay_type_id":1,"pay_account_id":1,"document_date":"dd.mm.yyyy","income":10890.00,"payer_name":"Иванов Антон","note":"Комментарий"}');
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"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"income":"100500"}' 'https://{hostname}/v2api/{branch}/pay/update?id={id}'
                                                
												$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);
                                                
											POST
												на
												/v2api/{branch}/pay/fiscal-sell?id={id}&type={1 для электронных платежей|2 для наличных}
												в теле ничего не передавать
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' 'https://{hostname}/v2api/{branch}/pay/fiscal-sell?id={id}&type={1 для электронных платежей|2 для наличных}'
                                                
												$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/fiscal-sell?id={id}&type={1 для электронных платежей|2 для наличных}');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
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                                            
													branch_id                                            
													location_id                                            
													customer_id                                            
													pay_type_id                                            
													pay_account_id                                            
													pay_item_id                                            
													teacher_id                                            
													commodity_id                                            
													document_date
													income                                            
													payer_name
													group_id
													updated_at
													created_at 
													note
													Communication — коммуникации
POST
												на
												/v2api/{branch}/communication/index?class=Customer&related_id={id}
												в теле
												{"page":0}
												page — пейджинация
												{
  "id" // id коммуникации, int
  "type_id" // id типа коммуникации, int (1-комментарий)
  "user_id" // id пользователя, добавившего коммуникацию, int
  "comment" // текст коммуникации, string
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/communication/index'
                                                
												$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?class=Customer&related_id={id}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/communication/create'
                                                
												$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"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"comment":"text"}' 'https://{hostname}/v2api/{branch}/communication/update?id={id}'
                                                
												$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);
                                                
											POST
												на
												/v2api/{branch}/sms-message в теле
												{"page":0}
												page — пейджинация
												{
  "id" // id, int
  "user_id" // id пользователя отправителя SMS, int 
  "phone" // string номер телефона получателя, string
  "is_fail" // bool отправка письма (0 - без ошибок, 1 - с ошибкой), bool 
  "is_sent" // bool отправка письма (0 - не отправлено, 1 - отправлено), bool
  "is_archive" // bool письмо архивировано (0 - не архивировано, 1 - архивировано), bool
  "added_from" // string дата добавления письма от, string
  "added_to" // string дата добавления письма до, string
  "date_from" // string дата отправки письма от, string
  "date_to" // string дата отправки письма до, string
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/sms-message'
                                                
												POST
												на
												/v2api/{branch}/mail-message в теле
												{"page":0}
												page — пейджинация
												{
  "id" // id, int
  "user_id" // id пользователя отправителя email, int 
  "email" // string почта получателя, string
  "name" // string имя получателя, string
  "subject" // string тема письма, string
  "is_fail" // bool отправка письма (0 - без ошибок, 1 - с ошибкой), bool 
  "is_sent" // bool отправка письма (0 - не отправлено, 1 - отправлено), bool
  "is_archive" // bool письмо архивировано (0 - не архивировано, 1 - архивировано), bool
  "added_from" // string дата добавления письма от, string
  "added_to" // string дата добавления письма до, string
  "date_from" // string дата отправки письма от, string
  "date_to" // string дата отправки письма до, string
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/mail-message'
                                                
												POST
												на
												/v2api/{branch}/phone-call в теле
												{"page":0}
												page — пейджинация
												{
  "direction" // id направление звонка, может быть либо in (1) либо out (2), int
  "is_success" // id успешность звонка (0 или 1), 
  "local_number" // string локальный номер звонящего / принявшего звонок, string
  "remote_number" // string номер звонящего в случае входящего звонка, или исходящий номер, string
  "record_url" // string ссылка на запись звонка, string
  "date_from" // string дата звонка от, string
  "date_to" // string дата звонка до, string
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/phone-call'
                                                
												id                                            
													phone_normalized                                            
													text                                            
													html                                            
													integration_id                                            
													branch_id                                            
													type_id                                            
													class                                            
													related_id                                            
													user_id                                            
													added                                            
													comment                                            
													CustomerTariff — получение списка
абонементов клиента
POST
												на
												/v2api/{branch}/customer-tariff/index?customer_id=[id] в теле
												{"page":0}
												customer_id — id клиента, page — пейджинация
												{
  "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
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"customer_id":1,"page":0}' 'https://{hostname}/v2api/{branch}/customer-tariff/index'
                                                
												$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
												в теле
												
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/customer-tariff/create'
                                                
												$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"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"note":"text"}' 'https://{hostname}/v2api/{branch}/customer-tariff/update?id={id}'
                                                
												$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);
                                                
											POST
												на
												/v2api/{branch}/customer-tariff/delete?id=[id]&customer_id=[id]id — id абонемента в карточке клиента, customer_id — id клиента
											$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' 'https://{hostname}/v2api/{branch}/customer-tariff/delete?id=40&customer_id=1'
                                                
											id                                            
													tariff_id                                            
													subject_ids                                            
													lesson_type_ids                                            
													customer_id                                            
													is_separate_balance                                            
													balance                                            
													b_date                                            
													e_date                                            
													note                                            
													Discount — сущность скидок
POST
												на
												/v2api/{branch}/discount/index
												в теле
												{"customer_id":1,"page":0}
												page — пейджинация
												{
  "name" // название скидки, string,
  "type" // тип скидки int (1 – процентная, 2 – денежная)
  "note" //примечание к скидке, string,
  "customer_id" // id клиента, int
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"customer_id":1,"page":0}' 'https://{hostname}/v2api/{branch}/discount/index'
                                                
												$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
												в теле
												
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/discount/create'
                                                
												$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"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"note":"text"}' 'https://{hostname}/v2api/{branch}/discount/update?id={id}'
                                                
												$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                                            
													branch_id                                            
													subject_ids                                            
													lesson_type_ids                                            
													customer_id                                            
													type                                            
													amount                                            
													begin                                            
													end                                            
													note                                            
													Log — получение списка истории
изменений
POST
												на
												/v2api/{branch}/log/index
												в теле
												{"page":0}
												page — пейджинация
												{
  "date_from" // дата от, string
  "date_to" // дата до, string
  "entity" // сущность, string
  "entity_id" // id сущности,int
  "user_id" // id автора, int
  "event" // тип события, int(1 – добавление, 2 – восстановление, 3 - удаление)
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/log/index'
                                                
												$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                                            
													entity                                            
													entity_id                                            
													user_id                                            
													event                                            
													fields_old                                            
													fields_new                                            
													fields_rel                                            
													date_time                                            
													RegularLesson — сущность
регулярных уроков
POST
												на
												/v2api/{branch}/regular-lesson/index
												в теле
												{"page":0}
												page — пейджинация
												{
  "ids" // id регулярных уроков, array[int]
  "id" // id регулярного урока, int
  "subject_id" // id предмета, int
  "teacher_id" // id педагога, int
  "date_from" // дата действия от, string (применяется вместе с date_to),
  "date_to" // дата действия до, string (применяется вместе с 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 – нет)
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/regular-lesson/index'
                                                
												$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
												в теле
												
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/regular-lesson/create'
                                                
												$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"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"note":"text"}' 'https://{hostname}/v2api/{branch}/regular-lesson/update?id={id}'
                                                
												$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}</strong>/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                                            
													branch_id                                            
													lesson_type_id                                            
													related_class                                            
													related_id                                            
													subject_id                                            
													teacher_ids                                            
													room_id                                            
													day                                            
													days                                            
													time_from_v                                            
													time_to_v                                            
													b_date                                            
													e_date                                            
													Tariff — сущность абонемента
POST
												на
												/v2api/{branch}/tariff/index
												в теле
												{"page":0}
												page — пейджинация
												{
  "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
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/tariff/index'
                                                
												$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
												в теле
												
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/tariff/create'
                                                
												$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"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"note":"text"}' 'https://{hostname}/v2api/{branch}/tariff/update?id={id}>'
                                                
												$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                                            
													type                                            
													name                                            
													price                                            
													lessons_count                                            
													duration                                            
													branch_ids                                            
													Task — сущность задач
POST
												на
												/v2api/{branch}/task/index
												в теле
												{"page":0}
												page — пейджинация
												{
  "id" // id задачи, int
  "user_id" // id автора задачи, int
  "assigned_id" // id исполнителя, int
  "text" // текст задачи, string
  "priority" // id приоритета, int(1-низкий, 2 – нормальный, 3 –высокий)
  "due_date_from" // дата Исполнить от, string
  "due_date_to" // дата Исполнить до, string
  "due_date_is_null" // бессрочные задачи, bool(true-только бессрочные)
  "done_date_from" // дата исполнения от, string
  "done_date_to"// дата исполнения до, string 
  "is_done" //(true – только выполненные, false – все), bool
  "is_archive" // (true – только архивные,  false –все), bool
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/task/index'
                                                
												$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
												в теле
												
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/task/create'
                                                
												$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"}
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"note":"text"}' 'https://{hostname}/v2api/{branch}/task/update?id={id}'
                                                
												$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                                            
													company_id                                            
													user_id                                            
													assigned_ids                                            
													group_ids                                            
													customer_ids                                            
													title                                            
													text                                            
													is_archive                                            
													is_done                                            
													is_private                                            
													created_at                                            
													due_date                                            
													done_date                                            
													priority                                            
													User — сущность пользователей
POST
													на
													/v2api/{branch}/user/index
													в теле
													{"page":0}page — пейджинация{
  "name" // и, string
  "email" // почта пользователя, string
  "role_ids" // роль, [array] int
  "branch_ids"// филиал пользователя, [array] int
  "pay_account_ids"// доступ в кассы, [array] int
  "status"// статус пользователя, если в фильтре не задано, то выводятся активных и заблокированных пользователей (0 - заблокирован, 10 - активен), int. 
}
                                                    
												$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"email":"ts@gmail.com", "page":0}' 'https://{hostname}/v2api/{branch}/user/index'
                                                
												POST
														на
														/v2api/{branch}/user/create
														в теле
														{"name":"Test","email":"test@mail.ru","role_ids":[2],"branch_ids":[1]}
														Важно! При создании пользователя с ролью кабинет педагога обязательно должно быть указано значение для поля teacher_id, должен быть указан id активного педагога из указанных в запросе филиалов.
{
  "name" // ФИО пользователя, string
  "email" // почта пользователя, string,
  "role_ids" // роль, [array] int
  "branch_ids"// филиал пользователя, [array] int
}
                                                            
														{
  "phone" // номер телефона пользователя, string
  "gender" // пол (1 - жен, 0 - муж, по умолчанию 1), bool,
  "sip_number" // номер SIP, int
  "pay_account_ids"// доступ в кассы, [array] int
  "inn"// ИНН кассира, int
}
                                                        
													$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"Test","email":"test@mail.ru", "role_ids":[2],"branch_ids":[1]}' 'https://{hostname}/v2api/{branch}/user/create'
                                                    
													POST
													на
													/v2api/{branch}/user/update?id={id} в теле
													{"name":"Rename2"}
													$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"name":"Rename2"}' 'https://{hostname}/v2api/{branch}/user/update?id={id}'
                                                    
													id                                            
														name                                            
														email                                            
														phone                                            
														gender                                            
														role_ids                                            
														priority                                            
														branch_ids                                            
														sip_number                                            
														avatar_url                                            
														teacher_id                                            
														pay_account_ids                                            
														customer_id                                            
														status                                            
														inn
														last_login
														Teacher — сущность педагога
POST
													на
													/v2api/{branch}/teacher/index
													в теле
													{"page":0}
													page — пейджинация
													{
  "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,
  "e_date" // дата архивации педагога, string
}
                                                        
													$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '{"page":0}' 'https://{hostname}/v2api/{branch}/teacher/index'
                                                    
													$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/teacher-rate
													в теле
													{"page":0}
													page — пейджинация
													{
    "id" // id ставки, int,
    "teacher_id // id педагога, в карточке которого добавлена ставка, int,
    "type" // тип ставки (1 - ставка в валюте, 2 – процентная ставка), int,
    "b_date_from" // начало периода действия ставки ОТ (формат "YYYY-MM-DD"), string,
    "b_date_to" // начало периода действия ставки ДО (формат "YYYY-MM-DD"), string,
    "e_date_from" // конец периода действия ставки ОТ (формат "YYYY-MM-DD"), string,
    "e_dаate_to " // конец периода действия ставки ДО (формат "YYYY-MM-DD"), string,
    "lesson_type_ids"// id типов уроков в ставке, array,
    "subject_ids" // id предметов в ставке, array
}
                                                        
													POST
														на
														/v2api/{branch}/teacher/working-hour
														в теле
														{"page":0}
														page — пейджинация
														{
    "id" // id графика работы педагога, int,
    "location_id" // id локации, в которой работает педагог, int,
    "weekday" // день недели графика работы, int,
    "time_from" // время начала работы (формат "HH:MM"), string,
    "time_to" // время окончания работы (формат "HH:MM"), string,
    "teacher_id" // id педагога, int
}
                                                            
														POST
															на
															/v2api/{branch}/teacher/create
															в теле
															
															$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: {token}' -d '' 'https://{hostname}/v2api/{branch}/teacher/create'
                                                            
															$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}/teacher/update?id={id} в теле
															{"note":"text"}
															$ curl -i -X 'POST' -H 'X-ALFACRM-TOKEN: <strong>{token}</strong>' -d '{"note":"text"}' 'https://<strong>{hostname}</strong>/v2api/<strong>{branch}</strong>/task/teacher?id=<strong>{id}</strong>'
                                                            
															$ch     = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-ALFACRM-TOKEN: <strong>{token}</strong>', 'Accept: application/json', 'Content-Type: application/json']);
curl_setopt($ch, CURLOPT_URL, 'https://<strong>{hostname}</strong>/v2api/<strong>{branch}</strong>/task/teacher?id=<strong>{id}</strong>');
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                                            
																branch_ids                                            
																name                                            
																dob                                            
																gender                                            
																e_date                                            
																subject_id                                            
																subject_name                                            
																skill_id                                            
																skill_name                                            
																note                                            
																
																
Поля в модели working-hour
id                                            
																location_id                                            
																weekday                                            
																time_from                                            
																time_to                                            
																teacher_id
																 
															
Поля в модели teacher-rate
id                                            
															rate                                            
															type                                            
															teacher_id                                            
															b_date                                            
															e_dat                                            
															s_multirate                                            
															is_proportional                                            
															condition_attend                                            
															reason_ids                                            
															count_from                                            
															count_to                                            
															duration                                            
															lesson_type_ids                                            
															subject_ids                                            
															is_gt_zero