В один прекрасный день поступила мне задача отражать в 1С отзывы с 2Gis. До этого я работал с данной справочной системой только как пользователь. Слышал, что у нее есть какое-то API. Поэтому первой мыслью было использовать его. Казалось логичным, что в API имеются методы работы с отзывами. И задача казалась легкой, как дважды два = двадцать два.
Но изучив API двоечников, я с удивлением не обнаружил ожидаемых методов. Перечитал документацию с их сайта дважды, методов нет. Написал письмо в тех. поддержку (надежда была, что я просто не внимательный или искал не там), но и они меня не обрадовали, ответив, что данных методов просто не существует. Долго не печалясь я решил просто пойти на сайт и покопаться в его нутре. Ведь сайт как-то получает эти отзывы выводя их на экран, а все взаимодействие браузера и сайта, это просто набор POST, GET и т.п. запросов. А следовательно можно воспроизвести их в 1С и получить необходимый результат. Теперь собственно о том, как проходила работа. Четко, без лишних слов.
- Открыл браузер, зашел в личный кабинет 2Gis, нажал F12 (инструменты разработчика), вкладка «Network». Эта вкладка интересна тем, что на ней мы можем увидеть все запросы, которые отправляет на сервер браузер, а так же ответ сервера.
- Жмем на ссылку «Отзывы» и видим в вот такой запрос:
Request URL:
https://api.reviews.2gis.com/2.0/branches/7000000103_____/reviews?limit=20&fields=meta.branch_reviews_count%2Cmeta.branch_rating&pin_requested_first=true&source=lk
Это простой GET запрос, на который сервер и выдаст список отзывов. Удивительно, но из текста запроса видно, что для работы с сервером сайт 2Gis использует не документированный (по крайней мере для широкой публики) API.
Изучив запрос подробнее мы видим, что вместе с прочими не обязательными параметрами, браузер передает очень любопытный параметр «authorizarion», это ключ авторизации, который передается вместе с запросом, чтобы сервер вас пустил к закрытым данным.
Используя не хитрую схему, изложенную выше, мы можем быстро обнаружить, что данный ключ можно получить, отправив на сервер POST запрос «https://api.account.2gis.com/api/1.0/users/auth» в теле которого передается логин и пароль.
Метод ответа на отзыв получаем по тому же принципу, пишем отзыв, очищаем список старых запросов, жмем кнопку отправить, выискиваем тот запрос, который отправил наш текст, воспроизводим его в 1С.
Для тех, кому лень заниматься копанием, привожу список основных запросов:
- Авторизация:
Тип: POST;
Текст запроса: https://api.account.2gis.com/api/1.0/users/auth;
Параметры заголовка:
"Content-Type": "application/json; charset=utf-8",
"login": ваш логин,
"password", ваш пароль;
- Получить список организаций:
Тип: GET;
Текст запроса: "https://api.account.2gis.com/api/1.0/users"
Параметры заголовка:
"Content-Type": "application/json; charset=utf-8",
"authorization": "Bearer " + token2Гис,
"accept","application/json, text/plain, */*".
- Получить список филиалов организации:
Тип: GET;
Текст запроса: "https://api.account.2gis.com/api/1.0/branches?orgId=" + id_организации + "&fields=contactGroups%2Cprogressbar&pageSize=20&page=1".
Параметры заголовка:
"Content-Type": "application/json; charset=utf-8",
"authorization": "Bearer " + token2Гис,
"accept","application/json, text/plain, */*".
- Получить отзывы филиала:
Тип: GET;
Текст запроса:
"http://api.reviews.2gis.com/2.0/branches/" + id_филиала + "/reviews?fields=meta.branch_reviews_count%2Cmeta.branch_rating&pin_requested_first=true&source=lk".
Параметры заголовка:
"Content-Type": "application/json; charset=utf-8",
"authorization": "Bearer " + token2Гис,
"accept","application/json, text/plain, */*".
- Ответить на отзыв:
Тип: POST;
Текст запроса:
"https://api.reviews.2gis.com/2.0/reviews/" + id_отзыва + "/comments";
Параметры заголовка:
"Content-Type","application/x-www-form-urlencoded";
"authorization","Bearer " + token2Гис;
"accept","application/json, text/plain, */*";
"referer", url;
Тело запроса:
"text", текст ответа;
"lang", "ru";
"is_official_answer", "false";
Результатом работы над задачей явилась небольшая обработка позволяющая читать отзывы и отвечать на них.
Возможности работы с интерфейсом в 1С весьма ограничены, поэтому для вывода отзывов решил использовать «Поле HTML документа». Для удобства добавил в обработку методы, которые оборачивают данные в html.
Плюсом добавил чат 2Gis.
Что дальше по планам:
На следующем этапе планирую добавить:
- Direct – Instagram;
- Yandex, Google – Справочник;
- Блок аналитики.
Текущая версия конфигурации проверялась на платформе версии 8.3.16.1148 управляемые формы, но должна работать прекрасно и на платформах ниже.
Причины купить
Конфигурации уже позволяет удобно в рамках 1С взаимодействовать с отзывами 2Gis и чатом. В планах развитие конфигурации, улучшение имеющегося функционала, внедрение нового.
Достоинства
Данная конфигурация содержит обработку, которая позволяет просматривать отзывы с сервиса 2Gis, отвечать на них. Работать с чатом. Содержит удобные методы, которые позволяют легко расширить функционал.
Гарантия возврата денег
ООО "Инфостарт" гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.
Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.
Для возврата оплаты просто свяжитесь с нами.