cURL
curl "https://app.tatango.com/api/v2/lists/<ID>/messages" -d '{"start_date":"20160901", "end_date":"20161030"}' -X GET \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-u emailaddress@mydomain.com:my_api_key \
-H "Host: example.org" \
-H "Cookie: "require 'net/http'
require 'uri'
uri = URI.parse('https://app.tatango.com/api/v2/lists/<ID>/messages')
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_url)
request.basic_auth("emailaddress@mydomain.com", "my_api_key")
request.body({"start_date":"20160901", "end_date":"20161030"});
response = http.request(request)var request = new XMLHttpRequest();
request.open(
"GET",
"https://app.tatango.com/api/v2/lists/<ID>/messages",
false
);
request.setRequestHeader("Content-Type", "application/json");
request.setRequestHeader(
"Authorization",
"Basic " + btoa("emailaddress@mydomain.com:my_api_key")
);
var data = JSON.stringify({ start_date: "20160901", end_date: "20161030" });
request.send(data);import requests
url = "https://app.tatango.com/api/v2/lists/{ID}/messages"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.tatango.com/api/v2/lists/{ID}/messages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.tatango.com/api/v2/lists/{ID}/messages"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.tatango.com/api/v2/lists/{ID}/messages")
.header("Authorization", "Basic <encoded-value>")
.asString();{
"status": "OK",
"per_page": 10,
"count": 2,
"page": 1,
"pages_count": 1,
"messages": [
{
"id": 14523,
"content": "AMCE Retail: Save $20 off this weekend when you spend more than $100 in-store. Show this text message to redeem. Reply STOP to end.",
"status": "sent",
"sent_at": "2016-09-07T14:10:53-07:00",
"name": "my message name",
"is_broadcast": true,
"recipient_count": 679571,
"success_count": 675232,
"bounces_count": 4339,
"pending_count": 0,
"clean_count": 2342,
"unsubscribe_count": 1362,
"sms_count": 168808,
"mms_count": 506424,
"rcs_count": 0,
"send_cost": 5096.78,
"cancelled_at": null,
"parts": {
"sum": 679599,
"minimum": 1,
"maximum": 2
}
}
]
}Messaging
Retrieve All Sent Messages in a List
This endpoint retrieves all sent messages in a list.
GET
/
api
/
v2
/
lists
/
{ID}
/
messages
cURL
curl "https://app.tatango.com/api/v2/lists/<ID>/messages" -d '{"start_date":"20160901", "end_date":"20161030"}' -X GET \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-u emailaddress@mydomain.com:my_api_key \
-H "Host: example.org" \
-H "Cookie: "require 'net/http'
require 'uri'
uri = URI.parse('https://app.tatango.com/api/v2/lists/<ID>/messages')
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.request_url)
request.basic_auth("emailaddress@mydomain.com", "my_api_key")
request.body({"start_date":"20160901", "end_date":"20161030"});
response = http.request(request)var request = new XMLHttpRequest();
request.open(
"GET",
"https://app.tatango.com/api/v2/lists/<ID>/messages",
false
);
request.setRequestHeader("Content-Type", "application/json");
request.setRequestHeader(
"Authorization",
"Basic " + btoa("emailaddress@mydomain.com:my_api_key")
);
var data = JSON.stringify({ start_date: "20160901", end_date: "20161030" });
request.send(data);import requests
url = "https://app.tatango.com/api/v2/lists/{ID}/messages"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.tatango.com/api/v2/lists/{ID}/messages",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.tatango.com/api/v2/lists/{ID}/messages"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.tatango.com/api/v2/lists/{ID}/messages")
.header("Authorization", "Basic <encoded-value>")
.asString();{
"status": "OK",
"per_page": 10,
"count": 2,
"page": 1,
"pages_count": 1,
"messages": [
{
"id": 14523,
"content": "AMCE Retail: Save $20 off this weekend when you spend more than $100 in-store. Show this text message to redeem. Reply STOP to end.",
"status": "sent",
"sent_at": "2016-09-07T14:10:53-07:00",
"name": "my message name",
"is_broadcast": true,
"recipient_count": 679571,
"success_count": 675232,
"bounces_count": 4339,
"pending_count": 0,
"clean_count": 2342,
"unsubscribe_count": 1362,
"sms_count": 168808,
"mms_count": 506424,
"rcs_count": 0,
"send_cost": 5096.78,
"cancelled_at": null,
"parts": {
"sum": 679599,
"minimum": 1,
"maximum": 2
}
}
]
}Request URL
GET https://app.tatango.com/api/v2/lists/{ID}/messages
Please note the following:
- The
message_linksattribute will only be present on messages that have bit.ly links in their content. - The
tracking_linksattribute will only be present on messages that have tracking links in their content. - The
partsattribute will be available 30 minutes after the message was sent.
Authorizations
The momoGood Messaging API v2 authenticates requests by validating an API key passed via HTTP Basic Authentication. Use your login email as the username and your API key as the password.
Path Parameters
The ID of the list
Query Parameters
A date in YYYYMMDD format. Messages sent before this date will not be returned (UTC).
Pattern:
^[0-9]{8}$A date in YYYYMMDD format. Messages sent after this date will not be returned (UTC).
Pattern:
^[0-9]{8}$Response
200 - application/json
Successful response