Описание 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
name
is_active
subject_ids
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
branch_id
is_active
name
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
name
branch_ids
teacher_ids
is_study
study_status_id
lead_status_id
lead_source_id
assigned_id
legal_type
legal_name
company_id
dob
balance
paid_lesson_count
phone
email
web
addr
note
custom_
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
name
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
name
is_enabled
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
name
is_enabled
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
code
name
is_enabled