API Reference
The BlueTick REST API lets you programmatically send WhatsApp messages, manage contacts, create templates, and run campaigns from your own systems.
Base URL
https://api.bluetick.meAuthentication
Generate an API key from Settings → API Keys. Pass it in the Authorization header. API keys start with btk_live_.
Authorization: Bearer btk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxRate Limits
120 requests per minute per IP, plus 300 requests per minute per organization. Exceeding either returns 429.
Integration Examples
BlueTick is a standard REST API — works with any platform that can make HTTP requests. Here are common integration patterns for ERP, CRM, and automation tools.
ERPNext / Frappe
Send WhatsApp on Sales Invoice submit
# hooks.py
doc_events = {
"Sales Invoice": {
"on_submit": "myapp.notify"
}
}
# api.py
import requests
def notify(doc, method):
requests.post(
"https://api.bluetick.me/api/messages/send",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"phone": doc.contact_mobile,
"type": "text",
"content": {"text": f"Invoice {doc.name} ready"}
}
)Odoo
Trigger from Sale Order confirmation
# models/sale_order.py
import requests
class SaleOrder(models.Model):
_inherit = 'sale.order'
def action_confirm(self):
res = super().action_confirm()
requests.post(
"https://api.bluetick.me/api/messages/send",
headers={"Authorization": f"Bearer {KEY}"},
json={
"phone": self.partner_id.mobile,
"type": "text",
"content": {"text": f"Order {self.name} confirmed"}
}
)
return resSAP (ABAP / CPI)
Use HTTP destination or CPI iFlow
" ABAP HTTP client
DATA: lo_http TYPE REF TO if_http_client.
cl_http_client=>create_by_url(
EXPORTING url = 'https://api.bluetick.me/api/messages/send'
IMPORTING client = lo_http ).
lo_http->request->set_header_field(
name = 'Authorization'
value = |Bearer { lv_api_key }| ).
lo_http->request->set_cdata( lv_json_body ).
lo_http->send( ).Zoho CRM (Deluge)
Workflow function on lead creation
headers = Map();
headers.put("Authorization",
"Bearer btk_live_xxx");
headers.put("Content-Type",
"application/json");
body = Map();
body.put("phone", lead.Phone);
body.put("type", "text");
body.put("content",
{"text": "Thanks for your interest!"});
response = invokeurl
[
url: "https://api.bluetick.me/api/messages/send"
type: POST
parameters: body.toString()
headers: headers
];Node.js / Express
Plain JavaScript fetch
await fetch(
"https://api.bluetick.me/api/messages/send",
{
method: "POST",
headers: {
"Authorization": `Bearer ${API_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
phone: "+91...",
type: "text",
content: { text: "Hello" }
})
}
);Zapier / Make / n8n
No-code via Webhooks module
Action: Webhooks → POST
URL:
https://api.bluetick.me/api/messages/send
Headers:
Authorization: Bearer btk_live_xxx
Content-Type: application/json
Body:
{
"phone": "{{customer_phone}}",
"type": "text",
"content": { "text": "{{message}}" }
}Other supported platforms: Salesforce (Apex callouts), HubSpot (workflows), NetSuite (SuiteScript), Microsoft Dynamics (Power Automate), Shopify, WooCommerce, custom Python/Ruby/PHP/Go scripts.
Messages
Send WhatsApp messages and retrieve message history.
/api/messages/sendSend a text, image, document, or template message via the Meta WhatsApp API.
Request body
{
"conversation_id": "uuid",
"type": "text",
"content": { "text": "Hello from BlueTick" }
}Response
{
"data": {
"id": "msg_abc",
"meta_message_id": "wamid.xxx",
"status": "sent"
}
}/api/messages/:conversationIdList messages for a conversation. Supports pagination via ?page=1&per_page=50.
Contacts
Manage WhatsApp contacts and their tags.
/api/contactsList all contacts.
/api/contactsCreate a new contact.
Request body
{
"name": "Jane Doe",
"phone": "+919539045533",
"email": "jane@example.com",
"tags": ["customer"]
}/api/contacts/:idGet a single contact.
/api/contacts/:idUpdate a contact.
/api/contacts/:idDelete a contact.
Conversations
Manage shared inbox conversations and assignments.
/api/conversationsList all conversations.
/api/conversations/:idGet a conversation with contact + agent details.
/api/conversations/:id/assignAssign a conversation to an agent.
Request body
{ "agent_id": "uuid" }/api/conversations/:id/resolveMark a conversation as resolved.
Templates
Create and submit Meta-approved message templates.
/api/templatesList all templates with status.
/api/templatesCreate a new template.
Request body
{
"name": "order_update",
"category": "marketing",
"language": "en",
"body_text": "Hi {{1}}, your order is shipped.",
"header_type": "text",
"header_content": "Order Update",
"footer_text": "Reply STOP to unsubscribe"
}/api/templates/:id/submitSubmit a template to Meta for approval (24h review).
Campaigns
Bulk message campaigns with rate-limited delivery.
/api/campaignsList campaigns with stats.
/api/campaignsCreate a campaign.
Request body
{
"name": "October Promo",
"template_id": "uuid",
"audience_filter": { "tags": ["customer"] }
}/api/campaigns/:id/sendStart sending a campaign.
CRM
Lightweight Kanban-style sales pipeline.
/api/crm/pipelineGet pipeline stages.
/api/crm/dealsList deals.
/api/crm/dealsCreate a deal.
/api/crm/deals/:idMove deal between stages.
Analytics
Reporting metrics for messages, conversations, and campaigns.
/api/analytics/overviewGet overview metrics for the last 30 days.
Organization
Manage your organization settings and team members.
/api/orgGet organization details.
/api/orgUpdate organization (name, branding, custom domain).
/api/org/teamList team members.
GDPR
Data privacy compliance endpoints.
/api/gdpr/exportExport all org data as JSON.
/api/gdpr/delete-accountPermanently delete the account and all data.