CRM

whatsapp

4 uç · /api/crm/v1/whatsapp

İstek örnekleri ucun GERÇEK metodu ve yolundan üretilir. 4 ucun elle doğrulanmış gövde örneği henüz yok; o uçlarda iskelet gövdesizdir — uydurma bir alan yazmıyoruz.

POST/api/crm/v1/internal/whatsapp/reply

POST /api/crm/v1/internal/whatsapp/reply — **açık penceredeki serbest metin**.

Dahili

🔴 Bu uç, modül başlığındaki *"metin gitmez şablon gider"* kuralının İSTİSNASI DEĞİL KAPSAMIDIR: Meta'nın 24 saatlik hizmet penceresi açıkken serbest metin geçerlidir ve müvekkilin sorusuna onaylı bir şablonla cevap vermek imkânsızdır (öyle bir şablon yoktur). Pencere kapalıysa gönderim YAPILMAZ ve sebep AYRI bir bayrakla söylenir. 🔴 **Yeni bir gönderim motoru YAZILMADI** — outbound::send_channel_reply çağrılır. Kendi deliver çağrımızı yazsaydık pencere kapısı, dedupe, durum korelasyonu ve kota ikinci bir yerde de yaşardı; ve atlanacak kapı büyük ihtimalle PENCERE olurdu.

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/internal/whatsapp/reply" \
  -H "X-Blesyum-Internal: <imza>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/internal/whatsapp/send

POST /api/crm/v1/internal/whatsapp/send — tek alıcıya onaylı şablon.

Dahili

🔴 Yanıt **başarısızlıkta da 200**'dür (imza/kiracı/gövde hataları hariç). Tüketici bir KUYRUK işletiyor ve her satır için deftere bir cümle yazıyor: "sağlayıcı yok" ile "ağ koptu" arasındaki farkı bir HTTP durum koduna sıkıştırmak, o cümlenin kaybolması demekti. Gerekçe [wa::GonderimSonucu::saglayici_yok]da yazılı.

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/internal/whatsapp/send" \
  -H "X-Blesyum-Internal: <imza>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/internal/whatsapp/stream

GET /stream?ticket=… — text/event-stream. Kapıdan GEÇMEZ (başlık yok): kimlik biletin

Dahili

kendisidir; lisans ve Messenger API anahtarı yine sorulur.

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/internal/whatsapp/stream" \
  -H "X-Blesyum-Internal: <imza>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
POST/api/crm/v1/internal/whatsapp/templates

POST /api/crm/v1/internal/whatsapp/templates — kiracının gönderilebilir şablonları.

Dahili

Durum kodları çağrı köprüsüyle AYNI doktrinde: * **401** imza tutmadı — tüketici bunu KALICI sayar. * **400** gövde çözülemedi. * **404** kiracı yok/silinmiş. * **200** yanıt — lisans/hesap/şablon eksikleri gövdedeki AYRI bayraklarla söylenir.

İstek
curl -X POST "https://{slug}.crm.blesyum.app/api/crm/v1/internal/whatsapp/templates" \
  -H "X-Blesyum-Internal: <imza>" \
  -H "Accept: application/json"
Yanıt
{
  "data": "…",
  "trace_id": "01JC…"
}
Bu sayfa işine yaradı mı?