From setup to API integration, everything you need to use Cxperium — on a single page, in three languages.
Three steps are all it takes to get started with Cxperium. We manage your WhatsApp Business API application on your behalf.
After your demo request, our team sets up your account and submits your WhatsApp Business API application to Meta. Approval is usually completed the same day.
Once your business number is approved, you edit your brand profile (logo, description, working hours) from the dashboard. The green verification badge application is also submitted here.
Create a template, submit it for approval and launch your first campaign — or pick one from the ready-made template library. You can do it all from the dashboard without writing any code.
Detailed user guides for every module on the dashboard, plus developer references. Step-by-step walkthroughs for each module are also available in the in-app help center.
Account setup, dashboard tour and core concepts.
Survey design, NPS/CSAT templates, conditional questions, predefined data and QR links.
Survey statistics, dashboards, charts and export options.
Contact management, tags, custom fields, import/export, notification and survey sending, Pipeline.
Shared inbox, assignment and using canned responses.
Creating requests, status workflows and comments.
Website chat widget, appearance designer and mobile app (custom channel) integration.
Role-based access and managing team permissions.
Company settings, creating an API key, webhook definitions and adding a custom number.
Sub-user accounts linked to an enterprise license.
Updating your WhatsApp business profile and brand details.
Authentication, request and response rules, every endpoint and sample bodies.
The full list of survey, ticket, chat, sending and assistant events with their fields.
.NET bot template, dialogs, NLP (Regex, Dialogflow, ChatGPT), message types and WhatsApp Flows.
Same bot, same inbox: alongside WhatsApp, add a chat bubble to your website or connect your own mobile app. When you create a channel under Channels → Add in the dashboard, you receive a channel key and a secret.
For a web channel, all you need to do is paste the install code provided by the dashboard right before your site's </body> tag. Colours, position and texts are changed in the dashboard's Widget Designer, after which you copy the code again.
<!-- Cxperium chat -->
<script>
window.cxperiumSettings = {
channelKey: "ch_xxxxxxxxxxxxxxxx",
secret: "…",
brand: "Acme Support",
color: "#7c3aed"
};
(function (d) {
var s = d.createElement("script");
s.src = "https://cdn.cxperium.com/widget/v1/cxperium-widget.js";
s.async = true;
d.head.appendChild(s);
})(document);
</script>
For mobile apps (iOS, Android, React Native, Flutter) the custom channel works over REST + WebSocket: the app registers once to obtain an identity and a token, then sends messages over WebSocket and receives replies instantly. No server is required; if you prefer, you can also connect through your own server with signed requests.
Setup steps, all widget settings, message types and error codes are in the Channels guide.
Connect contact management, message and notification sending, surveys, tickets and live chat to your own systems with the Cxperium REST API. All requests go to https://api.cxperium.com over HTTPS and are authenticated with the apikey header. You create your API key in the dashboard under Settings → API Integration (available on Premium and Enterprise plans).
# Create a contact (updates the existing one if the phone number exists)
curl -X POST https://api.cxperium.com/api/contacts \
-H "apikey: $CX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"phone": "905551112233",
"userProfileName": "Jane Doe",
"email": "jane@example.com",
"language": "EN",
"tags": []
}'
# Free-form text to a contact with an open session (wrote to you in the last 24 hours)
curl -X POST https://api.cxperium.com/api/send-message \
-H "apikey: $CX_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "type": "TEXT", "phone": "905551112233", "text": "Hi! Your order has been shipped." }'
# 201 Created
{ "status": 201, "success": true, "message": "OK", "data": { … } }
Every response carries status, success, message and, where applicable, data. An invalid or missing key returns 401 with { "error": "Invalid API key!" }. To reach contacts whose session window is closed, send a notification with an approved template via POST /api/notification/send-single. There is a limit of 100 requests per minute per IP; beyond it you receive 429.
All endpoints, pagination and filter rules, sample bodies: REST API Reference. The Postman collection can be downloaded from the View Collection button on the API Integration screen in the dashboard.
When survey answers, ticket and chat events, bulk sending summaries or assistant events occur, Cxperium sends a JSON POST request to the HTTPS address you define in the dashboard. Webhooks are available on the Enterprise plan; you choose which events are sent and which surveys are covered in the webhook definition.
# COMPLETED — when a contact finishes a survey
{
"event_status": "COMPLETED",
"survey": { "id": "6650aabbccddeeff00112233", "name": "Customer Satisfaction Survey" },
"contact": { "contactId": "6612cc33dd44ee55ff667788", "name": "J*** D**", "phone": "905321112233" },
"questions": [
{ "id": "6650bbccddeeff0011223345", "name": { "EN": "How would you rate our service from 1 to 5?" }, "answer": { "button_reply": "5" } },
{ "id": "6650bbccddeeff0011223346", "name": { "EN": "Anything you would like to add?" }, "answer": { "text_reply": "Very satisfied." } }
],
"start_time": "2026-09-07T09:47:40.000Z",
"complated_time": "2026-09-07T09:47:40.212Z"
}
Every request contains the event code event_status and the sending time complated_time; the remaining fields are event-specific. Responding with 2xx is enough; the body is not read. The request is retried once only on a network error; 4xx/5xx responses are not retried. Fields without a value are omitted from the JSON.
All events and field descriptions: Webhook Reference. Steps for defining one in the dashboard: Webhook Integration.
Applications are usually approved the same day, and within a few business days at most. We manage the process on your behalf and keep you informed at every step.
Yes. You can migrate your existing business number or start with a new one. There is no service interruption during number migration.
WhatsApp requires that the first messages businesses send to customers (templates) be approved by Meta. Approval is usually completed within minutes; our dashboard shows the status in real time. If the customer wrote to you within the last 24 hours, you can send free-form messages without a template.
Yes. For the web channel you only add the install code provided by the dashboard to your site; mobile apps connect through the REST and WebSocket based custom channel. Both channels reach the same bot and the same inbox as WhatsApp. Details are in the Channels guide.
The REST API allows 100 requests per minute per IP; beyond that you receive a 429 response with RateLimit headers. WhatsApp sending capacity depends on the tiers Meta assigns based on your business verification level, and it increases automatically over time.
API keys are created on the Premium and Enterprise plans. Webhook delivery is exclusive to the Enterprise plan. There is a single API key per account; generating a new key immediately invalidates the previous one.
All data is stored on end-to-end encrypted infrastructure in compliance with KVKK (the Turkish Personal Data Protection Law). We provide a Data Processing Agreement (DPA) for our enterprise customers.
Let our technical team guide you through your integration — send us your question and we'll get back to you the same day.
Dedicated technical support · Free integration consulting