Notifikasi pesanan Shopify yang sampai ke ponsel dalam hitungan detik

Kirim webhook Shopify langsung ke ponsel: push senyap untuk tiap pesanan, lebih nyaring untuk keranjang besar, dan panggilan ketika pengembalian dana atau pembatalan membutuhkan Anda.

Diperbarui

Daftar Isi

Email pesanan bawaan Shopify tiba kapan pun aplikasi surel Anda memutuskan menyinkron, mendarat di folder yang sudah Anda filter, dan terlihat sama saja entah pesanannya Rp 200 ribu atau Rp 20 juta. Kalau toko itu Anda sendiri yang jalankan, bentuk sinyalnya salah.

Webhook memperbaikinya. Shopify akan mem-POST setiap pesanan ke URL pilihan Anda, dan Echobell mengubah POST itu jadi notifikasi yang kerasnya Anda tentukan.

Pilih topic yang pantas menginterupsi Anda

Shopify menyebut jenis peristiwa webhook sebagai topic. Empat ini menutup kebutuhan sebagian besar toko yang dijalankan satu orang:

TopicArtinyaUrgensi
orders/createAda pesanan masuk.Biasa
orders/paidPembayaran lolos. Pakai ini kalau yang Anda pedulikan hanya uang yang benar-benar masuk.Biasa
orders/cancelledPelanggan membatalkan. Layak diketahui sebelum Anda mengemas.Sensitif waktu
refunds/createPengembalian dana diterbitkan.Sensitif waktu

Berlanggananlah ke orders/create atau orders/paid, bukan keduanya, kecuali Anda memang ingin dua notifikasi per penjualan. Untuk kebanyakan toko, orders/paid yang jujur.

Langkah 1 — Buat kanalnya

Buat kanal di Echobell bernama semisal "Pesanan Shopify", salin URL webhook-nya, dan nyalakan Hanya POST. Shopify selalu mengirim lewat POST.

Kalau Anda mau kanal terpisah yang lebih nyaring untuk pembatalan dan pengembalian dana, buat sekalian sekarang dan setel ke sensitif waktu.

Langkah 2 — Tambahkan webhook di Shopify

Di admin Shopify, buka Pengaturan → Notifikasi → Webhook → Buat webhook. Pilih topic-nya, setel format ke JSON, lalu tempel URL kanal Anda.

Shopify mengirim payload uji saat Anda menyimpan. Kalau ponsel bergetar, jalurnya berfungsi.

Langkah 3 — Templatkan hanya field yang benar-benar Anda baca

Payload pesanan Shopify itu panjang — lebih dari seratus field per pesanan. Anda hanya butuh beberapa:

Judul

Pesanan baru #{{order_number}} · {{total_price}} {{currency}}

Isi

{{customer.first_name}} {{customer.last_name}}
{{line_items[0].title}}

line_items adalah array, jadi line_items[0] adalah barang pertama. Templat Echobell mendukung akses indeks, tetapi tidak ada perulangan: pesanan berisi tiga barang hanya menampilkan yang pertama. Kalau itu penting, taruh jumlahnya di sebelahnya:

{{line_items[0].title}} · total {{line_items.length}} barang

Berbeda dari Stripe, Shopify mengirim total_price sebagai string desimal — "49.00", bukan 4900 — jadi terbaca benar tanpa hitungan apa pun.

Langkah 4 — Rutekan per topic dengan kondisi

Kalau Anda mengarahkan beberapa topic ke satu kanal, Shopify memberi tahu yang mana lewat sebuah header:

header["x-shopify-topic"] == "orders/paid"

Itu cara terbersih memisahkan perilaku tanpa membuat satu webhook per kanal di admin.

Bangunkan saya hanya untuk pesanan besar

Pola yang sebenarnya diinginkan hampir semua pemilik toko: semua pesanan masuk ke kanal senyap, dan hanya yang di atas ambang tertentu masuk ke kanal nyaring.

Buat kanal kedua, setel ke sensitif waktu, arahkan satu webhook orders/paid lagi ke sana, lalu beri kondisi:

total_price > 500

Sekarang hari biasa jadi dengung latar, dan pesanan senilai 900 € jadi sesuatu yang Anda rasakan.

Yang tidak dilakukan susunan ini

Tanpa verifikasi HMAC. Shopify menandatangani setiap webhook dengan header X-Shopify-Hmac-Sha256. Echobell tidak memverifikasinya, jadi URL kanal Anda satu-satunya yang menahan orang asing di luar. Rahasiakan, biarkan Hanya POST menyala, dan bila notifikasi pesanan palsu bisa menimbulkan kerugian nyata, taruh endpoint Anda sendiri di depan untuk memverifikasi HMAC lalu biarkan dia memanggil Echobell.

Shopify bisa mengirim webhook yang sama dua kali. Ia mencoba ulang saat gagal, dan percobaan ulang tidak dideduplikasi. Perlakukan notifikasi sebagai dorongan untuk melihat pesanannya, bukan sebagai hitungan pesanan. Admin Shopify Anda adalah sumber kebenaran.

Topic inventaris cepat sekali jadi berisik. inventory_levels/update menyala pada setiap pergerakan stok, termasuk suntingan Anda sendiri. Kalau mau peringatan stok menipis, saring dengan ketat atau Anda akan menyesal sebelum makan siang.

Pertanyaan umum

Apakah saya perlu aplikasi Shopify untuk ini?

Tidak. Webhook di Pengaturan → Notifikasi sudah tertanam di admin dan tidak butuh aplikasi, akun partner, maupun kode.

Bisakah gudang melihat pesanan tanpa melihat admin Shopify saya?

Bisa. Bagikan kanalnya kepada mereka. Mereka menerima notifikasi dan tidak lebih — tanpa akses admin dan tanpa data pelanggan di luar yang templat Anda sertakan.

Perlukah saya memasukkan nama pelanggan ke notifikasi?

Itu keputusan Anda, dan layak diambil dengan sadar. Apa pun yang ada di templat akan muncul di layar terkunci. Nomor pesanan dan totalnya biasanya sudah cukup untuk bertindak.

Bisakah saya ditelepon saat ada chargeback?

Sengketa Shopify Payments datang lewat topic disputes/create di toko yang memakai Shopify Payments. Arahkan itu ke kanal panggilan — itulah satu-satunya peristiwa pesanan yang punya tenggat.

Penutup

Satu webhook, satu templat, dan satu kondisi kalau Anda mau versi nyaringnya. Butuh sekitar lima menit dan menggantikan kebiasaan menyegarkan halaman pesanan.

Unduh Echobell untuk iPhone atau ambil di Google Play, lalu buat satu pesanan uji dan lihat ia tiba sebelum email konfirmasi.


Konten terkait