====== ИНТЕГРАЦИЯ С 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"}\\