Плагин RestApi

Если Вам необходимо реализовать взаимосвязь стороннего сайта с СРМ системой, то для Вашего удобства предусмотрен плагин RestApi.

RestApi - код, который позволяет двум приложениям обмениваться данными с сервера.

Данный плагин и роль заранее подключаются сотрудником технической поддержки при поступлении запроса.

Перед использованием API необходимо получить токен. Для этого нужно авторизоваться и перейти на страницу /rest_api/rest_api/token.json

Теперь этот токен нужно передавать во все запросы в параметре token

Далее Вам необходимо следовать инструкции:

  • Получить токен для последующих запросов  POST

     url: /rest_api/rest_api/token.json  

     data {"User" : {"username" : "ZXXXX", "password" : "XXXXX"}} 

     header Content-Type: application/json

   Ответ {"data" : {"token" : "werwe45234234234xdxxxxxxxxxxx"}}

  • Запрос списка объектов /admin/agency/realty/index.json?api_token=xxxxxxxxxxxxxxxxxxxx&category_id=XXX&sort=updated 

   /admin/agency/realty/index.json?api_token=xxxxxxxxxxxxxxxxxxxx&category_id=XXX&sort=updated&page=NN - постраничная навигация

Swagger(документация и описание полей)

http://site.ru/rest_api/rest_api_doc/doc_html/Agency , где sete.ru - адрес вашей CRM системы.  Более красивый и удобный вид тут: http://editor.swagger.io/#

Если вы не нашли в документации возможности доступа к необходимым вам данным, вы можете организовать это через словари. В документации это методы /admin/dictionaries/dictionaries/index/Dictionary.json и /admin/dictionaries/dictionaries/edit/Dictionary.json , где Dictionary - название словаря. 

Пример реализации API для создания пользователя и кроссавторизации

Пример POSTMAN


 Загрузить json Через Fileimport
 http://site.ru/rest_api/rest_api_doc/doc/Agency.json

RestApiClientLib

   $RestApiClientLib = new RestApiClientLib(

  [

   'login' => 'api_feed',

   'password' => 'xxxxxxxx',

   'domain' => 'xxxx.ru',

   'protocol' => 'http',

 ]);

Получить токен $token = $RestApiClientLib->auth();

Запрос GET $result =  $RestApiClientLib->request('/uri/1.json', $token, 'get');

Запрос POST $result =  $RestApiClientLib->request('/uri2.json', $token, 'post', ['query' => ['category'=> 15], 'post' => ['test' => 1]]);

Запрос POST $result =  $RestApiClientLib->request('/uri2.json', $token, 'post', ['test' => 1]);

Для получения данных со страниц пользователей необходимо перейти по ссылке:

http(s)://ваш_домен/admin/dictionaries/dictionaries/index/Users.User.json

ссылки для получения данных с последующих страниц:

/admin/dictionaries/dictionaries/index/Users.User.json?page=2

/admin/dictionaries/dictionaries/index/Users.User.json?page=3

Путь к архиву объектов и заявок

/rest_api/rest_api_doc/doc_html/Agency#api-Advertisement-findArchiveAdvertisement

p.s. через API передаются все объекты из СРМ.

Путь к статусу объекта и договорам:

/rest_api/rest_api_doc/doc_html/Agency#api-Dictionary-findDictionary