Analityka

Zobacz to, co widział operator.

Skonfigurowane w:
Cursor

Każda wysyłka generuje potwierdzenie dostarczenia od operatora. Bird zamienia te potwierdzenia w metryki dostarczania, niepowodzeń i opóźnień, rozbite według kraju, operatora i nadawcy, w panelu i przez API statystyk, które możesz odpytywać z własnego kodu.

send-otp.ts
200 · 0.4s
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

Hey Ada — your Bird sign-in code is 482917. It'll expire in 10 minutes. Don't share it with anyone.
482917
Delivered

Strona raportowa tego samego API.

Nic nowego do oprzyrządowania.

Analityka to strona raportowa API SMS od Bird. Już przez nie wysyłasz i już otrzymujesz webhook dostarczenia przy każdej zmianie stanu; analityka to Bird prowadzący licznik za Ciebie, dzięki czemu możesz zapytać, jak dostarczyła się kampania, bez stawiania najpierw hurtowni do przechowywania zdarzeń.

Co mówi Ci potwierdzenie dostarczenia.

Zmierzone od operatora, nie wywnioskowane.

  1. 01

    Współczynnik dostarczeń.

    Udział wysyłek potwierdzonych jako dostarczone przez operatora w stosunku do tego, co przesłano. Śledź go dla każdego kraju i każdego nadawcy, a nie tylko jako jedną ogólną liczbę, która ukrywa trasę po cichu gubiącą wiadomości.

  2. 02

    Przyczyny niepowodzeń według operatora.

    Nieudane wysyłki niosą kod przyczyny od operatora, pogrupowane według operatora docelowego (MCC/MNC). Skok to zwykle jeden operator odrzucający jeden identyfikator nadawcy, co jest naprawą rejestracji, a nie awarią platformy.

  3. 03

    Segmenty i koszt.

    Każda wiadomość raportuje swoje kodowanie i liczbę segmentów, więc wolumen agreguje się w segmenty, za które faktycznie naliczono Ci opłatę. Przebieg, który przeszedł na Unicode i podwoił liczbę segmentów, pojawia się tutaj, a nie na fakturze.

  4. 04

    Opóźnienie do dostarczenia.

    Czas od przesłania do potwierdzenia dostarczenia, jako rozkład, a nie średnia. Globalnie około 95% wiadomości potwierdza się w mniej niż 2,5 sekundy; w ogonie ujawnia się pogorszona trasa.

Odpytuj liczby z własnego kodu.

API statystyk przyjmuje zakres czasu i groupBy oraz zwraca zagregowane liczby. Grupuj według kraju i operatora, aby znaleźć trasę o słabej wydajności, a według nadawcy, aby zobaczyć, którym z Twoich identyfikatorów ufa operator. Ta sama agregacja zasila wykresy w panelu, więc liczba, którą zrzucisz na ekranie, odpowiada liczbie, którą możesz pobrać według harmonogramu.

delivery-by-route.ts
200 · stats
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,
//   }

Pobierz oś czasu jednej wiadomości.

Agregaty odpowiadają na pytanie, jak poszła kampania; zgłoszenie do wsparcia pyta o jeden SMS. Przekaż pojedyncze ID wiadomości do endpointu zdarzeń, a otrzymasz całe jej życie po kolei — w kolejce, wysłana, potwierdzenie dostarczenia od operatora albo niepowodzenie, każde opatrzone czasem oraz, gdy się nie powiodło, własnym kodem przyczyny operatora.

message-timeline.ts
200 · events
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" },
//   ]

Tnij te same wysyłki tak, jak ukształtowane jest pytanie.

Każde zestawienie odczytuje z tych samych potwierdzeń dostarczenia; groupBy zmienia tylko obiektyw.

WymiarCo Ci mówi
KrajGdzie dostarczanie się trzyma, a gdzie cel ściąga globalny współczynnik w dół.
Operator (MCC/MNC)Który operator w kraju odrzuca ruch, aż do kodu sieci.
NadawcaJak bardzo zaufany jest każdy z Twoich identyfikatorów nadawcy lub numerów, skoro reputacja jest liczona per nadawca.
Przedział czasowyKiedy współczynnik się zmienił, aby spadek pokrył się z wdrożeniem, zmianą rejestracji lub awarią.

Zagłęb się w dokumentacji.

Zbuduj własny magazyn z webhooków dostarczenia, przeczytaj przewodnik po dostarczalności, aby dowiedzieć się, co oznaczają kody niepowodzeń, i uzgodnij liczby z rozliczeniami i zużyciem.

Potwierdzenia pochodzą z warstwy routingu.

Potwierdzenie dostarczenia jest tak dobre, jak ścieżka, która je wytworzyła: routing wybiera łącze operatora, którym podąża każda wiadomość, i zwraca DLR, z którego budowane są te metryki. Jeśli prowadzisz numery dwukierunkowe, przychodzące wiadomości są tu również liczone, więc wolumen odpowiedzi sąsiaduje ze współczynnikiem dostarczeń, który go wypracował.

FAQ dotyczące analityki SMS

Skąd pochodzą liczby dotyczące dostarczania?+
Z potwierdzenia dostarczenia od operatora (DLR) dla każdej wysyłki. Bird zapisuje potwierdzenie przy wiadomości, a następnie agreguje te potwierdzenia w dane o dostarczeniach, niepowodzeniach i opóźnieniach. Licznik dostarczeń to potwierdzenie odbioru przez operatora, a nie zgadywanie przez Bird.
Czy mogę rozbić raport według operatora?+
Tak. API statystyk przyjmuje groupBy według kraju, operatora (wg MCC/MNC), nadawcy i przedziału czasowego, w dowolnej kombinacji. Współczynnik niepowodzeń, który wygląda dobrze w skali kraju, często okazuje się jednym operatorem odrzucającym jeden identyfikator nadawcy.
Czy muszę odpytywać API, czy mogę strumieniować zdarzenia?+
Jedno i drugie. Każdy stan dostarczenia już przychodzi jako webhook, więc możesz zbudować własny magazyn ze strumienia zdarzeń. API statystyk jest na miejscu, gdy chcesz, by to Bird wykonywał agregację zamiast samodzielnego prowadzenia licznika.
Czy mogę sprawdzić, co stało się z jedną konkretną wiadomością?+
Przekaż ID wiadomości do endpointu zdarzeń, a otrzymasz jej pełną oś czasu — w kolejce, wysłana, dostarczona lub nieudana, każda ze znacznikiem czasu oraz, w razie niepowodzenia, kodem przyczyny od operatora. To jest raport, którego naprawdę potrzebujesz, gdy klient mówi, że SMS nigdy nie dotarł.

Metryki dostarczane są wraz z API, które je wytwarza.

Analityka nie jest osobnym produktem do kupienia. Wysyłaj przez API SMS od Bird, a raportowanie dostarczeń, niepowodzeń i opóźnień jest już na miejscu, na infrastrukturze, która przenosi około 40% komercyjnego ruchu SMS na świecie.

Zacznij od jednego kanału.
Dodaj kolejne, gdy będziesz gotowy.

Testowy klucz API otrzymasz od razu. Dostęp produkcyjny odblokujesz po dodaniu metody płatności i weryfikacji nadawcy.

Używasz Claude Code, Cursor lub Codex? Skopiuj prompt konfiguracyjny, a Twój agent zainstaluje za Ciebie Bird CLI i umiejętności. Wybierz swój:

Cursor