curl --request POST \
--url https://api.v3.tatango.com/transactional_messages/send_mms \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"phoneNumber": "5551234567",
"webhookUrl": "https://yourpostbackaddress.com",
"content": "Check out this amazing image!",
"subject": "Amazing Image",
"attachmentUrl": "https://tatango-mms-attachments-production.s3.us-west-2.amazonaws.com/example-image.jpg",
"smsFailover": "See our amazing image at example.com"
}
'import requests
url = "https://api.v3.tatango.com/transactional_messages/send_mms"
payload = {
"phoneNumber": "5551234567",
"webhookUrl": "https://yourpostbackaddress.com",
"content": "Check out this amazing image!",
"subject": "Amazing Image",
"attachmentUrl": "https://tatango-mms-attachments-production.s3.us-west-2.amazonaws.com/example-image.jpg",
"smsFailover": "See our amazing image at example.com"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
phoneNumber: '5551234567',
webhookUrl: 'https://yourpostbackaddress.com',
content: 'Check out this amazing image!',
subject: 'Amazing Image',
attachmentUrl: 'https://tatango-mms-attachments-production.s3.us-west-2.amazonaws.com/example-image.jpg',
smsFailover: 'See our amazing image at example.com'
})
};
fetch('https://api.v3.tatango.com/transactional_messages/send_mms', 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.v3.tatango.com/transactional_messages/send_mms",
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([
'phoneNumber' => '5551234567',
'webhookUrl' => 'https://yourpostbackaddress.com',
'content' => 'Check out this amazing image!',
'subject' => 'Amazing Image',
'attachmentUrl' => 'https://tatango-mms-attachments-production.s3.us-west-2.amazonaws.com/example-image.jpg',
'smsFailover' => 'See our amazing image at example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.v3.tatango.com/transactional_messages/send_mms"
payload := strings.NewReader("{\n \"phoneNumber\": \"5551234567\",\n \"webhookUrl\": \"https://yourpostbackaddress.com\",\n \"content\": \"Check out this amazing image!\",\n \"subject\": \"Amazing Image\",\n \"attachmentUrl\": \"https://tatango-mms-attachments-production.s3.us-west-2.amazonaws.com/example-image.jpg\",\n \"smsFailover\": \"See our amazing image at example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.v3.tatango.com/transactional_messages/send_mms")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"phoneNumber\": \"5551234567\",\n \"webhookUrl\": \"https://yourpostbackaddress.com\",\n \"content\": \"Check out this amazing image!\",\n \"subject\": \"Amazing Image\",\n \"attachmentUrl\": \"https://tatango-mms-attachments-production.s3.us-west-2.amazonaws.com/example-image.jpg\",\n \"smsFailover\": \"See our amazing image at example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.v3.tatango.com/transactional_messages/send_mms")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phoneNumber\": \"5551234567\",\n \"webhookUrl\": \"https://yourpostbackaddress.com\",\n \"content\": \"Check out this amazing image!\",\n \"subject\": \"Amazing Image\",\n \"attachmentUrl\": \"https://tatango-mms-attachments-production.s3.us-west-2.amazonaws.com/example-image.jpg\",\n \"smsFailover\": \"See our amazing image at example.com\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Request accepted, sending message to recipient",
"transactionId": "019687e1-1b54-70f4-a68a-60af7fa776f4"
}{
"$ref": "#/components/examples/PhoneNumberValidationError/value"
}Send an MMS Message
This endpoint allows you to send an MMS message to a U.S. or Canadian phone number. If delivery fails, a fallback SMS message will be sent.
curl --request POST \
--url https://api.v3.tatango.com/transactional_messages/send_mms \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"phoneNumber": "5551234567",
"webhookUrl": "https://yourpostbackaddress.com",
"content": "Check out this amazing image!",
"subject": "Amazing Image",
"attachmentUrl": "https://tatango-mms-attachments-production.s3.us-west-2.amazonaws.com/example-image.jpg",
"smsFailover": "See our amazing image at example.com"
}
'import requests
url = "https://api.v3.tatango.com/transactional_messages/send_mms"
payload = {
"phoneNumber": "5551234567",
"webhookUrl": "https://yourpostbackaddress.com",
"content": "Check out this amazing image!",
"subject": "Amazing Image",
"attachmentUrl": "https://tatango-mms-attachments-production.s3.us-west-2.amazonaws.com/example-image.jpg",
"smsFailover": "See our amazing image at example.com"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
phoneNumber: '5551234567',
webhookUrl: 'https://yourpostbackaddress.com',
content: 'Check out this amazing image!',
subject: 'Amazing Image',
attachmentUrl: 'https://tatango-mms-attachments-production.s3.us-west-2.amazonaws.com/example-image.jpg',
smsFailover: 'See our amazing image at example.com'
})
};
fetch('https://api.v3.tatango.com/transactional_messages/send_mms', 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.v3.tatango.com/transactional_messages/send_mms",
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([
'phoneNumber' => '5551234567',
'webhookUrl' => 'https://yourpostbackaddress.com',
'content' => 'Check out this amazing image!',
'subject' => 'Amazing Image',
'attachmentUrl' => 'https://tatango-mms-attachments-production.s3.us-west-2.amazonaws.com/example-image.jpg',
'smsFailover' => 'See our amazing image at example.com'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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.v3.tatango.com/transactional_messages/send_mms"
payload := strings.NewReader("{\n \"phoneNumber\": \"5551234567\",\n \"webhookUrl\": \"https://yourpostbackaddress.com\",\n \"content\": \"Check out this amazing image!\",\n \"subject\": \"Amazing Image\",\n \"attachmentUrl\": \"https://tatango-mms-attachments-production.s3.us-west-2.amazonaws.com/example-image.jpg\",\n \"smsFailover\": \"See our amazing image at example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.v3.tatango.com/transactional_messages/send_mms")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"phoneNumber\": \"5551234567\",\n \"webhookUrl\": \"https://yourpostbackaddress.com\",\n \"content\": \"Check out this amazing image!\",\n \"subject\": \"Amazing Image\",\n \"attachmentUrl\": \"https://tatango-mms-attachments-production.s3.us-west-2.amazonaws.com/example-image.jpg\",\n \"smsFailover\": \"See our amazing image at example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.v3.tatango.com/transactional_messages/send_mms")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"phoneNumber\": \"5551234567\",\n \"webhookUrl\": \"https://yourpostbackaddress.com\",\n \"content\": \"Check out this amazing image!\",\n \"subject\": \"Amazing Image\",\n \"attachmentUrl\": \"https://tatango-mms-attachments-production.s3.us-west-2.amazonaws.com/example-image.jpg\",\n \"smsFailover\": \"See our amazing image at example.com\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Request accepted, sending message to recipient",
"transactionId": "019687e1-1b54-70f4-a68a-60af7fa776f4"
}{
"$ref": "#/components/examples/PhoneNumberValidationError/value"
}- Shortcodes: Images (1MB), GIFs (0.6MB), Videos (2MB)
- 10DLC: All files (0.75MB)
Authorizations
Your momoGood Messaging API key. This is required for all requests to the API. You can find your API key in the momoGood Messaging app under My Account -> API -> Create API Key.
Body
MMS message request
The destination phone number. Can be provided in any format (e.g., +1 555-123-4567, (555) 123-4567, 5551234567) but must be a valid U.S. or Canadian phone number.
URL where webhooks will be sent. Must be a valid HTTPS URL.
255The MMS message content.
3500SMS fallback message content used when primary delivery method fails. Must contain only GSM 7-bit characters.
1 - 160Optional subject line for the MMS message.
40Optional URL of an attachment, hosted by momoGood or an external website.
255