Introduction
Welcome to the official developer documentation for the SaaS API platform. This platform enables automated message routing, interactive customer management, order catalog synchronization, automated sequences, and team collaborations.
Our API is built on REST principles and uses standard HTTP responses. All POST requests accept application/x-www-form-urlencoded payload headers by default. This documentation provides copyable code blocks, real-time code snippet updates based on parameter fields, and complete response payloads to integrate with your tech stack.
Ensure you obtain your official apiToken from your dashboard profile before initializing the API integration.
curl -X POST https://app.wabotick.com/api/v1/whatsapp/template/list \
-d "apiToken=YOUR_API_TOKEN" \
-d "phone_number_id=YOUR_PHONE_NUMBER_ID"
Authentication
Authentication to the SaaS API is managed using an API key parameter passed inside the body variables as apiToken for all requests.
Never share your API Token publicly. Keep it securely stored in your server environment variables.
Do not embed your apiToken directly in client-side code (frontend JavaScript). Always route queries through a backend system.
{
"apiToken": "YOUR_PERSONAL_API_TOKEN"
}
Configuration & Environment
To configure your workspace quickly, fill in the Brand Name, Base URL, and apiToken inputs in the top navbar. All endpoint code snippets on the right side of this page will instantly update with your parameters.
Standard endpoints use the following scheme:
https://app.wabotick.com/api/v1/...
Note: The Teams API endpoints route to our primary host: https://app.wabotick.com/api/v1/....
| Environment Variable | Value |
|---|---|
brand_name |
Detecting... |
base_url |
Detecting... |
apiToken |
18492|kT5mzQvL8NPDxYwRe3sH9cVbUaJf7LmXo2iG6nZp |
Connect WhatsApp Account
Initialize or link a WhatsApp Business Account (WABA) to the user's workspace using API credentials and Meta's access token.
Request Body (urlencoded)
{
"status": "1",
"message": "Whatsapp account has been connect successfully."
}
Send Template Message
Send an approved WhatsApp Business template message to a customer's registered phone number.
Request Body (urlencoded)
{
"status": "success",
"message": "Template message sent successfully.",
"data": {
"message_id": "wamid.HBgLOTE5MDAwMDAwMDAwFQIAERgSRjQ1QzBCM0EyN0M4OTUzNkFFAA=="
}
}
Send Message Inside 24 Hours Window
Send standard plain text messages to a subscriber. This is only available if the user initiated contact inside the last 24 hours.
Request Body (urlencoded)
{"status":"1", "wa_message_id":"wamid.HBgNODgwMTcyMzMwOTAwMxUCABEYEjlGQkY3MEFEMEVGODhCNDkxNQA=", "message":"Message sent successfully."}
{"status":"0","message":"Subscriber limit has been exceeded. You cannot have more subscribers."}
Get Conversation History
Fetch the chat history and logs between a phone number and the business agent with offset parameters.
Request Body (urlencoded)
{"status":"1","message":[{"id":8XX3,"whatsapp_bot_subscriber_subscriber_id":"0123456789-23","whatsapp_bot_id":23,"sender":"bot","agent_name":null,"message_content":"{\"delay_in_reply\":0,\"messaging_product\":\"whatsapp\",\"recipient_type\":\"individual\",\"to\":\"0123456789\",\"type\":\"interactive\",\"interactive\":{\"header\":{\"type\":\"text\",\"text\":\"Order gateway\"},\"body\":{\"text\":\"How would you like to purchase it?\"},\"type\":\"button\",\"action\":{\"buttons\":[{\"type\":\"reply\",\"reply\":{\"id\":\"5lvomLOuENXIe6D::gPeAiDDmVQR_jTR\",\"title\":\"Paypal pay\"}},{\"type\":\"reply\",\"reply\":{\"id\":\"YES_START_CHAT_WITH_HUMAN::CBaLoC4yTMyIljZ\",\"title\":\"COD\"}}]}}}","conversation_time":"2024-07-28 13:21:03","wa_message_id":"wamid.HBgNODgwMTcyMzMwOTAwMxUCABEYEjlGQkY3MEFEMEVGODhCNDkxNQA=","reaction_data":null,"message_status":null,"delivery_status_updated_at":"2024-07-28 13:21:03","failed_reason":""}]}
Trigger Bot Flow
Force-trigger a specific automated bot sequence or conversational flow for a targeted customer.
Request Body (urlencoded)
{"status":"1","message":"Bot has been trigger successfully."}
Send Media Message
Send an image, video, audio, or document file to a recipient. Supports either a direct media file URL or a previously uploaded media ID.
Request Body (urlencoded)
{"status":"1", "wa_message_id":"wamid.HBgNODgwMTcyMzMwOTAwMxUCABEYEjlGQkY3MEFEMEVGODhCNDkxNQA=", "message":"Message sent successfully."}
{"status":"0","message":"Subscriber limit has been exceeded. You cannot have more subscribers."}
Upload Media Asset
Pre-upload media files to WhatsApp's servers to obtain a media_id for faster delivery in campaigns.
Request Body (urlencoded)
{
"status": "success",
"media_id": "982348123049102"
}
Get Button PostBack List
Query the click activity log history for interactive reply button triggers on your workspace.
Request Body (urlencoded)
{
"status": "1",
"message": [
{
"id": 671,
"user_id": 1,
"postback_id": "QUICK_REPLY_LOCATION_REPLY_BOT",
"whatsapp_bot_id": 95,
"use_status": "0",
"status": "1",
"whatsapp_bot_setting_id": 1770,
"bot_name": "Location quick reply",
"is_template": "1",
"template_jsoncode": "[{\"messaging_product\":\"whatsapp\",\"to\":\"replace_id\",\"type\":\"text\",\"text\":{\"body\":\"Thank you for sharing your location. It has been received. Thank you for being here with us today.\",\"preview_url\":true}}]",
"template_name": "Location quick reply",
"template_for": "location-quick-reply",
"template_id": null,
"inherit_from_template": "0",
"whatsapp_bot_label_ids": "",
"whatsapp_bot_remove_label_ids": "",
"remove_sequence_campaign_id": 0,
"team_assign_role_id": 0,
"team_assign_user_id": 0,
"broadcast_sequence_campaign_id": 0,
"visual_flow_type": "flow",
"postback_type": "main",
"whatsapp_bot_visual_flow_builder_campaign_id": 1358,
"google_sheet_ids": "",
"updated_at": "2024-07-14 05:25:55",
"row_type": "static",
"custom_field_id": 0,
"custom_field_index": "",
"custom_field_index_title": "",
"generateGoogleMeetLink": null,
"googleCalendarId": null,
"googleMeetToCustomFieldId": null
}
]
}
Get Message Status
Check the delivery status of a sent message using its unique message ID.
Request Body (urlencoded)
{
"status": "1",
"message": {
"message_status": "delivered",
"delivery_status_updated_at": "2024-07-28 13:21:03",
"read_time": null,
"failed_time": null,
"failed_reason": ""
}
}
Send Broadcast Template
Trigger template messages to multiple subscribers or list segments in a single API operation.
Request Body (urlencoded)
// Success Response Example
{
"status": "1",
"visual_flow_campaign_id": 1727,
"message": "Data has been saved successfully.",
"redirect_on_success_url": ""
}
// Example Response #2
{"status":"1","message":"Template message sent successfully."}
{"status":"0","message":"Subscriber limit has been exceeded. You cannot have more subscribers."}
Get Template List
Download and display lists of Meta WhatsApp Business templates that are approved and synced with the user account.
Request Body (urlencoded)
// Success Response Example
{
"status": "1",
"message": {
"id": 48,
"template_id": "437509121867805",
"whatsapp_business_id": 11,
"template_name": "ada",
"template_type": "single",
"locale": "en_US",
"header_type": "media",
"header_subtype": "image",
"header_content": "",
"body_content": "To send an interactive message template, make a POST call to /PHONE_NUMBER_ID/",
"footer_content": "",
"button_content": "[]",
"template_json": "{\"name\":\"template_23_1666095188\",\"language\":\"en_US\",\"category\":\"transactional\",\"components\":[{\"type\":\"header\",\"format\":\"image\",\"example\":{\"header_handle\":[\"https:\\/\\/example.com\\/assets\\/images\\/template\\/image.jpg\"]}},{\"type\":\"body\",\"text\":\"To send an interactive message template, make a POST call to \\/PHONE_NUMBER_ID\\/\"}],\"access_token\":\"EAAHFAlhZBSyEBAIRZCsHKZA5ZAdOWMRL7AwuuCBKd3tZChAQQ1PHojPUS5k76aMVyzzxG9bYp2JQ57aLMfQBCZCpvXKac4KLDZAhejOuw1zkNCxGjvK7J5YwNmZBwTTd8Iig2YDq0vGZBoS20ipsLB4scbOOh0WmQrj7oLI9ZC5rFlsFC9mYctgQKIyJCvZBfgn5pGE1YPiBllrqwZDZD\"}",
"button_type": "none",
"variable_map": "{\"header\":[],\"body\":[]}",
"updated_at": "2022-10-18 12:13:09",
"user_id": 1,
"status": "Rejected",
"system_template": "0",
"map_needed": "0",
"check_wp_type": "general"
}
}
// Example Response #2
{"status":"1","message":"Template message sent successfully."}
{"status":"0","message":"Subscriber limit has been exceeded. You cannot have more subscribers."}
Get Subscriber
Inspect CRM profile details, attributes, custom fields, and labels mapped to a subscriber phone number.
Request Body (urlencoded)
{
"status": "success",
"data": {
"subscriber_id": 9822,
"first_name": "Dishang",
"last_name": "M",
"phone_number": "919000000000",
"gender": "male",
"labels": ["Lead", "Active"],
"custom_fields": {
"company": "SaaS Platform"
}
}
}
Create Subscriber
Directly inject a new contact into your marketing database manually.
Request Body (urlencoded)
phoneNumberID).phoneNumber).
{"status":"1","mesasge":"WhatsApp subscriber has been created."}
{"status":"0","message":"WhatsApp account not found."}
{"status":"0","message":"Subscriber limit has been exceeded. You cannot have more subscribers."}
{"status":"0","message":"Something went wrong or subscriber already exist."}
List Subscribers
Retrieve paginated lists of workspace subscribers with sorting.
Request Body (urlencoded)
id DESC or created_at ASC).
{
"status": "1",
"message": [
{
"subscriber_id": 144,
"chat_id": "0123456789",
"first_name": "John",
"last_name": "Doe",
"email": "test@gmail.com",
"gender": "male",
"label_names": "One ,two"
},
{
"subscriber_id": 157,
"chat_id": "0123456789",
"first_name": "john",
"last_name": "Doe",
"email": "null",
"gender": "Male",
"label_names": "ChatTest,remove tag,One"
}
]
}
Update Subscriber
Update specific details such as name, gender, label association, and demographic attributes for an existing contact.
Request Body (urlencoded)
{"status":"1","message":"Subscriber Updated Successfully."}
Delete Subscriber
Remove a contact and clear associated telemetry tracking databases permanently.
Request Body (urlencoded)
{"status":"1","message":"Subscriber has been deleted successfully."}
Custom Fields List
Retrieve a list of all custom contact fields configured in your workspace.
Request Body (urlencoded)
// Success Response Example
{"status":"1","message":"Custom fields retrieved successfully","data":[{"id":1,"name":"customer_name","reply_type":"text"},{"id":2,"name":"customer_email","reply_type":"email"}]}
// Example Response #2
{"status":"1","message":"Labels have been assigned successfully."}
Add Notes to Subscriber
Attach administrative custom notes or summaries directly to a subscriber's profile history.
Request Body (urlencoded)
// Success Response Example
{"status":"1","message":"Notes have been added successfully."}
// Example Response #2
{
"status": "1",
"message": [
{
"id": 1,
"label_name": "Your label name",
"status": "1"
}
]
}
Assign Chat to Team Member
Assign a customer conversation to a specific agent, dashboard support agent, or team member.
This endpoint communicates directly with app.wabotick.com instead of the standard base URL.
Request Body (urlencoded)
{"status":"1","message":"Successfully Assign Agent to Conversation."}
Reset User Input Flow
Clear current conversation contexts or prompt variables to force the customer to re-enter a bot automation sequence from step one.
Request Body (urlencoded)
{"status":"1","message":"Reset User Input Flow successfully."}
Assign Custom Fields
Attach dynamic properties or custom metadata fields (JSON string form) to a targeted chat profile.
Request Body (urlencoded)
// Success Response Example
{"status":"1","message":"Subscriber changes have been saved successfully."}
// Example Response #2
{"status":"1","message":"Custom fields retrieved successfully","data":[{"id":1,"name":"customer_name","reply_type":"text"},{"id":2,"name":"customer_email","reply_type":"email"}]}
Assign Labels to Subscriber
Append a set of tag classifications to a subscriber profile using target Label IDs.
Request Body (urlencoded)
// Success Response Example
{"status":"1","message":"Labels have been assigned successfully."}
// Example Response #2
{"status":"1","message":"Labels have been assigned successfully."}
Remove Labels from Subscriber
Remove specified label tag relations from a subscriber profile.
Request Body (urlencoded)
// Success Response Example
{"status":"1","message":"Labels have been assigned successfully."}
// Example Response #2
{"status":"1","message":"Sequences have been assigned successfully."}
Assign Sequences to Subscriber
Enroll a subscriber in automated drip campaigns using sequence IDs.
Request Body (urlencoded)
{"status":"1","message":"Sequences have been assigned successfully."}
Remove Sequences from Subscriber
Unsubscribe a contact from campaign sequences.
Request Body (urlencoded)
// Success Response Example
{"status":"1","message":"Sequences have been removed successfully."}
// Example Response #2
{"status":"1","message":"Notes have been added successfully."}
List Labels
Retrieve a list of all active labels configured in the user workspace.
Request Body (urlencoded)
// Success Response Example
{
"status": "1",
"message": [
{
"id": 1,
"label_name": "Your label name",
"status": "1"
}
]
}
// Example Response #2
{
"status": "1",
"message": "Label has been created successfully."
}
Create Label
Create a new tag designation to segment, sort, and trigger bot sequence assignments.
Request Body (urlencoded)
// Success Response Example
{
"status": "1",
"message": "Label has been created successfully."
}
// Example Response #2
{"status":true,"message":[{"catalog_id":"1429267xxxx5095","catalog_name":"The White","catalog_url":"https:xxxxx","checkout_settings":"{"tax_percentage":"5.5","shipping_charge":"20"}"}]}
Get Catalog List
Fetch details regarding connected product catalogs synced from Facebook Business Manager.
Request Body (urlencoded)
// Success Response Example
{"status":true,"message":[{"catalog_id":"1429267xxxx5095","catalog_name":"The White","catalog_url":"https:xxxxx","checkout_settings":"{"tax_percentage":"5.5","shipping_charge":"20"}"}]}
// Example Response #2
{
"status": "1",
"message": "Catalog products have been synced successfully."
}
Catalog Sync
Force updates and synchronize store collection catalogs with the Meta Commerce Manager.
Request Body (urlencoded)
// Success Response Example
{
"status": "1",
"message": "Catalog products have been synced successfully."
}
// Example Response #2
{
"status": "1",
"message": [
{
"order_unique_id": "172310467380123456789",
"catalog_id": "762561142206860",
"chat_id": "0123456789",
"catalog_name": "Catalog Name",
"first_name": "John",
"cart_total": 4300,
"cart_currency": "USD",
"cart_status_raw": "Submitted",
"ordered_at": "2024-08-08 08:11:13",
"updated_at": "2024-08-08 08:30:40",
"payment_amount": 4300,
"payment_method": "Cash on Delivery",
"shipping_address": "{\"name\":\"John Doe\",\"phone_number\":\"0123456789\",\"email\":\"test@gmail.com\",\"address\":\"pti road\"}",
"checkout_account_email": null,
"checkout_amount": "0",
"checkout_timestamp": null,
"transaction_id": "PD1723104673012345678933FAD1",
"paid_at": "2024-08-08 08:30:40",
"status_changed_at": "2024-08-08 08:30:40"
}
]
}
Catalog Order List
Retrieve WhatsApp order checkout cart details initiated by subscribers in storefront catalogs.
Request Body (urlencoded)
{
"status": "1",
"message": [
{
"order_unique_id": "172310467380123456789",
"catalog_id": "762561142206860",
"chat_id": "0123456789",
"catalog_name": "Catalog Name",
"first_name": "John",
"cart_total": 4300,
"cart_currency": "USD",
"cart_status_raw": "Submitted",
"ordered_at": "2024-08-08 08:11:13",
"updated_at": "2024-08-08 08:30:40",
"payment_amount": 4300,
"payment_method": "Cash on Delivery",
"shipping_address": "{\"name\":\"John Doe\",\"phone_number\":\"0123456789\",\"email\":\"test@gmail.com\",\"address\":\"pti road\"}",
"checkout_account_email": null,
"checkout_amount": "0",
"checkout_timestamp": null,
"transaction_id": "PD1723104673012345678933FAD1",
"paid_at": "2024-08-08 08:30:40",
"status_changed_at": "2024-08-08 08:30:40"
}
]
}
Update Catalog Order Status
Approve, decline, or process storefront checkout cart orders.
Request Body (urlencoded)
// Success Response Example
{
"status": true,
"message": "Cart status has been updated successfully"
}
// Example Response #2
{
"status": true,
"message": "Cart status has been updated successfully"
}