curl --request GET \
--url https://api.salvy.com.br/api/v3/phone-accounts/{id}/sms-messages \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.salvy.com.br/api/v3/phone-accounts/{id}/sms-messages"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.salvy.com.br/api/v3/phone-accounts/{id}/sms-messages', 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.salvy.com.br/api/v3/phone-accounts/{id}/sms-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: Bearer <token>"
],
]);
$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://api.salvy.com.br/api/v3/phone-accounts/{id}/sms-messages"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.salvy.com.br/api/v3/phone-accounts/{id}/sms-messages")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.salvy.com.br/api/v3/phone-accounts/{id}/sms-messages")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "0140a8c6-3815-45b7-9e60-8e137cad845c",
"receivedAt": "2025-09-03T00:00:00Z",
"originPhoneNumber": "23456",
"destinationPhoneNumber": "+5511987654321",
"message": "Seu codigo de verificação e 123456",
"detections": {
"whatsapp": {
"verificationCode": "123456"
},
"google": {
"verificationCode": "123456"
},
"telegram": {
"verificationCode": "123456"
},
"tiktok": {
"verificationCode": "123456"
},
"shopee": {
"verificationCode": "123456"
},
"amazon": {
"verificationCode": "123456"
},
"facebook": {
"verificationCode": "123456"
},
"nubank": {
"verificationCode": "123456"
},
"microsoft": {
"verificationCode": "123456"
},
"instagram": {
"verificationCode": "123456"
},
"hotmart": {
"verificationCode": "123456"
},
"discord": {
"verificationCode": "123456"
},
"godaddy": {
"verificationCode": "123456"
},
"twilio": {
"verificationCode": "123456"
},
"youtube": {
"verificationCode": "123456"
},
"claude": {
"verificationCode": "123456"
},
"samsung": {
"verificationCode": "123456"
},
"c6": {
"verificationCode": "123456"
},
"ifood": {
"verificationCode": "123456"
},
"paypal": {
"verificationCode": "123456"
},
"autodesk": {
"verificationCode": "123456"
},
"globo": {
"verificationCode": "123456"
},
"apple": {
"verificationCode": "123456"
},
"asaas": {
"verificationCode": "123456"
},
"mercado-livre": {
"verificationCode": "123456"
},
"wechat": {
"verificationCode": "123456"
},
"alipay": {
"verificationCode": "123456"
},
"airbnb": {
"verificationCode": "123456"
},
"snapchat": {
"verificationCode": "123456"
},
"hostgator": {
"verificationCode": "123456"
},
"messages": {
"verificationCode": "123456"
},
"sendpulse": {
"verificationCode": "123456"
},
"kwai": {
"verificationCode": "123456"
},
"salvy": {
"verificationCode": "123456"
},
"santander": {
"verificationCode": "123456"
},
"itau": {
"verificationCode": "123456"
},
"temu": {
"verificationCode": "123456"
},
"mercado-pago": {
"verificationCode": "123456"
},
"indeed": {
"verificationCode": "123456"
},
"zoom": {
"verificationCode": "123456"
},
"x": {
"verificationCode": "123456"
},
"hostinger": {
"verificationCode": "123456"
}
}
}
],
"pagination": {
"page": 1,
"pageSize": 50,
"totalCount": 123,
"totalPages": 3
}
}{
"code": "unauthorized",
"message": "<string>"
}{
"code": "forbidden",
"message": "<string>"
}{
"code": "resource-not-found",
"message": "<string>"
}{
"code": "payload-too-large",
"message": "<string>"
}{
"code": "input-validation-error",
"message": "<string>",
"details": [
{
"key": "<string>",
"message": "<string>"
}
]
}{
"code": "unknown",
"message": "<string>"
}Listar SMS da linha
Lista as mensagens SMS recebidas por uma linha telefônica, ordenadas por data de recebimento decrescente (receivedAt), com paginação. Útil para reprocessar notificações de webhook perdidas. Mensagens SMS só existem para linhas do tipo DID (mobile-did, landline-did); linhas de outros tipos retornam uma lista vazia.
curl --request GET \
--url https://api.salvy.com.br/api/v3/phone-accounts/{id}/sms-messages \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.salvy.com.br/api/v3/phone-accounts/{id}/sms-messages"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.salvy.com.br/api/v3/phone-accounts/{id}/sms-messages', 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.salvy.com.br/api/v3/phone-accounts/{id}/sms-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: Bearer <token>"
],
]);
$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://api.salvy.com.br/api/v3/phone-accounts/{id}/sms-messages"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.salvy.com.br/api/v3/phone-accounts/{id}/sms-messages")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.salvy.com.br/api/v3/phone-accounts/{id}/sms-messages")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "0140a8c6-3815-45b7-9e60-8e137cad845c",
"receivedAt": "2025-09-03T00:00:00Z",
"originPhoneNumber": "23456",
"destinationPhoneNumber": "+5511987654321",
"message": "Seu codigo de verificação e 123456",
"detections": {
"whatsapp": {
"verificationCode": "123456"
},
"google": {
"verificationCode": "123456"
},
"telegram": {
"verificationCode": "123456"
},
"tiktok": {
"verificationCode": "123456"
},
"shopee": {
"verificationCode": "123456"
},
"amazon": {
"verificationCode": "123456"
},
"facebook": {
"verificationCode": "123456"
},
"nubank": {
"verificationCode": "123456"
},
"microsoft": {
"verificationCode": "123456"
},
"instagram": {
"verificationCode": "123456"
},
"hotmart": {
"verificationCode": "123456"
},
"discord": {
"verificationCode": "123456"
},
"godaddy": {
"verificationCode": "123456"
},
"twilio": {
"verificationCode": "123456"
},
"youtube": {
"verificationCode": "123456"
},
"claude": {
"verificationCode": "123456"
},
"samsung": {
"verificationCode": "123456"
},
"c6": {
"verificationCode": "123456"
},
"ifood": {
"verificationCode": "123456"
},
"paypal": {
"verificationCode": "123456"
},
"autodesk": {
"verificationCode": "123456"
},
"globo": {
"verificationCode": "123456"
},
"apple": {
"verificationCode": "123456"
},
"asaas": {
"verificationCode": "123456"
},
"mercado-livre": {
"verificationCode": "123456"
},
"wechat": {
"verificationCode": "123456"
},
"alipay": {
"verificationCode": "123456"
},
"airbnb": {
"verificationCode": "123456"
},
"snapchat": {
"verificationCode": "123456"
},
"hostgator": {
"verificationCode": "123456"
},
"messages": {
"verificationCode": "123456"
},
"sendpulse": {
"verificationCode": "123456"
},
"kwai": {
"verificationCode": "123456"
},
"salvy": {
"verificationCode": "123456"
},
"santander": {
"verificationCode": "123456"
},
"itau": {
"verificationCode": "123456"
},
"temu": {
"verificationCode": "123456"
},
"mercado-pago": {
"verificationCode": "123456"
},
"indeed": {
"verificationCode": "123456"
},
"zoom": {
"verificationCode": "123456"
},
"x": {
"verificationCode": "123456"
},
"hostinger": {
"verificationCode": "123456"
}
}
}
],
"pagination": {
"page": 1,
"pageSize": 50,
"totalCount": 123,
"totalPages": 3
}
}{
"code": "unauthorized",
"message": "<string>"
}{
"code": "forbidden",
"message": "<string>"
}{
"code": "resource-not-found",
"message": "<string>"
}{
"code": "payload-too-large",
"message": "<string>"
}{
"code": "input-validation-error",
"message": "<string>",
"details": [
{
"key": "<string>",
"message": "<string>"
}
]
}{
"code": "unknown",
"message": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
Número da página, iniciando em 1.
1 <= x <= 90071992547409911
Tamanho da página. Máximo de 200.
1 <= x <= 20050
Filtra mensagens recebidas a partir desta data (inclusivo), em formato ISO8601.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$"2025-09-01T00:00:00Z"
Filtra mensagens recebidas até esta data (exclusivo), em formato ISO8601.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$"2025-10-01T00:00:00Z"
Filtra mensagens cujo serviço detectado esteja na lista informada. Passe múltiplos valores repetindo o parâmetro (?service=whatsapp&service=google). Use __null__ para incluir mensagens sem nenhum serviço detectado.
whatsapp, google, telegram, tiktok, shopee, amazon, facebook, nubank, microsoft, instagram, hotmart, discord, godaddy, twilio, youtube, claude, samsung, c6, ifood, paypal, autodesk, globo, apple, asaas, mercado-livre, wechat, alipay, airbnb, snapchat, hostgator, messages, sendpulse, kwai, salvy, santander, itau, temu, mercado-pago, indeed, zoom, x, hostinger, unknown