08 Feb 2025·8 menit membaca

Dasbor pelacakan pengiriman untuk notifikasi pelanggan yang efektif

Bangun dasbor pelacakan pengiriman yang menyimpan nomor pelacakan, mengambil pembaruan kurir, dan mengirim pesan otomatis saat sedang dalam pengantaran atau terlambat kepada pelanggan.

Dasbor pelacakan pengiriman untuk notifikasi pelanggan yang efektif

Mengapa pelacakan pengiriman jadi masalah dukungan

Sebagian besar pertanyaan “Dimana pesanan saya?” bukan sekadar rasa penasaran. Mereka muncul saat orang merasa tidak pasti: pelacakan lambat untuk diperbarui, istilah kurir membingungkan, atau jendela pengiriman lewat tanpa pesan.

Bagi tim dukungan, ketidakpastian itu menjadi aliran tiket, chat, dan tindak lanjut yang konstan. Satu paket terlambat bisa dengan mudah memicu tiga percakapan terpisah: “Ada kabar?”, “Tertulis terkirim tapi saya belum menerimanya,” dan “Bisakah kirim ulang link pelacakan?” Masing-masing memakan waktu, dan meningkatkan kemungkinan permintaan refund atau ulasan buruk.

Masalah bertambah ketika info pelacakan berceceran. Jika nomor pelacakan disimpan di spreadsheet, pembaruan kurir masuk ke inbox, dan detail order ada di admin toko, tiap pertanyaan pelanggan berubah jadi investigasi kecil. Seseorang akhirnya menyalin-tempel status, menebak arti “In transit” hari ini, dan lupa memberi tahu pelanggan saat ada perubahan.

Dasbor pelacakan pengiriman memperbaiki ini dengan mengubah pembaruan menjadi sumber kebenaran bersama dan mengirim pesan yang tepat pada waktunya. Tujuannya sederhana: tim Anda melihat apa yang terjadi di satu tempat, dan pelanggan mendapat pembaruan proaktif seperti “sedang dalam pengantaran” atau “terlambat” tanpa perlu bertanya.

Ini dibuat praktis dengan sengaja:

  • Data apa yang disimpan dan workflow sederhana untuk menjaganya tetap up to date
  • Status yang jelas dan mudah dibaca yang tidak bergantung pada kata-kata kurir
  • Notifikasi otomatis yang mengurangi tiket WISMO tanpa jadi spam

Jika Anda membangunnya dengan alat no-code seperti AppMaster, pikirkan dalam satu alur yang andal: simpan detail pelacakan, tarik pembaruan secara berkala, normalisasi status, lalu beri notifikasi saat perlu.

Data yang perlu disimpan (dan yang bisa dilewatkan dulu)

Dasbor pelacakan hanya berguna jika datanya rapi. Mulailah dengan record yang akan Anda sentuh setiap hari, dan tahan godaan untuk memodelkan setiap detail kurir di awal.

Minimalnya, Anda butuh empat objek inti: order, customer, shipment, dan carrier. Order dan customer biasanya sudah ada di banyak sistem, jadi pekerjaan baru biasanya adalah record shipment: order_id yang terkait, carrier yang dipakai, dan nomor pelacakan (plus nama tampilan ramah seperti “UPS Ground”). Jika satu order bisa dikirim dalam beberapa kotak, dukung banyak shipment per order sejak hari pertama.

Riwayat status adalah keharusan berikutnya karena menjelaskan apa yang berubah dan kapan. Simpan baik field “bersih” yang ingin Anda tampilkan (jenis event, timestamp, lokasi) dan pesan mentah dari kurir. Pesan mentah adalah jaring pengaman saat label membingungkan atau aturan normalisasi Anda belum sempurna.

Set awal yang praktis terlihat seperti ini:

  • Shipment: order_id, carrier_id, tracking_number, current_status, last_updated_at
  • Tracking event: shipment_id, event_time, event_type, location_text, raw_message
  • Notification log: shipment_id, channel, recipient, message_type, sent_at, provider_result

Log notifikasi ini lebih penting daripada yang diperkirakan orang. Jika pelanggan bilang “berhenti kirim SMS,” Anda perlu bukti apa yang dikirim, kapan, dan lewat channel apa. Ini juga membantu mencegah duplikat ketika provider timeout dan sistem Anda mencoba ulang.

Jaga privasi sederhana tapi nyata. Batasi siapa yang bisa melihat nomor telepon dan email pelanggan, dan pisahkan “lihat status shipment” dari “lihat kontak pelanggan.” Pengguna gudang mungkin butuh nomor pelacakan, tapi tidak nomor telepon pelanggan.

Jika Anda membangun di AppMaster, modelkan ini sebagai entitas terpisah di Data Designer dan tambahkan peran sejak awal agar layar yang tepat menampilkan field yang benar tanpa banyak pengerjaan ulang.

Cara menarik pembaruan kurir secara andal

Pelacakan andal dimulai dengan keputusan membosankan: kurir mana yang paling penting. Pilih 1–3 kurir teratas yang Anda gunakan setiap minggu, selesaikan end-to-end, lalu tambahkan ekor panjangnya.

Ada tiga cara umum untuk mendapatkan pembaruan pelacakan:

  • API kurir: akurasi dan detail terbaik, tapi tiap kurir punya aturan dan batas rate sendiri.
  • Agregator pelacakan: satu integrasi untuk banyak kurir, sering lebih cepat diluncurkan, tapi Anda bergantung pada cakupan dan pemetaan mereka.
  • Impor manual: upload CSV atau copy/paste untuk pengecualian, berguna di fase awal atau saat kurir tidak punya API yang baik.

Bagaimana pembaruan tiba sama pentingnya dengan dari mana mereka datang. Webhook (push) ideal saat Anda butuh perubahan hampir real-time, seperti “out for delivery” atau scan pengiriman. Polling (pull) lebih sederhana dan bekerja ketika kurir tidak mendukung webhook, tapi bisa tertunda dan menghabiskan lebih banyak request.

Pengaturan praktis adalah hybrid: webhook bila tersedia, polling terjadwal sebagai jaring pengaman. Di AppMaster, misalnya, Anda bisa menerima event webhook lewat endpoint dan menjalankan Business Process terjadwal untuk memeriksa ulang shipment yang tidak berubah dalam 12 jam.

Seberapa sering harus menyegarkan?

Segarkan berdasarkan tahap shipment, bukan satu timer untuk semua. Itu menekan biaya dan menghindari membanjiri API.

  • Pre-transit: 1–2 kali per hari
  • Dalam pengiriman: setiap 4–8 jam
  • Sedang dalam pengantaran (out for delivery): setiap 30–60 menit
  • Terkirim: berhenti polling setelah konfirmasi (simpan event terakhir)

Rencanakan untuk outage atau delay kurir. Simpan waktu cek terakhir yang berhasil, retry dengan backoff, dan tampilkan timestamp “last updated” yang jelas di dasbor agar tim tahu apakah data masih segar.

Normalisasi status kurir agar dasbor tetap mudah dibaca

Feed pelacakan kurir berantakan. Satu kurir mengatakan “Shipment information received,” lainnya “Electronic notification,” dan yang ketiga mengirim sepuluh scan “in transit” dalam sehari. Jika Anda menampilkan semua itu apa adanya, dasbor pelacakan berubah jadi kebisingan.

Mulailah dengan set kecil status internal yang bisa dimengerti tim dan pelanggan, dan pertahankan saat Anda menambahkan kurir:

  • Label dibuat
  • Dalam pengiriman
  • Sedang dalam pengantaran
  • Terkirim
  • Pengecualian

Lalu peta setiap event kurir ke salah satu bucket itu. Anda bisa memetakan berdasarkan kode event kurir, teks event, atau keduanya. Jaga aturannya sederhana: setiap event masuk hanya memperbarui status internal jika itu memajukan shipment, atau jika menandakan masalah nyata.

Selalu simpan payload mentah kurir juga (full event JSON plus teks asli). Dasbor harus menampilkan status ter-normalisasi, tapi support dan ops harus bisa membuka shipment dan melihat tepat apa yang dikirim kurir saat sesuatu terlihat salah.

Event tidak dikenal akan terjadi. Perlakukan mereka sebagai “tidak berubah,” dan log untuk ditinjau. Scan yang hilang juga terjadi: paket bisa lompat dari “label dibuat” ke “sedang dalam pengantaran” tanpa perantara. Workflow Anda harus mengizinkan lompatan tanpa menghasilkan error atau pesan yang membingungkan.

Polanya yang praktis adalah menyimpan dua field: internal_status dan carrier_last_event_at. Jika Anda berhenti melihat event untuk sementara, Anda bisa menandainya sebagai “perlu ditinjau” secara internal tanpa memberi tahu pelanggan bahwa itu terlambat.

Di AppMaster, pemetaan ini cocok ditaruh dalam Business Process yang menerima event kurir, menulis payload mentah, menghitung status internal, dan memperbarui record shipment dalam satu langkah.

Langkah demi langkah: bangun workflow pembaruan dan notifikasi

Rancang layar yang ramah dukungan
Bangun tampilan daftar dan timeline pengiriman yang bisa dipakai tim Anda tanpa repot.
Rancang Layar

Sebuah workflow hanya bekerja jika bisa diprediksi. Perlakukan seperti pipeline kecil: tangkap nomor pelacakan, ambil pembaruan, putuskan apa yang berubah, lalu beri notifikasi dan catat tindakan Anda.

Workflow dalam 5 langkah praktis

  1. Kumpulkan info pelacakan segera setelah label dibuat. Dukungan untuk entri manual cepat dan impor massal dari alat pemenuhan. Simpan nama kurir, nomor pelacakan, ID order, dan waktu saat ditambahkan.

  2. Tarik pembaruan kurir sesuai jadwal yang bisa Anda pertahankan. Misalnya: setiap 2 jam untuk “dalam pengiriman”, setiap 30 menit untuk “sedang dalam pengantaran”, dan sekali sehari untuk “terkirim.” Setiap tarik harus menyimpan event kurir terbaru (status, waktu event, lokasi jika ada, dan pesan mentah) agar dasbor merefleksikan kebenaran terbaru.

  3. Tentukan apa yang dihitung sebagai perubahan nyata. Scan baru tidak selalu berarti. Jalankan logika saat status ter-normalisasi berubah (mis. dari “dalam pengiriman” ke “sedang dalam pengantaran”), saat muncul pengecualian, atau saat tidak ada update terlalu lama (mis. tidak ada scan selama 48 jam).

  4. Kirim pesan dan tulis jejak audit. Setiap notifikasi harus membuat record log: siapa yang diberi tahu, channel (email/SMS/Telegram), template yang dipakai, dan hasil (terkirim, gagal, dilewati). Ini membuat dukungan bisa menjawab “Apakah Anda sudah mengabari saya?” dalam hitungan detik.

  5. Tangani kegagalan dengan aturan tenang dan membosankan. Timeout dan gangguan API kurir normal. Retry dengan jeda meningkat (mis. 5 menit, 30 menit, 2 jam), tandai shipment sebagai “update failed” setelah retry terakhir, dan beri tahu tim hanya jika kegagalan berlangsung pada banyak shipment. Jangan kirim pemberitahuan pelanggan hanya berdasarkan data yang hilang.

Jika Anda membangun ini di AppMaster, Anda bisa memodelkan shipments dan events di Data Designer, menjalankan polling dan logika keputusan di Business Process, dan menyimpan log notifikasi sebagai tabel utama untuk pelaporan.

Rancang layar dasbor yang benar-benar dipakai tim Anda

Bangun dasbor pelacakan Anda dengan cepat
Modelkan shipment, event, dan peran di AppMaster dan dapatkan alat internal yang berfungsi dengan cepat.
Coba AppMaster

Dasbor pelacakan hanya membantu jika dukungan atau ops bisa menjawab satu pertanyaan cepat: “Apa situasi saat ini, dan apa yang harus saya lakukan selanjutnya?” Mulailah dengan satu layar utama yang terasa seperti inbox.

Buat tabel utama sederhana dan cepat. Letakkan field yang paling sering dipindai orang di depan: nama pelanggan, nomor order, kurir, status saat ini, dan waktu “last update”. Tambahkan satu kolom lagi untuk “tindakan berikutnya” (mis. beri tahu pelanggan, tunggu, selidiki). Petunjuk kecil itu mengurangi tebak-tebakan.

Filter adalah tempat dasbor jadi berguna. Fokuskan pada masalah:

  • Terlambat atau pengecualian
  • Tidak ada pembaruan kurir dalam X hari
  • Sedang dalam pengantaran hari ini
  • Terkirim hari ini
  • Perlu tindak lanjut (ditandai oleh rekan)

Saat seseorang membuka shipment, tampilan detail harus menceritakan kisah tanpa klik tambahan. Tampilkan timeline status dalam bahasa biasa dan taruh riwayat kontak Anda di sampingnya, sehingga Anda tidak mengirim pesan yang saling bertentangan. Contoh: “Pelanggan diberi tahu tentang keterlambatan pada 10:14” dan “Pelanggan membalas: taruh di meja depan.”

Jaga aksi massal kecil, aman, dan dapat dibalik. Beberapa yang biasanya berguna: kirim ulang notifikasi terbaru, kirim update manual (berbasis template), tambah catatan internal, dan tugaskan ke rekan.

Jika Anda membangun ini di AppMaster, targetkan dua layar bersih dulu (daftar dan detail) menggunakan UI builders, lalu kembangkan setelah tim setuju alur harian terasa alami.

Atur notifikasi pelanggan tanpa mengganggu

Cara tercepat membuat pelacakan terasa membantu (bukan spam) adalah mengirim lebih sedikit pesan dengan timing yang lebih baik. Mulailah dengan channel yang sudah dipakai pelanggan: email untuk kebanyakan pembaruan, SMS untuk momen sensitif waktu, dan Telegram jika audiens Anda lebih suka chat.

Pertahankan perpustakaan template kecil di awal. Segelintir pesan menutupi kebanyakan kebutuhan: sedang dalam pengantaran, terlambat, terkirim, dan pengecualian (masalah alamat, ditahan di kurir, dikembalikan).

Setiap template harus menjawab tiga pertanyaan sekilas: apa yang berubah, apa langkah selanjutnya, dan kapan pembaruan kurir terakhir terlihat. Sertakan nomor order dan timestamp scan terakhir supaya dukungan bisa menyelesaikan tiket dengan cepat.

Aturan timing sama pentingnya dengan kata-kata. Tetapkan jam hening (berdasarkan zona waktu pelanggan bila memungkinkan) dan batasi frekuensi agar Anda tidak mengirim lima notifikasi untuk lima scan. Aturan sederhana seperti “maks satu pembaruan proaktif per hari, plus konfirmasi delivered” bekerja baik untuk banyak toko, dengan pengecualian untuk masalah serius.

Preferensi tak perlu rumit untuk efektif. Minimal, simpan flag opt-out per channel (email off, SMS off, Telegram off) dan hormati semuanya di seluruh workflow. Jika seseorang opt-out SMS, jangan kirim “hanya kali ini” nanti.

Default yang baik adalah memberi tahu hanya pada perubahan status bermakna setelah normalisasi, bukan pada tiap event kurir. Jika kurir mengirim tiga scan “in transit”, pelanggan tidak melihat apa-apa. Jika berubah ke “sedang dalam pengantaran”, mereka mendapat satu pesan.

Di AppMaster, Anda bisa memakai modul email/SMS dan Telegram bawaan, lalu terapkan jam hening dan batas frekuensi dalam satu Business Process agar aturan sama di semua channel.

Aturan bisnis yang membuat alert akurat dan berguna

Mulai dengan satu kurir
Buktikan alurnya dengan webhook sederhana atau job polling, lalu tambahkan kurir lain nanti.
Bangun Sekarang

Alert yang baik lebih soal aturan yang jelas daripada pelacakan canggih. Jika aturannya samar, pesannya akan salah, dan pelanggan berhenti mempercayainya.

Mulailah dengan bagaimana Anda mendefinisikan “terlambat.” Aturan praktis: “tidak ada scan baru dalam X jam” (pilih angka yang sesuai kecepatan pengiriman Anda) atau “melewatkan jendela tanggal pengiriman yang diharapkan.” Gunakan keduanya bila bisa: yang pertama menangkap paket yang macet lebih awal, yang kedua menangkap pengiriman terlambat meski scan terus muncul.

Untuk “sedang dalam pengantaran” perlakukan sebagai momen sekali saja. Kurir kadang mengulang event itu. Kirim pesan ke pelanggan sekali per shipment, lalu cegah duplikat kecuali status berubah jadi masalah nyata (mis. pengecualian setelah “out for delivery”).

Untuk “terkirim”, konfirmasi dengan scan pengiriman dari kurir dan anggap final. Jika Anda minta umpan balik, lakukan belakangan (mis. hari berikutnya) agar tidak mengganggu orang yang masih mencari paket.

Pengecualian butuh aturan tersendiri karena sering butuh tindakan. Yang umum termasuk masalah alamat, ditahan di fasilitas, upaya pengiriman, dan kembali ke pengirim. Ini tidak semua harus memicu pesan yang sama ke pelanggan. Beberapa harus pergi ke tim Anda dulu, khususnya jika pelanggan tidak bisa memperbaikinya sendiri.

Set aturan sederhana yang tetap akurat:

  • Terlambat: tidak ada scan 24–48 jam atau melewatkan tanggal yang diharapkan
  • Sedang dalam pengantaran: beri tahu sekali, lalu supress duplikat
  • Terkirim: anggap final, pesan umpan balik opsional 12–24 jam kemudian
  • Pengecualian: klasifikasikan (alamat, tahan, kembali) dan pilih pesan yang tepat
  • Alert internal: jika order bernilai tinggi atau VIP macet melewati ambang, beri tahu tim

Jika Anda membangun ini di AppMaster, buat aturan bisa diedit (threshold jam, cutoff nilai tinggi, jam hening) sehingga Anda bisa menyetel tanpa membangun ulang workflow.

Kesalahan umum yang merusak kepercayaan (dan cara menghindarinya)

Kepercayaan cepat rusak saat pelacakan terasa berisik atau salah. Penyebab terbesar adalah memperlakukan dasbor seperti feed langsung dari setiap scan kurir. Pelanggan tidak peduli “Tiba di fasilitas” berulang kali. Mereka peduli beberapa momen jelas yang mengubah ekspektasi mereka.

Kegagalan umum lain adalah over-notifying. Orang opt-out saat pesan terasa tidak berguna, dan setelah opt-out Anda kehilangan kanal terbaik untuk masalah nyata. Batasi event yang terlihat pelanggan (label dibuat, sedang dalam pengantaran, terkirim, terlambat, pengecualian) dan simpan sisanya di dasbor internal.

Retry bisa juga merusak kredibilitas. Jika sistem timeout dan retry, ia bisa tak sengaja mengirim pesan “sedang dalam pengantaran” dua kali. Atasi ini dengan idempotensi: catat kunci unik per shipment dan event (mis. shipment_id + normalized_status + event_time) dan jangan beri notifikasi jika sudah pernah dikirim.

Satu masalah halus adalah tidak mencatat sinkronisasi berhasil terakhir per shipment. Tanpa itu, Anda akan menarik terlalu banyak (menciptakan duplikat) atau melewatkan pembaruan (membuat keheningan). Simpan last_synced_at dan ID event kurir terakhir yang diproses, dan perbarui hanya setelah pull yang berhasil.

Hard-coding kurir adalah jebakan lain. Itu bekerja untuk satu atau dua, lalu menambahkan kurir baru jadi rewrite besar. Normalisasi data masuk ke model status Anda sendiri dan simpan pemetaan spesifik kurir di satu tempat. Di AppMaster, itu sering berarti “carrier adapter” Business Process yang dapat dipakai ulang per provider, semua memberi input ke tabel dan logika notifikasi yang sama.

Daftar periksa cepat sebelum diluncurkan

Coba versi minimal hari ini
Mulai dengan dua pesan: 'out for delivery' dan 'delayed', lalu kembangkan setelah seminggu.
Mulai Sekarang

Sebelum menyalakan pelacakan yang terlihat pelanggan, lakukan pemeriksaan cepat yang fokus pada kepercayaan: data benar, pembaruan dapat diprediksi, dan pesan tidak spam.

Mulai dari tempat kesalahan biasa muncul: fulfillment. Pastikan nomor pelacakan ditangkap saat label dibuat, dan validasi (format kurir, tidak kosong, tanpa spasi ekstra). Jika kadang mengirim multiple box, pastikan Anda bisa menyimpan lebih dari satu nomor pelacakan per order tanpa menimpa yang pertama.

Daftar singkat yang menangkap sebagian besar celah:

  • Nomor pelacakan disimpan saat fulfillment dan ditolak jika tidak lolos validasi dasar
  • Pemetaan status diuji dengan riwayat kurir nyata (termasuk pengecualian, upaya pengiriman, dikembalikan ke pengirim)
  • Notifikasi dibatasi laju dan setiap kiriman dilog (timestamp, template, hasil)
  • Dasbor menonjolkan shipment terlambat dan pengecualian dahulu, dengan catatan “tindakan berikutnya” yang jelas
  • Fallback saat downtime kurir: retry dengan backoff, opsi update manual, dan alert internal saat pembaruan berhenti

Jika Anda membangun di AppMaster, ini saat yang baik untuk mengecek Business Process yang menarik pembaruan kurir, catatan log untuk audit, dan filter yang akan diandalkan tim dukungan sejak hari pertama.

Contoh skenario: toko ecommerce kecil mengurangi tiket WISMO

Hubungkan ke data toko Anda
Satukan order dan pelanggan di satu tempat dengan model data PostgreSQL di AppMaster.
Model Data

Sebuah toko kecil mengirim sekitar 80 order per hari. Mereka menggunakan dua kurir, dan nomor pelacakan ditambahkan saat label dibuat. Meski begitu, inbox dukungan mendapat sekitar 20 pesan “Dimana pesanan saya?” per hari. Kebanyakan pelanggan tidak marah, mereka hanya tidak yakin arti scan terakhir.

Mereka menyiapkan dasbor pelacakan yang menarik pembaruan kurir sesuai jadwal dan menampilkan satu tampilan sederhana: apa yang bergerak normal, apa yang macet, dan apa yang perlu dilihat manusia.

Kemenangan terbesar datang dari satu aturan: tandai semua shipment tanpa pembaruan kurir selama 48 jam. Pesanan itu masuk ke queue “perhatian”, sementara yang lain tetap “dalam pengiriman” dan tidak mengganggu tim. Dukungan berhenti mengejar tiap pesanan dan fokus pada sedikit yang benar-benar berisiko.

Saat paket benar-benar terlambat, pelanggan mendapat satu pesan yang jelas dan bisa ditindaklanjuti. Pesan itu tidak mengulang tiap scan. Ia menjelaskan apa yang berubah, apa yang toko lakukan, dan apa yang harus pelanggan lakukan selanjutnya.

Contoh pesan keterlambatan:

“Pesanan Anda tidak bergerak selama 2 hari. Kami sedang menghubungi kurir sekarang. Jika Anda butuh segera, balas pesan ini dengan ‘URGENT’ dan kami akan menawarkan opsi.”

Setelah seminggu, perbedaannya jelas. Dasbor membuat terlihat mana order yang perlu tindakan (tidak ada scan, status pengecualian, masalah alamat) versus yang sekadar sedang dalam perjalanan. Dengan lebih sedikit pembaruan yang ambigu dan lebih sedikit pengecekan manual, tiket WISMO turun karena pelanggan sudah merasa mendapat informasi sebelum mereka bertanya.

Jika Anda membangun ini di AppMaster, Anda bisa memodelkan order dan shipment di Data Designer, menjadwalkan polling kurir, dan mengirim email atau SMS dari alur yang sama tanpa menempelkan beberapa alat terpisah.

Langkah berikutnya: buat versi sederhana, lalu kembangkan

Mulailah kecil dengan sengaja. Dasbor pelacakan mendapat kepercayaan saat akurat, konsisten, dan mudah didukung. Jalan tercepat adalah versi sempit yang bisa Anda amati selama satu atau dua minggu, lalu kembangkan.

Mulai dengan satu kurir, satu channel notifikasi, dan dua pesan pelanggan: “Sedang dalam pengantaran” dan “Terlambat.” Itu cukup untuk memastikan tarik pelacakan bekerja, pemetaan status stabil, dan pelanggan tidak bingung oleh timing.

Rilis pertama bisa sederhana:

  • Simpan order ID, nomor pelacakan, kurir, dan status terakhir yang diketahui
  • Tarik pembaruan pada jadwal tetap (mis. setiap 2–4 jam)
  • Kirim “Sedang dalam pengantaran” sekali per shipment
  • Kirim “Terlambat” hanya saat kurir memberi sinyal pengecualian atau melewatkan ETA
  • Catat setiap pesan yang dikirim (apa, kapan, dan mengapa)

Setelah dasar stabil, tambahkan komponen yang mencegah kejutan: penanganan pengecualian dan alert internal. Misalnya, jika pelacakan tidak update selama 48 jam, beri tahu tim Anda daripada mengirim pesan ke pelanggan. Jika kurir mengembalikan error, retry beberapa kali lalu tandai untuk ditinjau.

Jika Anda ingin membangun ini tanpa banyak koding, AppMaster (appmaster.io) adalah opsi praktis untuk memodelkan data, mengotomasi logika dalam visual workflow, dan mengirim notifikasi pengiriman pelanggan dari satu tempat. Ini juga memudahkan penyesuaian aturan nanti tanpa meninggalkan patch yang berantakan.

Sebelum Anda skala ke lebih banyak kurir dan tipe pesan, putuskan bagaimana Anda akan menjalankannya sehari-hari: memonitor pull yang gagal, meninjau log pesan, dan menghormati opt-out secara konsisten. Itu yang menjaga dasbor tetap berguna saat volume tumbuh.

FAQ

Will a shipment tracking dashboard actually reduce “Where is my order?” tickets?

Kebanyakan tim melihat penurunan terbesar ketika mereka berhenti melakukan pengecekan manual dan mulai mengirim beberapa pembaruan proaktif. Satu sumber kebenaran ditambah pesan “out for delivery”, “delayed”, dan “delivered” biasanya mengurangi banyak tiket WISMO.

What data should I store first to keep the dashboard useful?

Mulailah dengan record shipment, nomor pelacakan, nama kurir, status ter-normalisasi saat ini, dan tabel riwayat status. Tambahkan log notifikasi sejak awal supaya Anda bisa membuktikan apa yang dikirim, menghindari duplikat, dan menghormati opt-out secara konsisten.

How do I make carrier statuses readable instead of confusing?

Gunakan set kecil yang stabil seperti Label created, In transit, Out for delivery, Delivered, dan Exception. Peta kode event atau teks dari setiap kurir ke bucket itu, dan tampilkan teks mentah kurir hanya saat tim perlu melihat detail.

Should I use webhooks or polling to pull carrier updates?

Setup hybrid biasanya terbaik: webhooks bila kurir mendukungnya, ditambah polling terjadwal sebagai cadangan. Poll lebih sering untuk “out for delivery”, lebih jarang untuk “in transit”, dan berhenti setelah konfirmasi delivered.

How often should I refresh tracking updates?

Segarkan berdasarkan tahap pengiriman, bukan satu timer untuk semuanya. Default praktis: 1–2 kali per hari sebelum transit, setiap 4–8 jam selama transit, setiap 30–60 menit saat out for delivery, lalu berhenti setelah delivered.

How do I set notifications so they’re helpful and not spammy?

Beritahu pada perubahan status bermakna setelah normalisasi, bukan tiap scan. Default sederhana: “maksimal satu pembaruan proaktif per hari, plus konfirmasi delivered”, dengan pengecualian untuk masalah serius seperti masalah alamat atau pengembalian.

What’s a good rule for when something is ‘delayed’?

Definisikan “delayed” dengan ambang yang jelas, seperti “tidak ada scan baru selama 24–48 jam” dan/atau “melewati jendela tanggal pengiriman yang diharapkan”. Gunakan flag review internal untuk data yang hilang dan kirim pesan ke pelanggan hanya bila yakin ada perubahan.

How do I prevent duplicate texts or emails when my system retries?

Catat setiap pesan dengan shipment ID, channel, penerima, tipe pesan, timestamp, dan hasil provider. Gunakan kunci unik per shipment dan event (mis. shipment + status + event_time) sehingga retry tidak mengirim alert yang sama dua kali.

What should the dashboard screens include for support and ops?

Sediakan tampilan daftar cepat dengan filter untuk pengecualian, tidak ada pembaruan dalam X jam, out for delivery hari ini, dan delivered hari ini. Di detail shipment, tampilkan timeline bahasa-biasa berdampingan dengan riwayat kontak agar agen tidak mengirim pesan yang bertentangan.

Can I build this in AppMaster without heavy coding?

Ya—mulai dengan satu kurir, satu channel, dan dua pesan (“out for delivery” dan “delayed”) untuk membuktikan alur berjalan. Di AppMaster, Anda bisa memodelkan shipment dan event di Data Designer, menjalankan logika pembaruan di Business Process, dan menyimpan notifikasi serta log dalam satu aplikasi.

Mudah untuk memulai
Ciptakan sesuatu yang menakjubkan

Eksperimen dengan AppMaster dengan paket gratis.
Saat Anda siap, Anda dapat memilih langganan yang tepat.

Memulai
Dasbor pelacakan pengiriman untuk notifikasi pelanggan yang efektif | AppMaster