Cada envio produz um recibo de entrega do operador. A Bird transforma esses recibos em métricas de entrega, falha e latência, desdobradas por país, operador e remetente, no dashboard e através de uma API de estatísticas que pode consultar a partir do seu próprio código.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
const code = generateOtp();
const { data, error } = await bird.sms.send({
from: "Bird",
to: "+15005550006",
text: `Your Bird verification code is ${code}. Reply STOP to opt out.`,
}).safe();
if (error) throw error;
console.log(data.id);
// → "sms_4kT01Lq2m..."Today at 2:14 PM
O lado de relatórios da mesma API.
Nada de novo para instrumentar.
A analítica é o lado de relatórios da API de SMS da Bird. Já envia através dela e já recebe um webhook de entrega em cada mudança de estado; a analítica é a Bird a manter a contagem por si, para que possa perguntar como uma campanha foi entregue sem montar um armazém de dados para guardar os eventos primeiro.
O que um recibo de entrega lhe diz.
Medido a partir do operador, não inferido.
- 01
Taxa de entrega.
A proporção de envios que o operador confirmou entregues, face ao que foi submetido. Acompanhe-a por país e por remetente, não apenas como um único número global que esconde a rota que está discretamente a perder mensagens.
- 02
Motivos de falha por operador.
Os envios falhados trazem o código de motivo do operador, agrupados por operador de destino (MCC/MNC). Um pico costuma ser um operador a rejeitar um sender ID, o que é uma correção de registo, não uma falha de plataforma.
- 03
Segmentos e custo.
Cada mensagem reporta a sua codificação e contagem de segmentos, por isso o volume agrega-se nos segmentos que foram de facto faturados. Um envio que passou a Unicode e duplicou os seus segmentos aparece aqui, não na fatura.
- 04
Latência até à entrega.
O tempo desde a submissão até ao recibo de entrega, como distribuição em vez de média. Globalmente, cerca de 95% das mensagens confirmam em menos de 2,5 segundos; a cauda é onde uma rota degradada se anuncia.
Consulte os números a partir do seu próprio código.
A API de estatísticas aceita um intervalo de tempo e um groupBy, e devolve as contagens agregadas. Agrupe por país e operador para encontrar a rota com mau desempenho, por remetente para ver em qual dos seus IDs um operador confia. A mesma agregação suporta os gráficos do dashboard, por isso um número de que tira captura de ecrã corresponde a um número que pode extrair de forma agendada.
const { data, error } = await bird.sms.stats
.query({
from: "2026-06-01",
to: "2026-06-26",
groupBy: ["country", "carrier"],
metrics: ["sent", "delivered", "failed", "p95_latency_ms"],
})
.safe();
if (error) throw error;
console.log(data.rows[0]);
// → {
// country: "BR",
// carrier: "Vivo", // MCC/MNC 724/06
// sent: 48213,
// delivered: 47190,
// failed: 1023,
// p95_latency_ms: 2310,
// }Extraia a cronologia de uma mensagem.
Os agregados respondem a como uma campanha correu; um pedido de suporte pergunta por um texto. Passe um único ID de mensagem ao endpoint de eventos e obtém toda a sua vida por ordem — em fila, enviada, o recibo de entrega do operador ou a falha, cada um marcado com uma hora e, quando falhou, o próprio código de motivo do operador.
const { data } = await bird.sms
.events("sms_4kT01Lq2m...")
.safe();
console.log(data.events);
// → [
// { type: "sms.queued", at: "2026-06-26T10:00:00.110Z" },
// { type: "sms.sent", at: "2026-06-26T10:00:00.640Z" },
// { type: "sms.delivered", at: "2026-06-26T10:00:02.300Z" },
// ]Fatie os mesmos envios da forma que a pergunta tiver.
Cada desdobramento lê dos mesmos recibos de entrega; o groupBy apenas muda a lente.
| Dimensão | O que lhe diz |
|---|---|
| País | Onde a entrega se mantém e onde um destino está a arrastar a taxa global para baixo. |
| Operador (MCC/MNC) | Que operador dentro de um país está a rejeitar tráfego, até ao código de rede. |
| Remetente | Quão fiável é cada um dos seus sender IDs ou números, já que a reputação é por remetente. |
| Intervalo de tempo | Quando uma taxa mudou, para que uma queda se alinhe com um deploy, uma alteração de registo ou uma falha. |
Aprofunde na documentação.
Construa o seu próprio armazenamento a partir dos webhooks de entrega, leia o guia de entregabilidade para perceber o que os códigos de falha significam, e reconcilie contagens com faturação e utilização.
Os recibos vêm da camada de encaminhamento.
Um recibo de entrega só é tão bom quanto o caminho que o produziu: o encaminhamento escolhe a ligação de operador que cada mensagem toma e devolve o DLR a partir do qual estas métricas são construídas. Se usar números bidirecionais, as mensagens recebidas também são contadas aqui, por isso um volume de respostas fica ao lado da taxa de entrega que o conquistou.
Perguntas frequentes sobre analítica de SMS
De onde vêm os números de entrega?+
Posso desdobrar um relatório por operador?+
Tenho de fazer polling à API ou posso receber eventos em streaming?+
Posso consultar o que aconteceu a uma mensagem específica?+
O resto da plataforma de SMS
Uma API, um único conjunto de chaves. Explore as outras capacidades.
As métricas vêm com a API que as produz.
A analítica não é um produto separado para comprar. Envie através da API de SMS da Bird e os relatórios de entrega, falha e latência já lá estão, sobre infraestrutura que transporta cerca de 40% do SMS comercial do mundo.