Служит для взаимодействия с приложение. Доступны методы: регистрация пользователя, добавление, выборка, обновление и удаление записей и т.д.

Где и как можно использовать API

  1. Есть необходимость при регистрации клиента на вашем сайте, также создавать для него учетную запись в системе. 
  2. У вас на сайте есть оформление заказа и вам нужно, чтобы часть данных попадала в Руководитель для отчетности. 
  3. Вы хотите отобразить у себя на сайте часть публичных данных из какого-либо отчета. 
  4. Интеграция со сторонними сервисами. К примеру, у вас в Руководителе есть база адресов, и вы хотите показать их на карте в своем формате. С помощью 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
)