Разработвай с BasketBooster
Добави AI препоръки, търсене и Shop the Look към WooCommerce или собствен магазин. Документацията по-долу е написана и за хора, и за AI асистенти: прочети я сам или свържи асистента си и го остави той да напише интеграцията.
Работиш с Shopify? Нищо от това не ти трябва. Инсталирай приложението BasketBooster от Shopify App Store и то настройва всичко вътре в темата ти.
Документация за твоя AI асистент (MCP)
Claude Code, Cursor и другите асистенти с MCP поддръжка могат да се свържат директно с нашия сървър за документация. Свързаният асистент може да изброява, чете и търси във всяко ръководство за интеграция, така че заявка от рода на „добави препоръки от BasketBooster на продуктовата ми страница" получава отговор от актуалната документация, а не от паметта на модела.
Claude Code, с една команда:
claude mcp add --transport http basketbooster-docs https://api.basketbooster.eu/mcpCursor, добави в ~/.cursor/mcp.json:
{
"mcpServers": {
"basketbooster-docs": { "url": "https://api.basketbooster.eu/mcp" }
}
}Всеки друг MCP клиент, в .mcp.json на ниво проект:
{
"mcpServers": {
"basketbooster-docs": {
"type": "http",
"url": "https://api.basketbooster.eu/mcp"
}
}
}Сървърът предоставя три инструмента: list_docs, read_doc и search_docs. Ръководствата покриват първите стъпки, вграждането на модулите, пълния API справочник, плъгина за WooCommerce, ключовете и CORS, както и плановете и плащанията. Не ти трябва акаунт или API ключ, за да се свържеш.
Пробвай да попиташ асистента си
- „Свържи се с документацията на BasketBooster и добави модул „може да ти хареса" в продуктовия ми шаблон."
- „Как да изпращам събития за покупка към BasketBooster от страницата си за плащане?"
- „Синхронизирай продуктовия ми каталог с BasketBooster от Node бекенда ми."
- „Изпращай всяка нова поръчка към BasketBooster от уебхука ми за поръчки."
- „Защо таблото ми Impact показва нула приписан приход?"
Документация като чист текст (llms.txt)
Нямаш MCP? Всяко ръководство е публикувано и като чист markdown, индексиран на https://api.basketbooster.eu/llms.txt. Всеки файл е обикновен markdown, така че можеш да поставиш адреса в ChatGPT, Claude или редактора си и да работиш направо от него.
Интерактивен API справочник (Swagger)
Разгледай и пробвай публичното API направо в браузъра на https://api.basketbooster.eu/docs. Покрива цялата повърхност за интеграция:
Widget API
/v1/recommendations · /v1/trending · /v1/events · /v1/search · /v1/looks
Извиква се от браузъра на клиента с публичния ти pk_ ключ.
Catalog API
POST /v1/items · DELETE /v1/items/{id}
Изпраща продукти от твоя сървър със секретен API ключ.
Синхронизация на поръчки
POST /v1/orders
Изпраща всяка нова поръчка от уебхука на магазина ти, за да се учи системата от всяка продажба. Заявката е идемпотентна, така че повторните опити са безопасни.
Integration API
/integration/*
Състояние на плъгина, синхронизация на системата, обучение и настройки на модулите.
История на поръчките
POST /orders/upload
CSV импорт, който захранва „Често купувани заедно".
Суровата OpenAPI спецификация е на https://api.basketbooster.eu/openapi.json. Подай я на генератор на код или на AI асистента си.
Проследяване на реализациите и приписване
Модулите <product-recs> отчитат автоматично разглеждания на продукти (detail-page-view), показвания на препоръки (rec-impression) и кликвания по препоръки (rec-click). За тях не е нужен код в сайта ти. Те обаче не виждат бутона за количката и страницата за плащане, така че събитията за добавяне в количката и покупка трябва да идват от твоя магазин. Плъгинът за WooCommerce изпраща и двете вместо теб; при собствен магазин ги свързваш веднъж.
Добавяне в количката, извиква се от твоя обработчик, след като добавянето е успяло:
<script>
ProductRecs.track('add-to-cart', {
item_id: '123',
user_id: 'CUSTOMER_ID', // logged-in customer id, omit for guests
value: 49.9, // line value (unit price x quantity)
currency: 'EUR'
});
</script>Покупки: извикай ProductRecs.track('buy', ...) веднъж за всеки ред от поръчката на страницата за потвърждение, или синхронизирай цялата поръчка от сървъра с едно извикване (препоръчително):
curl -X POST "https://api.basketbooster.eu/v1/orders" \
-H "X-API-Key: YOUR_SECRET_KEY" -H "Content-Type: application/json" \
-d '{
"order_id": "ORDER_1234",
"user_id": "cust_9",
"session_id": "s_...",
"currency": "EUR",
"items": [{"item_id": "123", "quantity": 2, "price": 19.9}]
}'Заявката е идемпотентна по order_id, така че повторните опити са безопасни, а синхронизацията на поръчки никога не се брои срещу квотата ти.
Пази идентификатора на клиента еднакъв
Таблото Impact приписва добавяне в количката или продажба на препоръките само когато търговското събитие и по-ранно кликване или показване на препоръка носят една и съща самоличност на клиента и един и същ продуктов идентификатор, в рамките на 30 дни. Самоличността е user_id, когато го има, иначе автоматичният сесиен идентификатор на модула. Когато се изпращат и двете, user_id печели.
За влезли в профила си клиенти подавай идентификатора на клиента навсякъде: data-user-id при всяко вграждане на модул, user_id при извикванията за добавяне в количката и покупка, и user_id при POST /v1/orders. Ако модулите работят анонимно, а поръчките ти носят идентификатор на клиент, нищо не съвпада и приписването остава нула.
За анонимни клиенти модулът пази сесийния си идентификатор в localStorage["pr_sid"], а извикванията на ProductRecs.track от браузъра го поемат автоматично. За синхронизация на поръчки от сървъра препиши идентификатора в собствена бисквитка и го подай като session_id:
<script>
try {
var sid = localStorage.getItem('pr_sid');
if (sid) document.cookie = 'pr_sid=' + encodeURIComponent(sid) +
'; path=/; max-age=15552000; SameSite=Lax';
} catch (e) {}
</script>После прочети бисквитката на сървъра си (тук е показано с PHP):
$sid = $_COOKIE['pr_sid'] ?? '';
if (preg_match('/^s_[A-Za-z0-9]+$/', $sid)) {
$payload['session_id'] = $sid;
}Изпращаш поръчки от страницата за плащане? HTTP заявка „изпрати и забрави" през суров TLS сокет не работи. Ако запишеш заявката и затвориш сокета, без да прочетеш отговора, заявката се прекъсва, преди сървърът да я обработи: нищо не пристига, а ти не виждаш грешка от твоята страна. Прочети поне реда със статуса на отговора, преди да затвориш (добавя около 100 мс), или използвай нормален HTTP клиент с кратък таймаут. POST /v1/orders отговаря доста под секунда.
Вземи си ключовете
Всичко по-горе работи с данните на твоя магазин веднага щом започнеш безплатния период. Той трае 14 дни и не иска карта. Публичният ти ключ и API ключовете са в таблото.