Setiap pengiriman menghasilkan delivery receipt operator. Bird mengubah receipt itu menjadi metrik pengiriman, kegagalan, dan latensi, dipecah per negara, operator, dan pengirim, di dashboard dan melalui stats API yang dapat Anda kueri dari kode Anda sendiri.
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
Sisi pelaporan dari API yang sama.
Tak ada yang baru untuk diinstrumentasi.
Analitik adalah sisi pelaporan dari Bird SMS API. Anda sudah mengirim melaluinya dan sudah menerima delivery webhook pada setiap perubahan status; analitik adalah Bird yang menyimpan hitungannya untuk Anda, sehingga Anda bisa menanyakan bagaimana sebuah campaign terkirim tanpa harus menyiapkan warehouse untuk menampung event-nya lebih dulu.
Apa yang diberitahukan sebuah delivery receipt.
Diukur dari operator, bukan disimpulkan.
- 01
Tingkat pengiriman.
Porsi pengiriman yang dikonfirmasi terkirim oleh operator, terhadap yang dikirimkan. Lacak per negara dan per pengirim, bukan hanya sebagai satu angka menyeluruh yang menyembunyikan rute yang diam-diam menurun.
- 02
Alasan kegagalan per operator.
Pengiriman yang gagal membawa reason code operator, dikelompokkan per operator tujuan (MCC/MNC). Lonjakan biasanya berupa satu operator yang menolak satu sender ID, yang merupakan perbaikan registrasi, bukan gangguan platform.
- 03
Segment dan biaya.
Setiap pesan melaporkan encoding dan jumlah segment-nya, sehingga volume tergabung menjadi segment yang benar-benar ditagihkan kepada Anda. Pengiriman yang berubah ke Unicode dan menggandakan segment-nya muncul di sini, bukan di tagihan.
- 04
Latensi hingga pengiriman.
Waktu dari pengiriman hingga delivery receipt, sebagai distribusi alih-alih rata-rata. Secara global sekitar 95% pesan terkonfirmasi dalam waktu di bawah 2,5 detik; ekornya adalah tempat rute yang menurun menampakkan diri.
Kueri angka-angkanya dari kode Anda sendiri.
Stats API menerima rentang waktu dan groupBy, lalu mengembalikan hitungan yang sudah digabung. Kelompokkan per negara dan operator untuk menemukan rute yang berkinerja buruk, per pengirim untuk melihat ID mana yang dipercaya operator. Agregasi yang sama mendukung grafik dashboard, sehingga angka yang Anda tangkap layar cocok dengan angka yang bisa Anda tarik secara terjadwal.
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,
// }Tarik linimasa untuk satu pesan.
Agregat menjawab bagaimana sebuah campaign berjalan; sebuah tiket dukungan menanyakan satu teks. Berikan satu message ID ke endpoint events dan Anda mendapatkan seluruh perjalanannya secara berurutan — queued, sent, delivery receipt operator atau kegagalannya, masing-masing dicap waktu dan, saat gagal, reason code milik operator.
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" },
// ]Iris pengiriman yang sama sesuai bentuk pertanyaannya.
Setiap pemecahan membaca dari delivery receipt yang sama; groupBy hanya mengubah sudut pandangnya.
| Dimensi | Apa yang diberitahukannya |
|---|---|
| Negara | Di mana pengiriman bertahan dan di mana sebuah tujuan menyeret turun angka global. |
| Operator (MCC/MNC) | Operator mana di dalam sebuah negara yang menolak trafik, hingga ke kode jaringannya. |
| Pengirim | Seberapa dipercaya masing-masing sender ID atau nomor Anda, karena reputasi bersifat per pengirim. |
| Rentang waktu | Kapan sebuah angka berubah, sehingga penurunan sejajar dengan sebuah deploy, perubahan registrasi, atau gangguan. |
Pelajari lebih dalam di dokumentasi.
Bangun penyimpanan Anda sendiri dari delivery webhook, baca panduan deliverability untuk memahami arti kode kegagalan, dan rekonsiliasi hitungan dengan penagihan dan penggunaan.
Receipt-nya berasal dari layer routing.
Sebuah delivery receipt hanya sebaik jalur yang menghasilkannya: routing memilih tautan operator yang dilewati setiap pesan dan mengembalikan DLR yang menjadi dasar metrik ini. Jika Anda menjalankan nomor dua arah, pesan inbound juga dihitung di sini, sehingga volume balasan berada di samping tingkat pengiriman yang menghasilkannya.
FAQ analitik SMS
Dari mana angka pengiriman berasal?+
Bisakah saya memecah laporan per operator?+
Apakah saya harus polling API, atau bisakah saya melakukan streaming event?+
Bisakah saya menelusuri apa yang terjadi pada satu pesan tertentu?+
Sisanya dari platform SMS
Satu API, satu set key. Jelajahi kemampuan lainnya.
Metriknya hadir bersama API yang menghasilkannya.
Analitik bukan produk terpisah yang harus dibeli. Kirim melalui Bird SMS API dan pelaporan pengiriman, kegagalan, serta latensi sudah ada di sana, di atas infrastruktur yang membawa sekitar 40% SMS komersial dunia.