113 lines
3.1 KiB
Markdown
113 lines
3.1 KiB
Markdown
|
|
# WhatsApp SMS Service API Documentation
|
||
|
|
|
||
|
|
This document describes the REST API for the WhatsApp SMS Service, which acts as a gateway to send WhatsApp messages using MSG91 templates.
|
||
|
|
|
||
|
|
## Base URL
|
||
|
|
```
|
||
|
|
http://betawhatsapp.tradhox.com/api/
|
||
|
|
```
|
||
|
|
*(Or your local/production domain accordingly)*
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Endpoint: Send WhatsApp Message
|
||
|
|
|
||
|
|
Sends a WhatsApp message using a dynamically loaded MSG91 JSON template.
|
||
|
|
|
||
|
|
**URL:** `/send/`
|
||
|
|
**Method:** `POST`
|
||
|
|
**Content-Type:** `application/json`
|
||
|
|
|
||
|
|
### Request Body Parameters
|
||
|
|
|
||
|
|
| Parameter | Type | Required | Description |
|
||
|
|
|-----------|------|----------|-------------|
|
||
|
|
| `mobile_number` | String | Yes | The recipient's mobile number, including the country code (e.g., `"919600494039"`). |
|
||
|
|
| `otp_code` | String | Yes | The dynamic variable value (e.g., OTP or verification code) to populate in the template. |
|
||
|
|
| `template_name` | String | No | The name of the MSG91 template to use. Must match a `.json` file located in the `template jsons/` directory. Defaults to `"mobile_number_verification"`. |
|
||
|
|
|
||
|
|
### Example Request
|
||
|
|
|
||
|
|
```bash
|
||
|
|
curl -X POST http://betawhatsapp.tradhox.com/api/send/ \
|
||
|
|
-H "Content-Type: application/json" \
|
||
|
|
-d '{
|
||
|
|
"mobile_number": "919600494039",
|
||
|
|
"otp_code": "123456",
|
||
|
|
"template_name": "mobile_number_verification"
|
||
|
|
}'
|
||
|
|
```
|
||
|
|
|
||
|
|
### Example Response (Success)
|
||
|
|
The API passes through the response from MSG91 directly.
|
||
|
|
|
||
|
|
**Status Code:** `200 OK`
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"status": "success",
|
||
|
|
"message": "Message successfully submitted."
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
### Example Response (Failure/Missing Parameters)
|
||
|
|
**Status Code:** `400 Bad Request`
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"error": "mobile_number and otp_code are required"
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
### Example Response (Template Not Found)
|
||
|
|
**Status Code:** `400 Bad Request`
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"status": "error",
|
||
|
|
"message": "Template custom_promo not found"
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## Adding New Templates
|
||
|
|
|
||
|
|
To add support for a new MSG91 template:
|
||
|
|
1. Create a new `.json` file in the `template jsons/` folder. The filename (without `.json`) will be the `template_name` used in the API request.
|
||
|
|
2. The JSON file must strictly match the MSG91 payload structure.
|
||
|
|
3. Keep the `to` and dynamic `value` fields empty in the template file, as the API service will automatically populate them dynamically at runtime!
|
||
|
|
|
||
|
|
Example file (`template jsons/mobile_number_verification.json`):
|
||
|
|
```json
|
||
|
|
{
|
||
|
|
"integrated_number": "918610694498",
|
||
|
|
"content_type": "template",
|
||
|
|
"payload": {
|
||
|
|
"messaging_product": "whatsapp",
|
||
|
|
"type": "template",
|
||
|
|
"template": {
|
||
|
|
"name": "mobile_number_verification",
|
||
|
|
"language": {
|
||
|
|
"code": "en",
|
||
|
|
"policy": "deterministic"
|
||
|
|
},
|
||
|
|
"namespace": null,
|
||
|
|
"to_and_components": [
|
||
|
|
{
|
||
|
|
"to": [""],
|
||
|
|
"components": {
|
||
|
|
"body_1": {
|
||
|
|
"type": "text",
|
||
|
|
"value": ""
|
||
|
|
},
|
||
|
|
"button_1": {
|
||
|
|
"subtype": "url",
|
||
|
|
"type": "text",
|
||
|
|
"value": ""
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|