Şablonlar API'si
Gizli anahtar. Listeleme ve okuma campaigns:read, oluşturma, değiştirme ve silme campaigns:write. Bkz. Özellikler › Şablonlar.
GET /v1/templates
{ "templates": [ { "id": "66f1…", "name": "order-shipped", "description": null, "content": { … }, "data": null, "presentation": { "channelId": "orders" }, "ttl": 86400, "collapseId": null, "priority": null, "silent": false, "useCount": 12, "createdAt": "…", "updatedAt": "…" } ] }
POST /v1/templates
| Alan | Zorunlu | Notlar |
|---|---|---|
name | evet | ≤ 120, uygulama içinde benzersiz |
content | evet | Katı içerik şeması — her dil tam, _default mevcut |
description | — | ≤ 500 |
data, presentation, ttl, collapseId, priority, silent | — | Gönderimdeki anlamlarıyla; şablon kullanıldığında varsayılan olurlar |
Şablonla 201; ad varsa 409 duplicate_name; alan yollarıyla 422 invalid_body.
GET /v1/templates/:id
PUT /v1/templates/:id
Yukarıdaki alanların tümüyle değiştirilmesi (verilmeyen isteğe bağlı alan kaldırılır). Bilinmiyorsa 404.
DELETE /v1/templates/:id
204. Ona başvuran kampanyalar etkilenmez — kendi kopyalarını tutarlar.
Kullanım
curl -X POST https://push.example.com/v1/notifications \
-H "Authorization: Bearer sk_live_…" -H "content-type: application/json" \
-d '{ "target": { "segmentId": "66f2…" }, "templateId": "66f1…" }'
Hem POST /v1/notifications hem POST /v1/campaigns content yerine (ya da yanında) templateId alır; istek alanları şablonunkileri ezer. Bilinmeyen şablon → 404 not_found, varsa Idempotency-Key tüketilmez.