API документация каталога

Эта страница предназначена для программиста, интегратора, AI-сервиса, маркетплейса, ERP/CRM или внешней системы, которая хочет читать каталог сайта программно через HTTP API.

Базовый сайт: https://price.ashybulakstroy.kz

1. Основные ссылки

URLНазначение
/apiЭта человеко-понятная документация
/docsSwagger UI / интерактивное тестирование
/openapi.jsonМашинно-читаемая OpenAPI-схема
/llms.txtAI-friendly карта API и sitemap
/sitemap.xmlГлавный sitemap index

2. Endpoint: поиск

GET /api/search

Используется для поиска товара по текстовому запросу, SKU, названию, ключевым словам.

ПараметрТипОписание
qstringПоисковая строка
limitintegerОграничение числа результатов
instock0/1Только товары в наличии
prefix0/1Префиксный режим, если поддержан в проекте
https://price.ashybulakstroy.kz/api/search?q=бетон&limit=5

3. Endpoint: карточка товара

GET /api/item/{sku}

Возвращает подробную карточку товара по SKU.

https://price.ashybulakstroy.kz/api/item/998528

4. Endpoint: каталог постранично

GET /api/catalog

Этот endpoint возвращает список товаров каталога постранично. Он нужен для синхронизации каталога, выгрузки в партнёрские системы, индексации AI-агентами и безопасной загрузки больших объёмов данных.

ПараметрТипОписание
pageintegerНомер страницы, начиная с 1
limitintegerРазмер страницы
instock0/1Только товары в наличии
order_bystringКолонка сортировки, если она есть в таблице
https://price.ashybulakstroy.kz/api/catalog?page=1&limit=100

Пример ответа

{
  "page": 1,
  "limit": 100,
  "total": 20000,
  "total_pages": 200,
  "has_prev": false,
  "has_next": true,
  "items": [
    {
      "sku": "998528",
      "name": "Перфоратор SDS Plus 800W",
      "price": 32500,
      "stock": 7,
      "in_stock": true,
      "currency": "KZT",
      "url": "/item/998528"
    }
  ]
}

5. Для чего нужен /api/catalog

6. SEO и AI файлы

ФайлРоль
/robots.txtПравила обхода сайта роботами
/sitemap.xmlИндекс sitemap-файлов
/sitemap-products.xmlИндекс sitemap-файлов товаров
/sitemap-catalog.xmlСтраницы каталога API
/sitemap-categories.xmlСтраницы категорий, если категории есть
/llms.txtСводка для AI и LLM-агентов
Для стабильных интеграций желательно в будущем перейти на версионирование, например: /api/v1/search, /api/v1/item/{sku}, /api/v1/catalog.

7. Пример на Python

import requests

r = requests.get(
    "https://price.ashybulakstroy.kz/api/catalog",
    params={"page": 1, "limit": 100},
    timeout=30,
)
r.raise_for_status()
data = r.json()
print(data["items"][:3])

8. Пример на JavaScript

const res = await fetch("https://price.ashybulakstroy.kz/api/catalog?page=1&limit=100");
const data = await res.json();
console.log(data.items);