Dante Hub Partner API
Sell our catalogue from your own bot or website. Prepaid wallet, idempotent orders, delivery pushed to you the moment we deliver.
Basics
- Base URL:
https://dantehub.shop/api/public/v1 - Auth header:
Authorization: Bearer dh_live_…(keep it secret, server-side only) - JSON in/out. Errors:
{ ok: false, error: { code, message } } - Rate limit: 60 requests / minute per key (HTTP 429).
- Prepaid only: each order is charged from your wallet instantly. Never charged twice for the same
ref.
Endpoints
/productsActive products with your price and in_stock flag./balanceYour prepaid wallet balance./ordersBuy a product from your wallet. Body: {product_id, qty, ref}./ordersYour orders, newest first. Query: limit (≤100), before (ISO date)./orders/{order_id | ref}One order, including delivery once delivered./topupsCreate a crypto top-up invoice. Body: {amount, method}./topups/{topup_id}Top-up status (waiting / paid / credited / expired).Place an order
curl -X POST https://dantehub.shop/api/public/v1/orders \
-H "Authorization: Bearer $DANTE_KEY" -H "Content-Type: application/json" \
-d '{"product_id":"<uuid from /products>","qty":1,"ref":"your-order-1001"}'ref is your own unique id (1–64 chars, A-Z a-z 0-9 . _ : -). Retrying with the same ref returns the same order (duplicate: true) and never charges again.
{ "ok": true, "duplicate": false, "order": {
"order_id": "DH-…", "ref": "your-order-1001", "status": "processing",
"product": "…", "qty": 1, "unit_price": 1.7, "total": 1.7, "currency": "USDT",
"delivery": null, "created_at": "…", "delivered_at": null } }Status: processing → delivered (with delivery text), or cancelled (the total is refunded to your wallet). Errors: insufficient_balance (402), out_of_stock (409), product_not_found (404).
Delivery webhook
Give us an HTTPS URL. When an order is delivered or cancelled we POST it to you immediately so you can forward it straight to your customer:
POST <your url>
X-DanteHub-Event: order.delivered
X-DanteHub-Signature: hex(HMAC_SHA256(webhook_secret, raw_body))
{ "event": "order.delivered", "refunded": false, "order": { ...same as above, "delivery": "login: …" }, "sent_at": "…" }Always verify the signature over the raw body. Events: order.delivered, order.cancelled. Respond 2xx; we retry up to 3 times. You can also poll GET /orders/{ref}.
Top up with crypto
curl -X POST https://dantehub.shop/api/public/v1/topups -H "Authorization: Bearer $DANTE_KEY" \
-H "Content-Type: application/json" -d '{"amount":50,"method":"usdt_trc20"}'Methods: usdt_trc20, usdt_bep20, usdt_polygon, usdc_bep20, gram_ton. Amount 5–5000. Send exactly pay_amount of pay_currency to address within the expiry; the wallet is credited automatically after confirmation.