infoOverview
About this API
keySecurity
Authentication
Include your API credential in the request header. Keep credentials on the server and never expose them in client-side applications.
Locationheader
Field name
AuthorizationExample value
YOUR_WABA_API_KEYuploadInput
Request Body
Send a application/json payload. Replace placeholder values with data from your integration.
Top-Level Fields
NameTypeRequirementDescription
tostringNot specifiedRequest value for to.categorystringNot specifiedRequest value for category.correlationIdstringNot specifiedRequest value for correlationId.messagePayloadobjectNot specifiedRequest value for messagePayload.{
"to": "917972086759",
"category": "promotional",
"correlationId": "dfsdfaccv234",
"messagePayload": {
"templateType": "text_message",
"textMessageDetails": {
"messageContent": "Visit our nearest branch for valuable offers & avail best discount. Contact us for latest promo codes.",
"suggestionsList": []
}
}
}{
"type": "object",
"properties": {
"to": {
"type": "string"
},
"category": {
"type": "string"
},
"correlationId": {
"type": "string"
},
"messagePayload": {
"type": "object",
"properties": {
"templateType": {
"type": "string"
},
"textMessageDetails": {
"type": "object",
"properties": {
"messageContent": {
"type": "string"
},
"suggestionsList": {
"type": "array",
"items": {}
}
}
}
}
}
}
}androidRCS Messaging Sandbox
Test this RCS message
Edit the documented request body and send it to a simulated Android RCS conversation. No real message or API request is sent.
9:41signal_cellular_altwifibattery_full
arrow_back
1S
1SPOC RCSVerified business
videocamcallmore_vertToday
RCS chat with 1SPOC RCS
Ready to preview Freeflow | text.9:41
add
RCS messagemood
photo_cameracodeIntegration
Code Examples
Select your language and customize the request URL. Credential placeholders are intentionally preserved so secrets never appear in generated samples.
shield_lockCredentials protectedAdd secrets only in your secure server environment.
curl --request POST 'https://api.example.com/rcs/api/v1/send-freeflow-message' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'Content-Type: application/json' \
--data '{
"to": "917972086759",
"category": "promotional",
"correlationId": "dfsdfaccv234",
"messagePayload": {
"templateType": "text_message",
"textMessageDetails": {
"messageContent": "Visit our nearest branch for valuable offers & avail best discount. Contact us for latest promo codes.",
"suggestionsList": []
}
}
}'const response = await fetch('https://api.example.com/rcs/api/v1/send-freeflow-message', {
method: 'POST',
headers: {
"Authorization": "Bearer <ACCESS_TOKEN>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"to": "917972086759",
"category": "promotional",
"correlationId": "dfsdfaccv234",
"messagePayload": {
"templateType": "text_message",
"textMessageDetails": {
"messageContent": "Visit our nearest branch for valuable offers & avail best discount. Contact us for latest promo codes.",
"suggestionsList": []
}
}
})
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
console.log(data);const response = await fetch('https://api.example.com/rcs/api/v1/send-freeflow-message', {
method: 'POST',
headers: {
"Authorization": "Bearer <ACCESS_TOKEN>",
"Content-Type": "application/json"
},
body: JSON.stringify({
"to": "917972086759",
"category": "promotional",
"correlationId": "dfsdfaccv234",
"messagePayload": {
"templateType": "text_message",
"textMessageDetails": {
"messageContent": "Visit our nearest branch for valuable offers & avail best discount. Contact us for latest promo codes.",
"suggestionsList": []
}
}
})
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const data = await response.json();
console.log(data);import json
import requests
url = 'https://api.example.com/rcs/api/v1/send-freeflow-message'
headers = {
"Authorization": "Bearer <ACCESS_TOKEN>",
"Content-Type": "application/json"
}
payload = json.loads(r'''{
"to": "917972086759",
"category": "promotional",
"correlationId": "dfsdfaccv234",
"messagePayload": {
"templateType": "text_message",
"textMessageDetails": {
"messageContent": "Visit our nearest branch for valuable offers & avail best discount. Contact us for latest promo codes.",
"suggestionsList": []
}
}
}''')
response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()
print(response.json())import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var client = HttpClient.newHttpClient();
String body = """
{
"to": "917972086759",
"category": "promotional",
"correlationId": "dfsdfaccv234",
"messagePayload": {
"templateType": "text_message",
"textMessageDetails": {
"messageContent": "Visit our nearest branch for valuable offers & avail best discount. Contact us for latest promo codes.",
"suggestionsList": []
}
}
}
""";
var request = HttpRequest.newBuilder(URI.create("https://api.example.com/rcs/api/v1/send-freeflow-message"))
.header("Authorization", "Bearer <ACCESS_TOKEN>")
.header("Content-Type", "application/json")
.method("POST", HttpRequest.BodyPublishers.ofString(body))
.build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());<?php
$curl = curl_init();
$payload = '{
"to": "917972086759",
"category": "promotional",
"correlationId": "dfsdfaccv234",
"messagePayload": {
"templateType": "text_message",
"textMessageDetails": {
"messageContent": "Visit our nearest branch for valuable offers & avail best discount. Contact us for latest promo codes.",
"suggestionsList": []
}
}
}';
curl_setopt_array($curl, [
CURLOPT_URL => 'https://api.example.com/rcs/api/v1/send-freeflow-message',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ["Authorization: Bearer <ACCESS_TOKEN>","Content-Type: application/json"],
CURLOPT_POSTFIELDS => $payload,
]);
$response = curl_exec($curl);
if ($response === false) throw new Exception(curl_error($curl));
curl_close($curl);
echo $response;using System.Net.Http.Headers;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Authorization = AuthenticationHeaderValue.Parse("Bearer <ACCESS_TOKEN>");
var json = """
{
"to": "917972086759",
"category": "promotional",
"correlationId": "dfsdfaccv234",
"messagePayload": {
"templateType": "text_message",
"textMessageDetails": {
"messageContent": "Visit our nearest branch for valuable offers & avail best discount. Contact us for latest promo codes.",
"suggestionsList": []
}
}
}
""";
using var content = new StringContent(json, Encoding.UTF8, "application/json");
var response = await client.PostAsync("https://api.example.com/rcs/api/v1/send-freeflow-message", content);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());package main
import (
"fmt"
"io"
"net/http"
"bytes"
)
func main() {
request, err := http.NewRequest("POST", "https://api.example.com/rcs/api/v1/send-freeflow-message", bytes.NewBufferString("{\n \"to\": \"917972086759\",\n \"category\": \"promotional\",\n \"correlationId\": \"dfsdfaccv234\",\n \"messagePayload\": {\n \"templateType\": \"text_message\",\n \"textMessageDetails\": {\n \"messageContent\": \"Visit our nearest branch for valuable offers & avail best discount. Contact us for latest promo codes.\",\n \"suggestionsList\": []\n }\n }\n}"))
if err != nil { panic(err) }
request.Header.Set("Content-Type", "application/json")
request.Header.Set("Accept", "application/json")
request.Header.Set("Authorization", "Bearer <ACCESS_TOKEN>")
response, err := http.DefaultClient.Do(request)
if err != nil { panic(err) }
defer response.Body.Close()
data, err := io.ReadAll(response.Body)
if err != nil { panic(err) }
if response.StatusCode >= 400 { panic(fmt.Sprintf("HTTP %d: %s", response.StatusCode, data)) }
fmt.Println(string(data))
}downloadOutput
Response
A successful request returns the documented response payload. Delivery and asynchronous events may arrive separately through configured webhooks.
{}{}ruleHTTP Responses
Status Codes
200Successful response