Appearance
Send Bulk Message
About 774 wordsAbout 3 min
Send Bulk Messages
Send messages to multiple recipients in a single API call.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
number | string | Yes | Recipient phone number in any format (digits only extracted internally). |
message | string | Conditionally | Text content of the message. Required for text, buttons, interactive, and optional for others. |
message_type | string | Yes | Type of message to send. One of: text, image, video, audio, document, location, buttons, interactive. |
media_url | string | No | URL of media file (image/video/audio/document) to send, depending on message_type. |
file_name | string | No | File name for documents (e.g. document.pdf). |
mimetype | string | No | MIME type of media, e.g., image/jpeg, video/mp4, audio/mp4, application/pdf. |
latitude | number | Required for location | Latitude coordinate for location messages. |
longitude | number | Required for location | Longitude coordinate for location messages. |
buttons | array | Required for buttons, interactive | Array of button objects for interactive messages. Each button should have buttonId and displayText. |
quoted_message_id | string | No | ID of the message to quote (reply to). |
quoted_message | string | No | Fallback text content for the quoted message if the original message is not found in the store. |
API Endpoint
POST https://app.rapiwa.com/api/send-bulk-messageHeader
Content-Type: application/json
Authorization: Bearer Your_Device_KeyBody
{
"numbers": ["+88017XXXXXXXX","+88017XXXXXXXX" ],
"message_type": "image",
"message": "Hello! Here is an image for you.",
"media_url": "https://rapiwa.com/xyz.jpg",
"mimetype": "image/jpeg"
}###Response:
{
"success": true,
"results": [
{
"to": "88017XXXXXXXX",
"message_id": "XXXXXXXXXXXXXXXXX",
"success": true
},
{
"to": "88017XXXXXXXX",
"message_id": "XXXXXXXXXXXXXXXXX",
"success": true
}
]
}Code examples
bash
curl -X POST "https://app.rapiwa.com/api/send-bulk-message" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer Your_Device_Key" \
-d '{"numbers":["+88017XXXXXXXX","+88017XXXXXXXX"],"message_type":"image","message":"Hello! Here is an image for you.","media_url":"https://rapiwa.com/xyz.jpg","mimetype":"image/jpeg"}'python
import requests
url = "https://app.rapiwa.com/api/send-bulk-message"
headers = {"Content-Type": "application/json", "Authorization": "Bearer Your_Device_Key"}
payload = {"numbers": ["+88017XXXXXXXX", "+88017XXXXXXXX"], "message_type": "image", "message": "Hello! Here is an image for you.", "media_url": "https://rapiwa.com/xyz.jpg", "mimetype": "image/jpeg"}
requests.post(url, json=payload, headers=headers)javascript
await fetch('https://app.rapiwa.com/api/send-bulk-message', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer Your_Device_Key' },
body: JSON.stringify({ numbers: ['+88017XXXXXXXX', '+88017XXXXXXXX'], message_type: 'image', message: 'Hello! Here is an image for you.', media_url: 'https://rapiwa.com/xyz.jpg', mimetype: 'image/jpeg' })
});php
<?php
$data = ['numbers' => ['+88017XXXXXXXX', '+88017XXXXXXXX'], 'message_type' => 'image', 'message' => 'Hello! Here is an image for you.', 'media_url' => 'https://rapiwa.com/xyz.jpg', 'mimetype' => 'image/jpeg'];
$options = ['http' => ['header' => "Content-Type: application/json\r\nAuthorization: Bearer Your_Device_Key\r\n", 'method' => 'POST', 'content' => json_encode($data)]];
file_get_contents('https://app.rapiwa.com/api/send-bulk-message', false, stream_context_create($options));ruby
require 'net/http'
require 'json'
uri = URI('https://app.rapiwa.com/api/send-bulk-message')
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer Your_Device_Key'
request.body = { numbers: ['+88017XXXXXXXX', '+88017XXXXXXXX'], message_type: 'image', message: 'Hello! Here is an image for you.', media_url: 'https://rapiwa.com/xyz.jpg', mimetype: 'image/jpeg' }.to_json
Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |h| h.request(request) }go
payload := map[string]interface{}{"numbers": []string{"+88017XXXXXXXX", "+88017XXXXXXXX"}, "message_type": "image", "message": "Hello! Here is an image for you.", "media_url": "https://rapiwa.com/xyz.jpg", "mimetype": "image/jpeg"}
body, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", "https://app.rapiwa.com/api/send-bulk-message", bytes.NewBuffer(body))
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer Your_Device_Key")
http.DefaultClient.Do(req)csharp
var payload = new { numbers = new[] { "+88017XXXXXXXX", "+88017XXXXXXXX" }, message_type = "image", message = "Hello! Here is an image for you.", media_url = "https://rapiwa.com/xyz.jpg", mimetype = "image/jpeg" };
var content = new StringContent(JsonSerializer.Serialize(payload), Encoding.UTF8, "application/json");
client.DefaultRequestHeaders.Add("Authorization", "Bearer Your_Device_Key");
await client.PostAsync("https://app.rapiwa.com/api/send-bulk-message", content);java
HttpRequest.newBuilder()
.uri(URI.create("https://app.rapiwa.com/api/send-bulk-message"))
.header("Content-Type", "application/json")
.header("Authorization", "Bearer Your_Device_Key")
.method("POST", HttpRequest.BodyPublishers.ofString("{\"numbers\":[\"+88017XXXXXXXX\",\"+88017XXXXXXXX\"],\"message_type\":\"image\",\"message\":\"Hello! Here is an image for you.\",\"media_url\":\"https://rapiwa.com/xyz.jpg\",\"mimetype\":\"image/jpeg\"}"))
.build();swift
var request = URLRequest(url: URL(string: "https://app.rapiwa.com/api/send-bulk-message")!)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("Bearer Your_Device_Key", forHTTPHeaderField: "Authorization")
request.httpBody = try? JSONSerialization.data(withJSONObject: ["numbers": ["+88017XXXXXXXX", "+88017XXXXXXXX"], "message_type": "image", "message": "Hello! Here is an image for you.", "media_url": "https://rapiwa.com/xyz.jpg", "mimetype": "image/jpeg"])
URLSession.shared.dataTask(with: request).resume()powershell
$body = @{ numbers = @("+88017XXXXXXXX","+88017XXXXXXXX"); message_type = "image"; message = "Hello! Here is an image for you."; media_url = "https://rapiwa.com/xyz.jpg"; mimetype = "image/jpeg" } | ConvertTo-Json
Invoke-RestMethod -Uri "https://app.rapiwa.com/api/send-bulk-message" -Method Post -Headers @{"Content-Type"="application/json"; "Authorization"="Bearer Your_Device_Key"} -Body $bodytypescript
await fetch('https://app.rapiwa.com/api/send-bulk-message', {
method: 'POST',
headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer Your_Device_Key' },
body: JSON.stringify({ numbers: ['+88017XXXXXXXX', '+88017XXXXXXXX'], message_type: 'image', message: 'Hello! Here is an image for you.', media_url: 'https://rapiwa.com/xyz.jpg', mimetype: 'image/jpeg' })
});rust
let payload = json!({"numbers": ["+88017XXXXXXXX", "+88017XXXXXXXX"], "message_type": "image", "message": "Hello! Here is an image for you.", "media_url": "https://rapiwa.com/xyz.jpg", "mimetype": "image/jpeg"});
client.post("https://app.rapiwa.com/api/send-bulk-message").header("Authorization", "Bearer Your_Device_Key").json(&payload).send().await?;💡 Tip: Keep your Device Key secure. Never share it publicly.
