Подключите свой магазин
к Braisbot
Получайте каталог, проверяйте баланс и автоматически выдавайте товары покупателям. Деньги списываются с вашего баланса только после успешной покупки.
В личном кабинете Telegram-бота
Запросите каталог и актуальные цены
Получите ключи прямо в ответе API
Получение API-ключа
Откройте нужного Telegram-бота и перейдите по пути:
Полное значение показывается только один раз. При перевыпуске старый ключ моментально перестаёт работать.
/v1/accountУзнать баланс
Возвращает логин продавца и текущий баланс в долларах.
curl "{{BASE}}/v1/account" \
-H "Authorization: Bearer $API_KEY"
Пример ответа
{
"ok": true,
"account": {
"login": "seller",
"balance_usd": "100.00",
"api_key_prefix": "br_panel_..."
}
}/v1/productsПолучить товары
Возвращает каталог, индивидуальные цены продавца и количество доступных ключей. Для покупки используйте поле product_id.
curl "{{BASE}}/v1/products" \
-H "Authorization: Bearer $API_KEY"
Один товар в ответе
{
"product_id": 42,
"category": { "id": 1, "name": "Игры" },
"position": { "id": 5, "name": "Название", "status": true },
"name": "Тип ключа",
"price_usd": "10.00",
"stock": 15
}/v1/purchasesКупить товар
Списывает стоимость с баланса и возвращает купленные ключи. Заголовок Idempotency-Key защищает от двойного списания.
curl -X POST "{{BASE}}/v1/purchases" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-12345678" \
-d '{"product_id": 42, "quantity": 1}'
Успешная покупка
{
"ok": true,
"purchase": {
"client_order_id": "order-12345678",
"product_id": 42,
"quantity": 1,
"unit_price_usd": "10.00",
"total_price_usd": "10.00",
"balance_usd": "90.00",
"keys": ["PRODUCT-KEY"]
}
}Купленные значения приходят в массиве purchase.keys. Именно их ваш бот должен выдать покупателю.
/v1/purchases/{order_id}Повторно получить заказ
Если соединение оборвалось после покупки, запросите результат по тому же идентификатору заказа.
curl "{{BASE}}/v1/purchases/order-12345678" \
-H "Authorization: Bearer $API_KEY"
Повторяйте POST с тем же Idempotency-Key либо используйте этот GET-запрос. Новый идентификатор создавать нельзя — иначе получится новый заказ.
Коды ошибок
invalid_requestПроверьте JSON и параметры запроса.invalid_api_keyПроверьте ключ или создайте новый.insufficient_balanceПополните баланс продавца.product_not_foundОбновите каталог товаров.insufficient_stockУменьшите количество или выберите другой товар.database_busyПовторите запрос с тем же Idempotency-Key.