ИНТЕГРАЦИЯ С ROISTAT

Описание настройки

Минимальная Настройка:

1) Создать проект. https://cloud.roistat.com/projects
2) Зайти в «каталог интеграций», выбрать интеграцию по API.
3) Добавит счетчик: «Настройки» → «Код счетчика». Добавить код на страницы сайта. Тут же можно проверить как работает добавленный код на сайте.
4) В «ловце лидов» нажать ползунок ВКЛ. Тут можно настроить как будет отображаться форма на сайте и какие поля будут использоваться.
5) сообщить в агбис API-ключ и номер проекта для настройки выгрузки.

Для пересчета всех счетчиков на странице https://cloud.roistat.com/projects/107362/health
нажать Обновит все данные. Данную операцию можно выполнять 1 раз в час.

С нашей стороны были реализованы выполнения их команд
RoistatURL = 'https://cloud.roistat.com/api/v1/project/';

LEADS = 'proxy-leads'; - загрузка список лидов из roistat.
SET_STATUSES = 'set-statuses'; - выгрузка списка статусов заказов в roistat.
ADD_ORDERS = 'add-orders'; - добавление заказа  в roistat    
UPDATE_ORDERS = 'integration/order/%orderId%/status/update'; - обновление заказа  в roistat
DELETE_ORDERS = 'integration/order/%orderId%/delete'; - удаление заказе  в roistat
CLIENTS_IMPORT = 'clients/import'; - импорт клиентов в roistat

Описание команд

Выгрузка раз в 1 час.
Порядок выполнения запросов:
1) Загрузка лидов из Roistat в Агбис.
2) Выгрузка клиентов из Агбис в Roistat.
3) Выгрузка новых заказов из Агбис в Roistat.
4) Выгрузка изменённых/отменённых заказов из Агбис в Roistat.
Между выгрузками и запросами делаем паузу, чтобы не попасть под ограничение Riostat.

1) Загрузка лидов из Roistat в Агбис.
выполняемый GET запрос URL = https://cloud.roistat.com/api/v1/project/proxy-leads?project=103761&key=8264b240073cc3a335f2465cd1c04f63&period=2019-05-28-2019-05-29
Headers = 'Accept-Encoding: gzip,deflate'
MimeType = 'application/json'

Полученные данные:

{"ProxyLeads":[{"id":"22","title":"Новая сделка 799","text":"","name":"Ульяна 799","phone":"9166190383","email":"","roistat":"799","creation_date":"2019-05-29 01:31:23","order_id":null,"order_fields":{"message":"Две шторы высотой 280см и шириной 150см \nНужно подшить до высоты 260см"}},{"id":"21","title":"Новая сделка 569","text":"","name":"Татьяна 569","phone":"9255880672","email":"","roistat":"569","creation_date":"2019-05-28 13:36:24","order_id":null,"order_fields":{"message":"1см высота"}},{"id":"20","title":"Новая сделка 333","text":"","name":"ТЕСТ BIK 333","phone":"9503217398","email":"","roistat":"333","creation_date":"2019-05-28 09:11:21","order_id":null,"order_fields":{"message":"тест"}},{"id":"18","title":"Новая сделка 373","text":"","name":"Полина 373","phone":"9168242300","email":"","roistat":"373","creation_date":"2019-05-28 08:08:14","order_id":null,"order_fields":{"message":"Нужно подшить американкой шёлковый платок 70х70"}}],"status":"success"}


2) Выгрузка клиентов из Агбис в Roistat.
Данные в теле запроса:

[{"id": "10015944", "name": "Александров Григорий Викторович", "phone": "+79152210404", "email": ""},{"id": "10014768", "name": "Конышев Константин Львович", "phone": "+79166531303", "email": ""},{"id": "10015711", "name": "Рожкова Наталья Ивановна", "phone": "+79169643053", "email": ""},{"id": "10216912", "name": "Коган Игорь Вячеславович", "phone": "", "email": ""},{"id": "10015800", "name": "Гурьева Наталья Леонтьевна", "phone": "+79269717594", "email": ""},{"id": "10015920", "name": "Сафронова Светлана Михайловна", "phone": "+79163564600", "email": ""},{"id": "10217922", "name": "Сушицкий Павел Владиславович", "phone": "+79166820767", "email": ""},{"id": "10211340", "name": "Агбис", "phone": "+79990009900", "email": ""},{"id": "1029804", "name": "Артемьева Варвара Александровна", "phone": "+79167991534", "email": ""},{"id": "575", "name": "Костеж Татьяна Борисовна", "phone": "+79166193601", "email": ""},{"id": "10015049", "name": "Кумратова Анжелика Владимировна", "phone": "+79055482844", "email": ""}] 


Выполняемый POST запрос URL = https://cloud.roistat.com/api/v1/project/clients/import?project=103761&key=8264b240073cc3a335f2465cd1c04f63
Headers = 'Accept-Encoding: gzip,deflate'
MimeType = 'application/json'

Получили данные: {«status»:«success»}

3) Выгрузка новых заказов из Агбис в Roistat.
Данные в теле запроса:

[{"id": "102120090", "name": "06299-2", "date_create": "2019-05-.ю29 12:32:43", "status": "1", "client_id": "10015049", "price": "2259", "roistat": ""},{"id": "102120090", "name": "06299-2", "date_create": "2019-05-29 12:32:43", "status": "1", "client_id": "10015049", "price": "2259", "roistat": ""}]

Выполняемый POST запрос URL = https://cloud.roistat.com/api/v1/project/add-orders?project=103761&key=8264b240073cc3a335f2465cd1c04f63
Headers = 'Accept-Encoding: gzip,deflate'
MimeType = 'application/json'

Получили данные:

{"processed":2,"skipped_by_status":0,"skipped_by_waiting_visit_info":0,"skipped_by_internal_error":0,"skipped_because_not_changed":0,"skipped_by_invalid_format":0,"skipped_fields_by_invalid_format":0,"saved":2,"comment":"","uploaded":2,"status":"success"}


4) Выгрузка изменённых/отменённых заказов из Агбис в Roistat.
Изменение заказа: Данные в теле запроса:

{"status_id": "3"}

Выполняемый POST запрос URL = https://cloud.roistat.com/api/v1/project/integration/order/102120090/status/update?project=103761&key=8264b240073cc3a335f2465cd1c04f63
Headers = 'Accept-Encoding: gzip,deflate'
MimeType = 'application/json'
Получили данные:

{"status":"success"}


Если заказ не успевал после выгрузки в 3п обновится на сайте (От специалиста Roistat, что обновление от получаса до часа проходит), то в ответ приходит «No order found for id: …», и в след раз агент будет пытаться снова отправить этот статус по заказу в Roistat Данные в теле запроса:
{«status_id»: «1»} Выполняемый POST запрос URL = https://cloud.roistat.com/api/v1/project/integration/order/102120091/status/update?project=103761&key=8264b240073cc3a335f2465cd1c04f63
Headers = 'Accept-Encoding: gzip,deflate'
MimeType = 'application/json'
Получили данные:

{"status":"error","error":"request_data_validation_error","description":"No order found for id: 102120091"}


Отменили заказ: Выполняемый POST запрос URL = https://cloud.roistat.com/api/v1/project/integration/order/102115584/delete?project=103761&key=8264b240073cc3a335f2465cd1c04f63
Headers = 'Accept-Encoding: gzip,deflate'
MimeType = 'application/json'
Получили данные:

{"status":"success"}