Simple REST API for WhatsApp Messaging

Integrate in minutes. Header-based auth. Works with any language or framework.

Send Your First Message in 3 Steps

1

Get Your Credentials

After creating your HK Reach account, find your App Name and API Key in your Profile settings.

2

Add Headers to Requests

Pass X-App-Name and X-Api-Key headers with every request. No OAuth complexity.

3

Call the API

POST to the send endpoint with the recipient's number and your approved Meta template name. That's it!

Authentication

All API requests require two headers:

HeaderDescriptionExample
X-App-NameYour unique application name (case-sensitive)myshop-india
X-Api-KeyYour secret API key from the Profile pagehk_live_ab12cd...

API Endpoints

POST /api/WhatsApp/send

Send a WhatsApp template message to a single recipient.

curl -X POST https://thehkservices.in/api/WhatsApp/send \ -H "X-App-Name: your-app-name" \ -H "X-Api-Key: your-api-key" \ -H "Content-Type: application/json" \ -d '{ "to": "917096136319", "templateName": "order_confirmation", "languageCode": "en", "variables": ["John Doe", "ORD-12345", "2,499"] }'
var client = new HttpClient(); client.DefaultRequestHeaders.Add("X-App-Name", "your-app-name"); client.DefaultRequestHeaders.Add("X-Api-Key", "your-api-key"); var result = await client.PostAsJsonAsync( "https://thehkservices.in/api/WhatsApp/send", new { to = "917096136319", templateName = "order_confirmation", languageCode = "en", variables = new[] { "John", "ORD-12345" } });
import requests r = requests.post("https://thehkservices.in/api/WhatsApp/send", headers={"X-App-Name":"your-app","X-Api-Key":"your-key"}, json={"to":"917096136319","templateName":"order_confirmation","languageCode":"en","variables":["John","ORD-12345"]})
const res = await fetch("https://thehkservices.in/api/WhatsApp/send", { method: "POST", headers: { "X-App-Name": "your-app", "X-Api-Key": "your-key", "Content-Type": "application/json" }, body: JSON.stringify({ to: "917096136319", templateName: "order_confirmation", languageCode: "en", variables: ["John", "ORD-12345"] }) });
GET /api/Messages?startDate=&endDate=

Retrieve message history with optional date-range filtering (ISO 8601 format: 2025-03-15).

All Endpoints Reference

MethodEndpointDescription
POST/api/WhatsApp/sendSend a template message
GET/api/MessagesGet message history
GET/api/Messages/{id}Get single message details
DELETE/api/Messages/{id}Delete a message log
GET/api/WhatsAppTemplateList all templates
POST/api/WhatsAppTemplateCreate a new template
POST/api/WhatsAppTemplate/syncSync templates from Meta
GET/api/CampaignsList all campaigns
POST/api/Campaigns/createCreate & start a campaign

Webhook Events

HK Reach receives delivery and read receipt callbacks from Meta and updates message statuses in real-time. You can also configure your own webhook endpoint to receive status updates programmatically.

Supported Webhook Events

EventDescription
message.sentMessage successfully submitted to Meta
message.deliveredDelivered to recipient's device
message.readRead by recipient
message.failedDelivery failed with error code
template.status_updateTemplate approved, rejected, or paused by Meta

Ready to Integrate?

Get your API credentials by creating an account or contact us for enterprise integration support.