Guide

CRM Scenario Routing with Washeej

How an external CRM maps its own scenario keys to Washeej Cloud templates without polluting WABA.

Do not probe with POST /v1/templates Use GET /v1/capabilities/templates and POST /v1/templates/validate. Never create templates named like crm_probe_do_not_approve.

Ownership boundaries

  • Scenario keys remain CRM-owned (e.g. payment_due, order_shipped).
  • Account routing uses Washeej account capabilities (Cloud vs QR).
  • Staff delivery rules remain CRM-owned.
  • Free text only when the customer-care window allows it.
  • Outside the window → approved template required. No silent text→template fallback.

Recommended CRM storage

  • Washeej template_id (immutable)
  • name + language
  • whatsapp_account_id
  • Idempotency key per business operation

Status updates

Prefer signed developer webhooks (template.status.updated / template.approved). Use sync/list polling as fallback.

send_to_client=0 Disabling send_to_client suppresses client notifications, not only staff delivery. Do not use it as a “staff-only” switch without understanding client impact.