Pipeline de API: canjear un cupón
Objetivo: comprobar un código de cupón, guardarlo en tu cartera, ver el precio con él y pagar Pro o un plan con él.
Pasos
1. Comprobar (con la sesión iniciada).
GET /v0/graph/coupons/validate?code=SPRING25
→ {"valid": true, "message": "…", "terms": {"title": "…", "area": "PROMOTIONAL", "discount_type": "PERCENTAGE", "discount_value": 50.0, …}}
2. Guardar.
POST /v0/my/coupons/clip
{"code": "SPRING25"}
→ {"coupon": {"nonce": "<clip>", "code": "SPRING25", "area": "PROMOTIONAL", "clipped": {"remaining": …, "can_use": true, "valid_until": "…"}, …},
"already_clipped": false}
3. Tu cartera. GET /v0/my/coupons?kind=clipped → tus cupones guardados con remaining, can_use, use_block_reason.
4. Calcular el precio.
GET /v0/my/coupons/quote?coupon=<clip>&target=pro&project=<project>
→ {"target": "pro", "clip": "<clip>", "list_usd": 18.0, "discount_usd": 9.0, "charged_usd": 9.0,
"wallet_left_usd": 0.0, "balance_usd": 31.0, "enough": true}
target: pro (un mes en project) o monthly, yearly, lifetime.
5. Pagar. POST /v0/my/projects/<project>/pro {"coupon": "<clip>"} o POST /v0/my/plan {"kind": "yearly", "coupon": "<clip>"} → list_usd, discount_usd, charged_usd. Pipeline de API: hacer Pro un proyecto Pipeline de API: comprar un plan Pro para hasta 10 proyectos
Reglas
- Solo los cupones emitidos por Cabi.Chat en las áreas
SUBSCRIPTIONoPROMOTIONALdescuentan Pro y los planes; los demás se rechazan al calcular el precio y al pagar. - Pagar con un cupón guardado: un código no guardado → 400
no such coupon in your wallet: clip it first with POST /v0/my/coupons/clip. - El cupón y el cargo se aplican juntos o no se aplican; el descuento nunca supera el precio. Un cargo cubierto por completo aparece igualmente en tus transacciones, a 0.
- Saldo insuficiente tras el cupón → 400
insufficient funds: X USDT required after the coupon (balance Y). - Si no se puede guardar un cupón, la respuesta indica el motivo.
Superficie de la API
| Endpoint | Para qué | FE | IA / oráculo |
|---|---|---|---|
GET /v0/graph/coupons/validate |
Comprobar un código | no | sí |
POST /v0/my/coupons/clip |
Guardar en tu cartera | sí | sí |
GET /v0/my/coupons?kind=clipped |
Tu cartera | sí | sí |
GET /v0/my/coupons/quote |
Precio con un cupón | sí | sí |
POST /v0/my/projects/{nonce}/pro, POST /v0/my/plan |
Pagar con coupon |
sí | sí |
Índice: Pipelines de API — índice