API
Служит для взаимодействия с приложение. Доступны методы: регистрация пользователя, добавление, выборка, обновление и удаление записей и т.д.
Где и как можно использовать API
- Есть необходимость при регистрации клиента на вашем сайте, также создавать для него учетную запись в системе.
- У вас на сайте есть оформление заказа и вам нужно, чтобы часть данных попадала в Руководитель для отчетности.
- Вы хотите отобразить у себя на сайте часть публичных данных из какого-либо отчета.
- Интеграция со сторонними сервисами. К примеру, у вас в Руководителе есть база адресов, и вы хотите показать их на карте в своем формате. С помощью API можно выбрать данные из базы и отобразить с помощью стороннего сервиса. Это можно делать в реальном времени.
Чтобы начать использовать API, вам необходимо разрешить доступ к API и сгенерировать ключ. Это можно сделать на странице: Дополнение - Инструменты - API.
Далее, для вызова методов API, вам понадобится логин и пароль пользователя. Рекомендуется создавать отдельного пользователя для работы с API и настраивать доступ только к тем Сущностям, которые будут использоваться через API.
Вызов методов API можно осуществлять напрямую через PHP
или через JSON
.
Обратите внимание: приведенные примеры для работы с API не предназначены для применения на вашем приложении. Каждое приложение, созданное в программе CRM Руководитель, имеет свои уникальные идентификаторы полей и сущностей, которые необходимо использовать в API коде.
Пример 1 (PHP):
$params = array(
'key' => 'KUhUvp8sGZv1vIlQATEQXr4HJT4SsWEjd8LWGSN6',
'username' => 'admin',
'password' => 'admin',
'action' => 'select',
'entity_id' =>21
);
$ch = curl_init('http://localhost/rukovoditel/product_3.6/api/rest.php');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$result = curl_exec($ch);
curl_close($ch);
if($result)
{
$result = json_decode($result,true);
}
Пример 2 (JSON):
$json_string = '
{
"key": "KUhUvp8sGZv1vIlQATEQXr4HJT4SsWEjd8LWGSN6",
"username": "admin",
"password": "admin",
"action": "select",
"entity_id": 21
}
';
$ch = curl_init('http://localhost/rukovoditel/product_3.6/api/rest.php');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER,array("Content-type: application/json"));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_string);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$result = curl_exec($ch);
curl_close($ch);
if($result)
{
$result = json_decode($result,true);
}
При успешном выполнении API возвращает status: success
Array
(
[status] => success
[data] => []
)
В случае ошибки, возвращает status: error
и текст ошибки:
Array
(
[status] => error
[error_code] =>
[error_message] => field_429 not exist in entity 34
)