Добрый день.
От заказчика поступил заказ на получение определенной цены для списка запчастей с сайта Emex.ru.
В ходе решения данной задачи столкнулся со следующей проблемой. Оказалось у сайта emex.ru есть API, для которого в интернете есть документация, но данный API не предназначен для поисковых запросов, а предназначен для загрузки цен, остатков и т.д. При этом данный API требует регистрации и указания своего IP для того, чтобы его внесли в "белый список". Сделать это можно только или через поддержку emex.ru или через выбранный Вами при регистрации ПВЗ.
Короче, все оказалось сложнее,чем показалось на первый взгляд. Быстрый поиск решения не дал результатов. Была попытка распарсить страничку сайта, но этот путь нестабильный и неоптимизированный.
В итоге я случайно наткнулся на статью, в которой был простенький пример парсинга некоего API используемого именно для поисковых запросов "без регистрации и SMS". Пример был не на 1С и никакой документации найти не удалось.
Задачу удалось решить методом проб и ошибок. В итоге решил сделать эту обработку, которая демонстрирует работу API. Ее можно взять за основу для своей разработки.
Параметры:
- Оригинальный код запчасти.
- Бренд - бренд производителя оригинального товара. так как он задан на сайте emex.ru.
- ПВЗ - id пункта выдачи заказов цены которого мы хотим получить.
- Свернуть - признак отображения данных, если галка установлена, то будут показаная только первые несколько позиций которые emex.ru считает приоритетными, если галка не установлена будут показаны все предложения.
Внимание: большое количество поисковых запросов (например, при тестировании, я случайно запустил несколько тысяч запросов из-за кривого запроса) может заблокировать Ваш IP на сайте emex.ru на некоторое время. Разблокируется сам или через поддержку.
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.20.80
- Управление нашей фирмой, редакция 3.0, релизы 3.0.10.178