Extend your reach beyond the Agent Workspace. Trigger WhatsApp messages from your own CRM, bot, e-commerce platform, or custom scripts — while keeping every interaction perfectly synced within Zendesk.
How the API Fits In
WCR exposes two distinct API surfaces, each serving a different audience and trust level. One is for use by third parties, and the other connects to the Zendesk platform — never to Meta's Cloud API directly.
┌──────────────────────────────────────────────────────────────┐
│ EXTERNAL SYSTEMS │
│ CRM · ERP · n8n · Zapier · Make · Custom scripts │
└──────────────────────────────┬───────────────────────────────┘
│ HTTPS (token auth)
┌────────────────▼──────────────────┐
│ Delivery API │
│ Send & query WhatsApp messages │
└────────────────┬──────────────────┘
│
┌──────────────────────────────▼───────────────────────────────┐
│ WCR BACKEND │
│ ┌──────────────────────────┐ ┌──────────────────────────┐ │
│ │ App API │ │ Sunco Webhook Layer │ │
│ │ Sunco API │ │ Inbound events │ │
│ └──────────────────────────┘ └──────────────────────────┘ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Messages · Templates · Users · Logs │ │
│ └──────────────────────────────────────────────────────┘ │
└──────────────┬─────────────────────────────┬─────────────────┘
│ Zendesk Support API ▲ Zendesk Conversations
│ tickets & private notes │ API events
┌──────────────▼─────────────────────────────┴─────────────────┐
│ ZENDESK PLATFORM │
│ ┌────────────────────┐ ┌──────────────────────────────┐ │
│ │ Zendesk Support │ │ Conversations API (Sunco) │ │
│ │ Tickets · Agents │ │ WhatsApp Channel(s) │ │
│ └────────────────────┘ └───────────────┬──────────────┘ │
└─────────────────────────────────── ───────┼──────────────────┘
│
┌───────────▼──────────────┐
│ Meta Cloud API │
│ (WCR never calls this) │
└──────────────────────────┘
| Surface | Purpose | Consumers |
|---|---|---|
| App API | Internal frontend operations, session management, agent sidebar | Vue.js SPA, Zendesk Sidebar App |
| Delivery API | Send and track outbound WhatsApp messages | External systems via token authentication |
| Sunco API | Launch some tasks programatically | Internal systems via user/pwd authentication |
| API Webhooks | Receive events from Zendesk Conversations API, like delivery errors | Internal systems |
Zendesk Integration Layer
WCR uses two Zendesk API surfaces internally, regardless of whether a message originates from the Agent sidebar, a bulk upload, or an external Delivery API call.
Zendesk Support API — outbound
After every message delivery, WCR calls the Zendesk Support API to record the event as a private note on the linked ticket. If no ticket exists for the recipient, one is created automatically. Your agents always have full context — even when the trigger came from an external CRM or automation tool.
Zendesk Conversations API — inbound
WCR never communicates with the Meta Cloud API directly. Instead, each WCR connection is associated with one or more Zendesk WhatsApp Channels. Zendesk manages the Meta Cloud API relationship on your behalf — WCR registers its Sunco webhook endpoint as a subscriber to the Conversations API and receives inbound WhatsApp messages and delivery/error events as they arrive.
This architecture means:
- You never need to manage Meta API credentials inside WCR
- All WhatsApp compliance and rate-limit handling at the Meta layer is owned by Zendesk
- Your WhatsApp number(s) remain under your Zendesk account, not a third-party intermediary
Authentication
All Delivery API requests require a token passed in the Authorization header. Tokens are scoped to a specific WCR connection — revoking a connection immediately invalidates its token without affecting other integrations.
No API key is shared across connections. If an integration is compromised, only that connection's token needs to be rotated.
Request & Response Format
All requests and responses are JSON. Every response follows the same predictable envelope — your integration only needs to check one field:
{ "status": "ok", "data": { ... } } // success
{ "status": "ko", "error": "..." } // failure
Send a message:
{
"subdomain": "your-zendesk-subdomain",
"template_name": "your_approved_template",
"language": "en_GB",
"messages": [
{
"phone": "+34666000000",
"ri_body_param_1": "John",
"ri_body_param_2": "ORDER-1234"
}
],
"ticket_id": 157,
"origin": "my_erp_system"
}
Query delivery status:
GET ?phone=+34666000000&delivery_date_from=2024-01-01
→ { "status": "ok", "data": [ { "status": "processed_ok", ... } ] }
Possible delivery statuses: pending · in_progress · processed_ok · processed_ko
Check out the API Documentation for more information.
Security & Compliance
- Opt-out enforcement: the global blacklist is checked before every delivery — opted-out numbers are skipped automatically, with no action required from the caller
- GDPR ready: every API call respects your data sovereignty settings and blacklist rules
- Transport security: all traffic is HTTPS — no unencrypted API calls are accepted
Fast-Track Your Integration
Comprehensive Documentation
Our developer portal contains detailed endpoint descriptions, parameter references, authentication guides, and status code explanations.
Postman Collection
Import our official Postman collection to start testing endpoints and inspecting sample payloads immediately — no manual configuration needed.
Webhook & Automation Support
Connect WCR to Make, n8n, or Zapier to build reactive workflows without writing custom code. Inbound WhatsApp replies are forwarded to your configured webhook endpoint in real time.
Ready to build your WhatsApp integration?
Stop wrestling with the complexities of the WhatsApp Cloud API.
Use WCR as your bridge between your data and your Zendesk Support environment.
Schedule a meeting with our Tech Lead
Contact us to learn more.