{
"CampaignId": "JCID-dsuhofh3882",
"To": [
{"Number": "+18015737111"},
{"Number": "+18014271919"}
],
"From": "+18018018011",
"Owner": "+18018018011",
"Body": "Hello there!!!",
"MmsMedia": [
{"MediaUrl": "https://results2.com"},
{"MediaUrl": "https://results.com"}
],
"MmsBase64": [
{"Base64": "dkjjkdflajdfjo3ji3jjljfkjaskjfad", "BaseType": "audio/wav"},
{"Base64": "dkjjkdflajdfjo3ji3jjljfkjaskjfad", "BaseType": "video/mpg"}
]
}curl -X POST https://api.telegent.com/v1.0/message/outbound \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"CampaignId": "JCID-dsuhofh3882",
"To": [{"Number": "+18015737111"}, {"Number": "+18014271919"}],
"From": "+18018018011",
"Owner": "+18018018011",
"Body": "Hello there!!!",
"MmsMedia": [{"MediaUrl": "https://results2.com"}, {"MediaUrl": "https://results.com"}],
"MmsBase64": [{"Base64": "dkjjkdflajdfjo3ji3jjljfkjaskjfad", "BaseType": "audio/wav"}, {"Base64": "dkjjkdflajdfjo3ji3jjljfkjaskjfad", "BaseType": "video/mpg"}]
}'import requests
url = "https://api.telegent.com/v1.0/message/outbound"
payload = {
"To": [{ "Number": "+18015737111" }],
"From": "+18018018011",
"Body": "Hello there!!!",
"CampaignId": "JCID-dsuhofh3882",
"Owner": "+18018018011",
"MmsMedia": [{ "MediaUrl": "<string>" }],
"MmsBase64": [
{
"Base64": "<string>",
"BaseType": "audio/wav"
}
]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
To: [{Number: '+18015737111'}],
From: '+18018018011',
Body: 'Hello there!!!',
CampaignId: 'JCID-dsuhofh3882',
Owner: '+18018018011',
MmsMedia: [{MediaUrl: '<string>'}],
MmsBase64: [{Base64: '<string>', BaseType: 'audio/wav'}]
})
};
fetch('https://api.telegent.com/v1.0/message/outbound', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.telegent.com/v1.0/message/outbound",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'To' => [
[
'Number' => '+18015737111'
]
],
'From' => '+18018018011',
'Body' => 'Hello there!!!',
'CampaignId' => 'JCID-dsuhofh3882',
'Owner' => '+18018018011',
'MmsMedia' => [
[
'MediaUrl' => '<string>'
]
],
'MmsBase64' => [
[
'Base64' => '<string>',
'BaseType' => 'audio/wav'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.telegent.com/v1.0/message/outbound"
payload := strings.NewReader("{\n \"To\": [\n {\n \"Number\": \"+18015737111\"\n }\n ],\n \"From\": \"+18018018011\",\n \"Body\": \"Hello there!!!\",\n \"CampaignId\": \"JCID-dsuhofh3882\",\n \"Owner\": \"+18018018011\",\n \"MmsMedia\": [\n {\n \"MediaUrl\": \"<string>\"\n }\n ],\n \"MmsBase64\": [\n {\n \"Base64\": \"<string>\",\n \"BaseType\": \"audio/wav\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.telegent.com/v1.0/message/outbound")
.header("Content-Type", "application/json")
.body("{\n \"To\": [\n {\n \"Number\": \"+18015737111\"\n }\n ],\n \"From\": \"+18018018011\",\n \"Body\": \"Hello there!!!\",\n \"CampaignId\": \"JCID-dsuhofh3882\",\n \"Owner\": \"+18018018011\",\n \"MmsMedia\": [\n {\n \"MediaUrl\": \"<string>\"\n }\n ],\n \"MmsBase64\": [\n {\n \"Base64\": \"<string>\",\n \"BaseType\": \"audio/wav\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.telegent.com/v1.0/message/outbound")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"To\": [\n {\n \"Number\": \"+18015737111\"\n }\n ],\n \"From\": \"+18018018011\",\n \"Body\": \"Hello there!!!\",\n \"CampaignId\": \"JCID-dsuhofh3882\",\n \"Owner\": \"+18018018011\",\n \"MmsMedia\": [\n {\n \"MediaUrl\": \"<string>\"\n }\n ],\n \"MmsBase64\": [\n {\n \"Base64\": \"<string>\",\n \"BaseType\": \"audio/wav\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"MessageId": "TMID-00348008102307aK01",
"Direction": "Outbound",
"Type": "p2p",
"CampaignId": "TCID-dsuhofh3882",
"Cost": 0.0045,
"Status": "Queued",
"To": [
{
"Number": "+12016093801"
},
{
"Number": "+12232233180"
}
],
"From": "+18018018011",
"Owner": "+18018018011",
"Body": "Hello there!!!",
"CreatedOn": "16:45:59 MST 2025-01-23",
"MessageType": "mms",
"MmsMedia": [
{
"MediaUrl": "https://results2.com"
},
{
"MediaUrl": "https://results.com"
}
],
"MmsBase64": [
{
"Base64": "dkjjkdflajdfjo3ji3jjljfkjaskjfad",
"BaseType": "audio/wav"
},
{
"Base64": "dkjjkdflajdfjo3ji3jjljfkjaskjfad",
"BaseType": "video/mpg"
}
]
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}Send Outbound Message
Prerequisites:
- Required: Bearer token —
POST /v1.0/oauth2/tokens - Required: Provisioned phone number with messaging enabled (
Fromfield) —POST /v1.0/numbers/provision
Send an outbound SMS or MMS message from your provisioned phone number. Supports single recipient messaging with optional media attachments for MMS. Returns a message ID for delivery tracking. All phone numbers must be in E.164 format.
What this does: Sends an SMS or MMS message immediately and returns a MessageId for tracking delivery. The message is routed through the MessageRouteId associated with the From number. Check delivery status using the MessageId.
Next steps:
- Check message status —
GET /v1.0/message/details
{
"CampaignId": "JCID-dsuhofh3882",
"To": [
{"Number": "+18015737111"},
{"Number": "+18014271919"}
],
"From": "+18018018011",
"Owner": "+18018018011",
"Body": "Hello there!!!",
"MmsMedia": [
{"MediaUrl": "https://results2.com"},
{"MediaUrl": "https://results.com"}
],
"MmsBase64": [
{"Base64": "dkjjkdflajdfjo3ji3jjljfkjaskjfad", "BaseType": "audio/wav"},
{"Base64": "dkjjkdflajdfjo3ji3jjljfkjaskjfad", "BaseType": "video/mpg"}
]
}curl -X POST https://api.telegent.com/v1.0/message/outbound \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"CampaignId": "JCID-dsuhofh3882",
"To": [{"Number": "+18015737111"}, {"Number": "+18014271919"}],
"From": "+18018018011",
"Owner": "+18018018011",
"Body": "Hello there!!!",
"MmsMedia": [{"MediaUrl": "https://results2.com"}, {"MediaUrl": "https://results.com"}],
"MmsBase64": [{"Base64": "dkjjkdflajdfjo3ji3jjljfkjaskjfad", "BaseType": "audio/wav"}, {"Base64": "dkjjkdflajdfjo3ji3jjljfkjaskjfad", "BaseType": "video/mpg"}]
}'import requests
url = "https://api.telegent.com/v1.0/message/outbound"
payload = {
"To": [{ "Number": "+18015737111" }],
"From": "+18018018011",
"Body": "Hello there!!!",
"CampaignId": "JCID-dsuhofh3882",
"Owner": "+18018018011",
"MmsMedia": [{ "MediaUrl": "<string>" }],
"MmsBase64": [
{
"Base64": "<string>",
"BaseType": "audio/wav"
}
]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
To: [{Number: '+18015737111'}],
From: '+18018018011',
Body: 'Hello there!!!',
CampaignId: 'JCID-dsuhofh3882',
Owner: '+18018018011',
MmsMedia: [{MediaUrl: '<string>'}],
MmsBase64: [{Base64: '<string>', BaseType: 'audio/wav'}]
})
};
fetch('https://api.telegent.com/v1.0/message/outbound', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.telegent.com/v1.0/message/outbound",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'To' => [
[
'Number' => '+18015737111'
]
],
'From' => '+18018018011',
'Body' => 'Hello there!!!',
'CampaignId' => 'JCID-dsuhofh3882',
'Owner' => '+18018018011',
'MmsMedia' => [
[
'MediaUrl' => '<string>'
]
],
'MmsBase64' => [
[
'Base64' => '<string>',
'BaseType' => 'audio/wav'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.telegent.com/v1.0/message/outbound"
payload := strings.NewReader("{\n \"To\": [\n {\n \"Number\": \"+18015737111\"\n }\n ],\n \"From\": \"+18018018011\",\n \"Body\": \"Hello there!!!\",\n \"CampaignId\": \"JCID-dsuhofh3882\",\n \"Owner\": \"+18018018011\",\n \"MmsMedia\": [\n {\n \"MediaUrl\": \"<string>\"\n }\n ],\n \"MmsBase64\": [\n {\n \"Base64\": \"<string>\",\n \"BaseType\": \"audio/wav\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.telegent.com/v1.0/message/outbound")
.header("Content-Type", "application/json")
.body("{\n \"To\": [\n {\n \"Number\": \"+18015737111\"\n }\n ],\n \"From\": \"+18018018011\",\n \"Body\": \"Hello there!!!\",\n \"CampaignId\": \"JCID-dsuhofh3882\",\n \"Owner\": \"+18018018011\",\n \"MmsMedia\": [\n {\n \"MediaUrl\": \"<string>\"\n }\n ],\n \"MmsBase64\": [\n {\n \"Base64\": \"<string>\",\n \"BaseType\": \"audio/wav\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.telegent.com/v1.0/message/outbound")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"To\": [\n {\n \"Number\": \"+18015737111\"\n }\n ],\n \"From\": \"+18018018011\",\n \"Body\": \"Hello there!!!\",\n \"CampaignId\": \"JCID-dsuhofh3882\",\n \"Owner\": \"+18018018011\",\n \"MmsMedia\": [\n {\n \"MediaUrl\": \"<string>\"\n }\n ],\n \"MmsBase64\": [\n {\n \"Base64\": \"<string>\",\n \"BaseType\": \"audio/wav\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"MessageId": "TMID-00348008102307aK01",
"Direction": "Outbound",
"Type": "p2p",
"CampaignId": "TCID-dsuhofh3882",
"Cost": 0.0045,
"Status": "Queued",
"To": [
{
"Number": "+12016093801"
},
{
"Number": "+12232233180"
}
],
"From": "+18018018011",
"Owner": "+18018018011",
"Body": "Hello there!!!",
"CreatedOn": "16:45:59 MST 2025-01-23",
"MessageType": "mms",
"MmsMedia": [
{
"MediaUrl": "https://results2.com"
},
{
"MediaUrl": "https://results.com"
}
],
"MmsBase64": [
{
"Base64": "dkjjkdflajdfjo3ji3jjljfkjaskjfad",
"BaseType": "audio/wav"
},
{
"Base64": "dkjjkdflajdfjo3ji3jjljfkjaskjfad",
"BaseType": "video/mpg"
}
]
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}{
"StatusCode": 123,
"Message": "<string>"
}Body
Array of recipient phone numbers in E.164 format
Show child attributes
Show child attributes
[{ "Number": "+18015737111" }]Sender phone number in E.164 format (must be provisioned in your account)
"+18018018011"
Message text content
"Hello there!!!"
Campaign identifier for tracking
"JCID-dsuhofh3882"
Owner phone number in E.164 format
"+18018018011"
Array of media URLs for MMS attachments
Show child attributes
Show child attributes
Array of base64-encoded media for MMS
Show child attributes
Show child attributes
Response
Success — returns the Message ID (TMID) for delivery tracking
The response is of type object.