curl --request GET \
--url https://yghpblhxrfmxkwejvpjz.supabase.co/functions/v1/query-message-logs \
--header 'Authorization: Bearer <token>'import requests
url = "https://yghpblhxrfmxkwejvpjz.supabase.co/functions/v1/query-message-logs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://yghpblhxrfmxkwejvpjz.supabase.co/functions/v1/query-message-logs', 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://yghpblhxrfmxkwejvpjz.supabase.co/functions/v1/query-message-logs",
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://yghpblhxrfmxkwejvpjz.supabase.co/functions/v1/query-message-logs"
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://yghpblhxrfmxkwejvpjz.supabase.co/functions/v1/query-message-logs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://yghpblhxrfmxkwejvpjz.supabase.co/functions/v1/query-message-logs")
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_bodyConsultar logs de mensagens
Consulta o histórico de envios da conta (API, campanhas, automações e painel), do mais recente para o mais antigo, com filtros opcionais e paginação. Os filtros se combinam: só voltam os envios que atendem a todos os parâmetros informados.
curl --request GET \
--url https://yghpblhxrfmxkwejvpjz.supabase.co/functions/v1/query-message-logs \
--header 'Authorization: Bearer <token>'import requests
url = "https://yghpblhxrfmxkwejvpjz.supabase.co/functions/v1/query-message-logs"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://yghpblhxrfmxkwejvpjz.supabase.co/functions/v1/query-message-logs', 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://yghpblhxrfmxkwejvpjz.supabase.co/functions/v1/query-message-logs",
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://yghpblhxrfmxkwejvpjz.supabase.co/functions/v1/query-message-logs"
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://yghpblhxrfmxkwejvpjz.supabase.co/functions/v1/query-message-logs")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://yghpblhxrfmxkwejvpjz.supabase.co/functions/v1/query-message-logs")
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_bodyAuthorizations
Access token (at_...) obtido em /oauth-token, ou o par client_id:client_secret separado por dois-pontos, sem espaços.
Query Parameters
Devolve uma única mensagem pelo id (o message_id do /send-message), no formato { "data": { ... } }, em vez da lista paginada. Um valor que não é UUID responde 400; id inexistente ou de outra conta responde 404.
Devolve os envios que têm esta tag entre as suas tags. Uma tag por consulta.
Devolve só os envios deste canal. Um valor fora da lista devolve lista vazia, sem erro.
email, whatsapp, sms, telegram, slack, web_push, in_app, push Devolve só os envios com este status atual. Um valor fora da lista devolve lista vazia, sem erro.
queued: enfileirada, aguardando envio (ex.: fila de WhatsApp). processing: em processamento. sent: enviada, o provedor aceitou a mensagem (no WhatsApp oficial da Meta, a mensagem fica sent e as confirmações preenchem delivered_at e read_at). delivered: entregue e read: lida, confirmações do WhatsApp enviado pela Evolution API. failed: falhou (veja error_message), inclusive quando o envio foi recusado pelo limite diário da conta. skipped: ignorada (faltou dado do destinatário, não havia template no idioma, o número não tem WhatsApp, o canal In-App está desabilitado, o contato se descadastrou do canal — em campanhas, automações de marketing e envios pela API com respect_opt_out: true — ou, em campanhas, o contato foi removido antes de a mensagem sair).
queued, processing, sent, delivered, read, failed, skipped Slug da comunicação, ativa ou não. Slug inexistente na conta devolve lista vazia, sem erro.
Envios criados a partir desta data e hora, inclusive (ISO 8601). Sem fuso no valor, vale UTC; para o fuso da conta, informe o deslocamento (ex.: 2026-01-01T00:00:00-03:00)
Envios criados até esta data e hora, inclusive (ISO 8601). Sem fuso no valor, vale UTC
Página. Valores menores que 1 viram 1.
x >= 1Itens por página. Valores acima de 100 viram 100.
1 <= x <= 100