Описание REST API

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

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

Описание API

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

REST API в Альфа CRM

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

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

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

Авторизация

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

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

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

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

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

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

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

curl_close($ch);

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

$token = $result['token'];

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

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

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

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

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

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

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

curl_close($ch);

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

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

LeadSource — источники

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

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

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

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

curl_close($ch);

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

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

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

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

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

curl_close($ch);

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

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

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

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

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

curl_close($ch);

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

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

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

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

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