Kaspi API: товары и офферы продавцов в JSON
Здесь важно различать два разных API. Официальный Kaspi для продавцов и Kaspi Pay решают свои задачи: заказы, выплаты, ваш собственный магазин. Этот API отвечает на другой вопрос — что происходит на витрине: кто ещё продаёт тот же товар, по какой цене в конкретном городе и что пишут в отзывах. Кабинет продавца для этого не нужен.
Эндпоинты
| endpoint | Что возвращает | Обязательные |
|---|---|---|
| search | Поиск по ключевому слову или обход категории с пятью сортировками Kaspi и его собственными фильтрами. | все необязательные |
| product/detail | Одна карточка по id или URL: название, бренд, изображения, путь категории, полные характеристики и описание. | все необязательные |
| product/offers | Главное здесь: все офферы продавцов по одному товару в выбранном городе, постранично — продавец с рейтингом и числом отзывов, цена и условия доставки. | все необязательные |
| product/reviews | Отзывы по товару, постранично: звёзды, дата, текст, плюсы и минусы, счётчик полезности и фотографии. | все необязательные |
| seller/detail | Публичный профиль продавца: название, логотип, рейтинг, число отзывов, статус в Kaspi и доля выполненных заказов. | seller_id |
Каждый вызов тарифицируется в кредитах. Неудачные и заблокированные вызовы бесплатны.
Рабочий пример
Цена на Kaspi зависит от города, поэтому запрос офферов без города отвечает не на тот вопрос. Сначала найдите товар, затем запросите офферы с нужным городом.
curl -X POST https://api.reefapi.com/kaspi/v1/product/offers \
-H "x-api-key: ВАШ_КЛЮЧ" \
-H "content-type: application/json" \
-d '{"product_id": "106523607", "city": "Алматы"}'{
"ok": true,
"data": {
"offers": [
{
"seller_name": "...",
"seller_rating": 4.9,
"price": 389990,
"delivery": "..."
}
]
},
"meta": { "record_count": 24, "cache_hit": false, "mode": "live" }
}Вместо собственного парсера Kaspi
Парсер kaspi.kz написать можно, и на GitHub такие есть. Сложность не в первом запросе, а в том, что витрина Kaspi зависит от города: один и тот же товар показывает разные офферы и разные цены, и парсер, не учитывающий город, тихо собирает неверные данные — выглядят они при этом совершенно нормально.
Здесь город — обычный параметр, а обслуживание на нашей стороне: меняется схема — правим мы, срабатывает блокировка — возвращается ошибка, и такой вызов бесплатен.
Для разовой выгрузки свой скрипт дешевле. Для регулярного мониторинга цен дороже обходятся не строки кода, а незамеченные поломки.
Ограничения и честные замечания
- Это не официальный API Kaspi и не Kaspi Pay; партнёрства с Kaspi у нас нет.
- Цена и состав офферов зависят от города — без указания города вы получите не «среднюю» цену, а выдачу по умолчанию.
- Если продавец не публикует остаток или условие доставки, поле приходит null; мы ничего не достраиваем.
- Кэша нет: каждый вызов живой.