Главная Подключить склад Ещё |
✖
|
![]() |
API поисковой системы eFind.ru |
Контактная информация
Телефон:+7 (812) 309-50-30
Электронная почта:
admin@efind.ru
|
Текущая версия v.0.2 betaДоступ к API поискового сервераДля доступа к API необходимо обратиться по протоколу HTTPS к адресу https://efind.ru/api/<метод> где «метод» принимает одно из трех значений:
Ответом поискового сервера является JSON-структура, содержащая ответ сервера. Подробнее о методах и параметрах их вызовов, а также форматах ответов от сервера вы можете узнать из соответствующих разделов документации. В случае возникновения ошибки, ответом сервера будет являться следующая структура данных: {"error": "<Текстовое описание ошибки>"} АвторизацияВсе вызовы к API требуют авторизации посредством передачи в вызове токен-параметра: access_token — ваш токен к API Токен выдается администрацией eFind.ru. Таким образом, запрос к API должен выглядеть так: https://efind.ru/api/listregions?access_token=<Ваш токен> Лимиты запросов к API и ограничение доступа по IPДля каждого токена API администрация eFind.ru может установить следующие лимиты по количеству запросов:
В случае срабатывания лимита по количеству запросов, в ответ сервер выдаст HTTP код ответа 509 и следующую ошибку: {"error": "Request limit exceeded"} Также для вас может быть установлено разрешение для доступа к API только с определенного IP-адреса. В случае запроса к API с другого IP-адреса сервер выдаст HTTP код ответа 403 и ошибку: {"error": "IP <IP-адрес> is not allowed "} Методы APIlistregions — запрос списка регионовВ результате вызова данного метода сервер возвращает список регионов, которые используются в поисковой выдаче. Возвращаемая структура данных имеет формат словаря (хэша) вида: [ { "Name": "Россия", "Name_en": "Russia", "RegionID": 1, "RegionParent": 0 }, ... ] где:
liststocks — запрос списка складовВ результате вызова данного метода сервер возвращает список складов. Параметры запроса к данному методу:
В ответ на запрос сервер возвращает список структур данных с информацией о складах (см. табл. «структура данных о складе»). Также, если в запрашиваемом регионе находится один или несколько филиалов склада, то структура данных о складе будет содержать непустой список структур данных о филиалах (см. табл. «структура данных о филиале») в ключевом поле «filial» search — запрос поисковой выдачиЭтот метод используется для запроса поисковой выдачи по заданному запросу.
Вызов метода имеет вид: https://efind.ru/api/search/поисковый запрос
Поисковый запрос должен быть в формате urlencoded значения в кодировке utf-8 Параметры запроса к данному методу:
Например, запрос к API может выглядеть вот так: https://efind.ru/api/search/max323?access_token=<Ваш токен>&r=165&stock=1&hp=1&cur=eur&tm=2 При таком запросе будет выдан результат поиска по запросу max323 в регионе «Санкт-Петербург». Выданы будут только позиции c наличием на складе и имеющие цены. Цены будут выведены в валюте Евро. Продолжительность поиска по складам будет ограничена 2-мя секундами. А при таком запросе: https://efind.ru/api/search/%D0%BA%D0%B0%D0%B1%D0%B5%D0%BB%D1%8C?access_token=<Ваш токен>&id=99,96,127 будет выдан результат поиска по слову «кабель» (%D0%BA%D0%B0%D0%B1%D0%B5%D0%BB%D1%8C в urlencoded формате от строки в utf-8) только по складам с ID 99, 96 и 127 В ответ на запрос сервер возвращает список ответов складов в следующем формате: [ { "stock_id": <Идентификатор склада>, "stockdata": <структура данных о складе> "filial": <Структура данных о филиале или null> "finish": <Время выдачи результата складом (сек.)>, "rows": <список структур данных о позициях> }, ... ] Структура данныхСтруктура данных, описывающая склад:
Если в регионе поиска присутствуют филиалы склада, то данные о них определяются следующей структурой:
Таким образом, итоговый ответ сервера поиска может выглядеть так: [ { "stock_id": 1234, "stockdata": { "city": "Москва", "contact_email": "sales@mystock.ru", "contact_phones": [ "+7 (495) 111-22-33" ], "country": "Россия", "min_order": "", "region_id": "3", "site": " http://www.mystock.ru", "title": "Склад 1", "title_en": "Stock One" }, "filial": { "contact_email": "info@mystockspb.ru", "contact_phone": [ "+7 (812) 123-45-67" ], "filial_id": 1722, "region_id": 165, "site": "http://www.mystockspb.ru", "title": "Stock one, филиал в Санкт-Петербурге" }, "rows": [ { "cr": [], "cur": "usd", "dc": "", "dlv": "", "img": "", "instock": false, "mfg": "Maxim Integrated Products", "moq": "", "mpq": "", "note": "", "pack": "", "part": "MAX232CSE+", "pdf": "", "pkg": "", "price": [ [ "-2", null, null, "€" ], [ "-1", null, null, "€" ], [ -3, "2.434", 2.9725, "€" ] ], "sku": "", "stock": "2-4 недели", "url": "" }, { "cr": [], "cur": "usd", "dc": "", "dlv": "", "img": "", "instock": false, "mfg": "Maxim Integrated Products", "moq": "", "mpq": "", "note": "", "pack": "", "part": "MAX232CSE+", "pdf": "", "pkg": "", "price": [ [ "-2", null, null, "€" ], [ "-1", null, null, "€" ], [ -3, "1.902", 2.3229, "€" ] ], "sku": "", "stock": "2-4 недели", "url": "" } ], "finish": 0.0218, } ] Привязка к Паспорту eFind.ruНастройку параметров запроса к методу search можно производить через интерфейс настроек поиска. Для этого надо сообщить нам свой логин в Паспорте eFind.ru, и мы привяжем его к используемому вами токену. После этого настройки, сделанные данным пользователем в интерфейсе настроек, будут применяться к запросам по методу search, сделанные к API. Обращаем внимание, что настройки, заданные через параметры URL запроса, имеют приоритет над настройками, заданными через интерфейс настроек поиска. Например, если в URL задан параметр "cur=rur", а в интерфейсе задан вывод цен в евро, то в ответе на запрос к API цены будут в рублях. Пример кодаПример написан на языке php, с использованием модуля curl. $token = "<Ваш токен>"; # Токен выдается каждому партнеру индивидуально $method = "listregions"; # "liststocks" , "search" $searchtext = ""; # При методе search $searchtext = "/<Поисковый фрагмент>"; # В данном примере слэш обязателен для разделения частей url $link = "https://efind.ru/api/$method$searchtext?access_token=$token"; $curl=curl_init(); #Сохраняем дескриптор сеанса cURL #Устанавливаем необходимые опции для сеанса cURL curl_setopt($curl,CURLOPT_RETURNTRANSFER,true); curl_setopt($curl,CURLOPT_USERAGENT,'eFind-API-client/1.0'); curl_setopt($curl,CURLOPT_URL,$link); curl_setopt($curl,CURLOPT_CUSTOMREQUEST,'GET'); curl_setopt($curl,CURLOPT_HTTPHEADER,array('Content-Type: application/json')); curl_setopt($curl,CURLOPT_HEADER,false); $out=curl_exec($curl); #Инициируем запрос к API и сохраняем ответ в переменную $code=(int)curl_getinfo($curl,CURLINFO_HTTP_CODE); #Получим HTTP-код ответа сервера curl_close($curl); #Завершаем сеанс cURL if ($code == 200) { $data = json_decode($out, TRUE); # Приводим отклик сервера к ассоциативному массиву if (isset($data['error'])){ # Запрос отработал с ошибкой. $errormessage = $data['error']; } else { /* * ... проводим обработку полученной информации */ } } else { /* * Ответ www-сервера отличается от 200 Ок: * неправильный URL, сервер недоступен или сетевые проблемы */ }
По указанной ниже ссылке расположена демонстрационная форма, на которой можно генерировать API-запросы и анализировать ответ API. |
2002— «ЭтЛайт» Наши контакты: +7 (812) 309-50-30, client@efind.ru Расширение для браузера · Телеграм-бот · Аналитика · English version |
![]() |
![]() |
|