База знаний и товары

Массовая синхронизация вопросов и ответов, документов и товаров через API с инкрементальным обновлением по внешнему ID.

4.1 База знаний

МетодПутьОписание
POST/v1/knowledge/faqs/batchПакетная запись вопросов и ответов, {"items": [{"question", "answer", "external_id"}]}, до 500 записей. Инкрементальное обновление по external_id; записи без изменений повторно не обрабатываются
POST/v1/knowledge/documentsДобавить документ: {"title", "content"} — передать текст напрямую или {"url"} — мы загрузим содержимое веб-страницы. При наличии external_id заменяет старый документ с тем же ID
POST/v1/knowledge/documents/uploadЗагрузить файл (multipart, поле file), поддерживаются txt, md, html, pdf, docx, максимум 20MB
GET/v1/knowledge/documentsСписок документов, ?page=&limit=&source_type=
GET/v1/knowledge/documents/{id}Детали документа, status принимает значения pending / processing / ready / failed
DELETE/v1/knowledge/documents/{id}Удалить

Документы после записи обрабатываются асинхронно и обычно в течение нескольких секунд получают статус ready. Если настроен webhook, вы получите событие document.ready или document.failed.

4.2 Товары

МетодПутьОписание
POST/v1/products/batchПакетная запись, до 500 записей, инкрементальное обновление по external_id
GET/v1/productsСписок товаров
DELETE/v1/products/{external_id}Удалить

Поля товара:

{
  "external_id": "w-1001",
  "name": "潜水自动机械表",
  "description": "200 米防水,蓝宝石表镜",
  "category": "手表",
  "price": "399.00",
  "currency": "USD",
  "stock": 12,
  "url": "https://shop.example.com/p/w-1001",
  "image_url": "https://shop.example.com/img/w-1001.jpg",
  "attributes": {"材质": "316L 钢", "表径": "39 mm"},
  "variants": [{"sku": "w-1001-blk", "name": "黑色", "price": "399.00", "stock": 5}],
  "status": "active"
}

stock со значением null означает, что остатки не отслеживаются; товары с status = inactive не рекомендуются. AI при ответе о цене и остатках использует только эти значения.

Эта страница была полезной?

Обновлено: