Плагин 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 для создания пользователя и кроссавторизации
Загрузить 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
Путь к архиву объектов и заявок
/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