API-пайплайн: выпуск собственных купонов
Цель: выпускать собственные купоны на скидку (шаблоны) и управлять ими.
Выпущенные вами купоны не дают скидку на Pro или планы Cabi.Chat: для них подходят только купоны, выпущенные Cabi.Chat. API-пайплайн: применить купон
Шаги
1. Создайте шаблон.
POST /v0/my/coupons
Idempotency-Key: 41d0…
{"title": "Spring −20%", "area": "PROMOTIONAL", "code": "SPRING20",
"discount_type": "PERCENTAGE", "discount_value": 20,
"mint_capacity": 100, "max_uses_per_user": 1, "clipped_validity_days": 30,
"valid_until": "2026-12-31T23:59:59Z", "project": "<project>"}
→ the coupon card (Private)
2. Список. GET /v0/my/coupons → {"coupons": [...], "total"}.
3. Чтение. GET /v0/my/coupons/<coupon> → условия и счётчики (clips_minted, redeems_used).
4. Изменение. PATCH /v0/my/coupons/<coupon>, например с {"is_active": false}, valid_until, mint_capacity, title, content, visibility, permissions.
5. Удаление. DELETE /v0/my/coupons/<coupon> или POST /v0/my/archive {"nonce": "<coupon>", "archived": true}.
Правила
area:ENGAGING,REFERRAL,PROMOTIONAL,SUBSCRIPTIONилиSIGNIN;discount_type:PERCENTAGEилиFIXED; иначе 400.titleобязателен.codeхранится в верхнем регистре.- Новые купоны — Private. Добавить шаблон в кошелёк могут только те, у кого есть право исполнения на него (права карточек: Граф Cabi.Chat — политики карточек).
- Купон, который уже добавляли в кошелёк, удалить нельзя (400): архивируйте его.
mint_capacityограничивает число добавлений;max_uses_per_user— число использований на одно добавление (по умолчанию 1);clipped_validity_days— сколько добавленный купон остаётся действительным.
Поверхность API
| Эндпоинт | Назначение | FE | ИИ / оракул |
|---|---|---|---|
POST /v0/my/coupons |
Создать | нет | да |
GET /v0/my/coupons, GET /v0/my/coupons/{nonce} |
Список, чтение | нет | да |
PATCH /v0/my/coupons/{nonce} |
Изменить | нет | да |
DELETE /v0/my/coupons/{nonce}, POST /v0/my/archive |
Удалить или архивировать | нет | да |
Индекс: API-пайплайны — индекс