W
Wiki
WIKI проекта poisk.im
Главная страница API поиска товаров
Добро пожаловать в документацию API поиска товаров!
📌 Описание
Этот API предназначен для поиска товаров в магазинах по различным параметрам.
📚 Возможности
-
🔎 Поиск товаров – осуществляется по названию, городу, магазину, скидке и другим параметрам. -
📄 Загрузка товаров из Excel – поддержка загрузки файлов с данными о товарах.(в планах) -
🏷 Получение товаров по ID – возможность получать информацию о конкретных товарах по их идентификаторам.
🔑 Покупка API-ключа
Перед использованием API необходимо приобрести ключ на сайте keys.poisk.im.
Типы ключей:
- Демо-ключ: 10 RPM, срок действия 7 дней.
- Коммерческие ключи: 60 RPM, доступные на 1 месяц, 3 месяца и 1 год.
- Для актуальных тарифов перейдите на страницу покупки ключей.
API-ключ используется в заголовке запроса как API-KEY.
Детальная документация по каждому endpoint
🚀 Быстрый старт
1️⃣ Поиск товаров
POST /api_dev/search/
Описание
Ищет товары по запросу. Если количество найденных товаров равно 0, выполняется неточный поиск (fuzzy).
Заголовки запроса
- Content-Type: application/json; charset=utf-8
- API-KEY: RPM60-xxxx-xxxx-xxxx-D7
Тело запроса
{
"query": "ноутбук",
"city": 1,
"shop": [10, 20],
"sale": 0,
"from_price_update": 1678900000,
"sort_price":1,
"min_price": 5000,
"max_price": 150000,
"page": 0,
"page_limit": 40
}
- query (string, обязательный) – Поисковый запрос. Максимальная длина: 250 символов.
-
city (int, optional) – ID города. По умолчанию:
1. - shop (list, optional) – Фильтр по магазинам. Пустой список означает поиск по всем.
-
sale (uint, optional) – Минимальный процент скидки. Диапазон: 0–100. По умолчанию:
0. - from_price_update (long, optional) – Фильтр по времени обновления цены (timestamp). Минимум: 0.
- sort_price (int, optional) - Маркер сортировки по цене 0 - по возрастанию, 1 - по убыванию
-
min_price (uint, optional) – Минимальная цена товара. По умолчанию:
0. -
max_price (uint, optional) – Максимальная цена товара. По умолчанию:
2147483647. -
page (uint, optional) – Номер страницы. Минимум: 0. По умолчанию:
0. -
page_limit (uint, optional) – Количество товаров на странице. Диапазон: 1–100. По умолчанию:
40.
2️⃣ Получение товаров по ID
Метод: GET /api_dev/product/?id={id}
Заголовки запроса
- Content-Type: application/json; charset=utf-8
- API-KEY: RPM60-xxxx-xxxx-xxxx-D7
Пример запроса: GET /api_dev/products/12345
Примеры запросов
Пример на 1С
Перем HTTPСоединение, Запрос, Ответ, ТелоЗапросаJSON, ОтветJSON;
HTTPСоединение = Новый HTTPСоединение("poisk.im");
ТелоЗапросаJSON = Новый ЗаписьJSON;
ТелоЗапросаJSON.ОткрытьСтроку();
ЗаписатьJSON(ТелоЗапросаJSON, Новый Структура(
"query", "ноутбук"
));
ТелоЗапроса = ТелоЗапросаJSON.ЗакрытьСтроку();
Запрос = Новый HTTPЗапрос("/api_dev/search/");
Запрос.УстановитьТелоИзСтроки(ТелоЗапроса, "application/json; charset=utf-8");
Запрос.УстановитьЗаголовок("API-KEY", "ваш_ключ");
Попытка
Ответ = HTTPСоединение.ОтправитьДляОбработки(Запрос);
ОтветJSON = ПрочитатьJSON(Ответ.ПолучитьТелоКакСтроку());
// Обработка ОтветJSON
Сообщить(ОтветJSON);
Исключение
Сообщить("Ошибка выполнения запроса: " + ОписаниеОшибки());
КонецПопытки;
Пример на Python
import requests
import json
url = "https://poisk.im/api_dev/search/"
headers = {
'Content-Type': 'application/json',
'API-KEY': 'ваш_ключ'
}
data = {
"query": "ноутбук"
}
try:
response = requests.post(url, data=json.dumps(data), headers=headers)
response.raise_for_status() # Выброс исключения при HTTP ошибках (4xx или 5xx)
response_json = response.json()
# Обработка response_json
print(response_json)
except requests.exceptions.RequestException as e:
print(f"Ошибка выполнения запроса: {e}")
📌 Дополнительная информация
-
🛠 Разработано на ASP.NET. -
💾 Основная база manticoreSearch, вспомогательная mariaDB.
Для детальной документации переходите в соответствующие разделы.