testcrm ↔ app konuşması
Bu sayfa, örnek CRM (testcrm) ile B2B Worker paneli/API’sinin nasıl konuştuğunu anlatır. Kendi CRM’iniz aynı sözleşmeyi uygular.
Paket seçerek minimum uğraşla bağlanmak için: CRM Integration App (bind-kit → project → validate → fire).
Akış özeti
CRM app.b2bworker.com CRM
| | |
| POST /api/v1/events/ | |
| Authorization: Bearer b2b_… | |
| Idempotency-Key | |
| { event, workflow, payload } | |
|--------------------------------->| |
| 201 + execution_id (varsa) | |
|<---------------------------------| |
| | workflow çalışır |
| | WhatsApp / partner |
| | push_event / outbound |
| |---------------------------->|
| | POST /api/hooks/b2b |
| | X-Signature: sha256=… |
| | { event, data } |
1) CRM → app: event tetikleme
- URL:
POST /api/v1/events/ - Auth: API key — Auth & API Keys
- Body alanları:
event— örn.FLIGHT_CHANGED(katalogda tanımlı inbound event)workflow— workflow key (isim değil). Panelde Akışlar listesinde mono satır, örn.flight-changepayload— şablon/akışın beklediği yollar (örn.patient.phone)
Önemli: 201 Created yalnızca event kaydının kabul edildiğini gösterir. WhatsApp’ın telefona düşmesi ayrı bir adımdır (execution + Meta delivery).
Yanlış workflow key (ör. var olmayan medical-tourism) → event kaydı oluşur, execution başlamaz, mesaj gitmez.
2) app içinde: workflow
Aktif (status=active) workflow, workflow alanındaki key ile eşleşirse execution açılır.
Örnek flight-change:
send_template→flight_changed_notify, alıcıpatient.phonepush_event→ örn.EXECUTION_SUCCESS(CRM’e outbound)finish
Akıllı şablon (send_smart_template) partner yanıtı bekler; zaman aşımı varsayılan 15 dk (timeout_seconds=900). Partner kaydındaki süre önceliklidir — Akışlar.
3) app → CRM: webhook
Panel Webhooks (veya API) ile abonelik:
| Alan | Örnek |
|---|---|
url | https://crm.b2bworker.com/api/hooks/b2b |
secret | CRM ile paylaşılmış whsec_… |
event_types | ["EXECUTION_SUCCESS"] veya boş = hepsi |
İmza ve gövde: Webhooks.
testcrm’de secret üst seviye webhookSecret alanına yazılmalıdır (yalnızca settings altında olursa 401 alınır).
Yaygın hatalar
| Belirti | Muhtemel neden |
|---|---|
| 201 ama WhatsApp yok | Yanlış workflow key; execution yok |
Execution completed, telefonda yok | Meta delivery failed (ör. 131047 — 24s pencere dışı serbest metin) |
| CRM inbound 401 | Webhook secret uyuşmuyor / yanlış yerde |
Graph …/v23.0//messages | WABA phone_number_id boş |
Meta 24 saat kuralı (kısa)
send_template node’u şu an serbest text gönderebilir. Alıcı son 24 saatte yazmadıysa Meta teslimatı düşürebilir. Partner’a günler sonra iş bildirmek için Meta’da onaylı template gerekir.
testcrm checklist
- Ayarlar:
baseUrl=https://app.b2bworker.com, API key dolu - Events:
event=FLIGHT_CHANGED,workflow=flight-change, payload’dapatient.phone - app Webhooks: testcrm URL + aynı secret
- app Akışlar:
flight-changeaktif; Connectors WABA bağlı