Hantar kemas kini pesanan WhatsApp daripada WooCommerce
Cipta webhook WooCommerce untuk peristiwa pesanan yang menuju ke sebuah penerima, seperti aliran kerja n8n atau route PHP kecil. Penerima mengesahkan tandatangan WooCommerce, menyemak pelanggan bersetuju menerima mesej WhatsApp, dan menghantar template yang diluluskan melalui Cloud API dengan phone number id dan token bagi nombor yang disambungkan.
WooCommerce melumpuhkan webhook selepas lebih daripada lima kegagalan penghantaran berturut-turut.
Header yang membawa HMAC-SHA256 payload berkod base64, dihasilkan dengan secret webhook.
Di luar tetingkap khidmat pelanggan, hanya mesej template yang diluluskan lebih awal boleh dihantar.
Bagaimanakah pesanan WooCommerce mencetuskan mesej WhatsApp?
Melalui webhook WooCommerce dan sebuah penerima. Dalam WooCommerce, pergi ke Settings, Advanced, Webhooks, kemudian tambah webhook dengan topik pesanan, seperti order created atau order updated, URL penghantaran, dan secret. WooCommerce kemudian menghantar pesanan sebagai JSON ke URL itu setiap kali peristiwa berlaku.
Payload itu tetap, jadi ia tidak boleh ditujukan terus ke Cloud API. Sebuah penerima berada di antara keduanya: nod Webhook n8n, route dalam PHP kedai sendiri, atau mana-mana perkhidmatan kecil. Ia membaca pesanan, memilih nombor telefon pelanggan dan butiran yang diperlukan mesej, lalu membuat satu permintaan HTTPS ke endpoint mesej Cloud API bagi nombor yang disambungkan, dengan access token nombor itu sebagai bearer token.
Topik order.updated tidak terikat pada satu status, jadi penerima perlu membaca medan status pesanan dan menghantar sekali bagi setiap peralihan yang dipentingkan. Secara lalai WooCommerce menghantar di latar belakang melalui wp-cron, jadi mesej mungkin tiba selepas pesanan dengan sedikit kelewatan.
Bagaimanakah penerima tahu permintaan itu datang daripada kedai?
Daripada tandatangan WooCommerce. Setiap penghantaran membawa header X-WC-Webhook-Signature, iaitu HMAC-SHA256 berkod base64 bagi payload mentah yang dikira dengan secret yang anda tetapkan pada webhook. Penerima mengira hash yang sama ke atas badan yang diterimanya lalu membandingkan, dan menolak apa-apa yang tidak sepadan.
Ini ialah secret kedai sendiri, jadi tidak seperti tandatangan Meta pada mesej WhatsApp masuk, ia boleh disahkan. Bandingkan dalam masa tetap, dan hash badan mentah sebelum mana-mana framework mengurainya, kerana JSON yang dikodkan semula menghasilkan hash yang berbeza.
Balas dengan cepat menggunakan 2xx. WooCommerce menganggap sebarang respons yang bukan 2xx, 301 atau 302 sebagai kegagalan, dan selepas lebih daripada lima kegagalan berturut-turut ia melumpuhkan webhook. Penerima yang terhenti kerana deploy, atau perlahan kerana menunggu Meta sebelum menjawab, boleh mematikan mesej kedai tanpa disedari sesiapa.
Apakah yang boleh dihantar oleh kedai, dan bila?
Template yang diluluskan, setiap kali kedai yang memulakan mesej. Tetingkap khidmat pelanggan 24 jam Meta hanya dibuka apabila pelanggan menghantar mesej kepada nombor itu, jadi pengesahan pesanan atau kemas kini penghantaran dimulakan oleh perniagaan dan teks bebas ditolak. Cipta template utiliti bagi setiap kemas kini, tunggu kelulusan, dan hantar mengikut nama dan bahasa dengan nombor pesanan serta butiran lain sebagai parameter.
Meta juga mewajibkan opt-in: pelanggan memberikan nombornya dan bersetuju menerima khabar daripada perniagaan ini di WhatsApp. Kotak semak semasa pembayaran yang disimpan pada pesanan ialah rekod paling mudah, dan penerima perlu menyemaknya sebelum menghantar.
Sebaik sahaja pelanggan membalas, perbualan itu menjadi Coexistence biasa. Balasan muncul dalam aplikasi WhatsApp Business pada telefon kedai, tetingkap dibuka untuk teks bebas, dan pasukan menjawab daripada aplikasi seperti biasa.
Kesilapan biasa
- Membuat panggilan Cloud API sebelum menjawab WooCommerce. Penghantaran yang perlahan atau gagal dikira terhadap webhook, yang dilumpuhkan selepas lebih daripada lima kegagalan.
- Membuat hash ke atas JSON yang telah diurai dan bukannya badan mentah. Tandatangan tidak pernah sepadan dan setiap penghantaran yang sah ditolak.
- Menghantar pada setiap penghantaran order.updated. Topik itu tidak terikat pada satu status, jadi tanpa penjejakan peralihan yang sudah dimesejkan, pelanggan menerima mesej berganda.
Sambungkan nombor kedai di easycoexistence.com dan berikan penerima phone number id serta token daripada dashboard. Daripada US$ 9 sebulan bagi setiap nombor, jatuh kepada US$ 1 apabila anda menambah nombor, dengan 3 hari pertama percuma.
Soalan lazim
Adakah saya memerlukan plugin WordPress untuk ini?
Tidak. Webhook terbina dalam WooCommerce dan sebuah penerima sudah memadai, dan penerima itu boleh menjadi route dalam aplikasi PHP yang sama.
Siapakah yang membayar mesej pesanan?
Meta mengenakan bayaran pemesejan terus kepada perniagaan pada WhatsApp Business Account miliknya, dan EasyCoexistence tidak pernah menambah markup.
Bolehkah pasukan masih menggunakan telefon?
Boleh. Coexistence memastikan aplikasi WhatsApp Business terus berfungsi pada nombor kedai, dan template yang dihantar kedai kelihatan dalam perbualan.
Bagaimana jika webhook dilumpuhkan?
Baiki penerima, kemudian tetapkan semula status webhook kepada active dalam WooCommerce. Pesanan yang dicipta semasa ia dimatikan tidak mencetuskan mesej.
Teruskan membaca
Sedia untuk bermula?
Sediakan WhatsApp Coexistence dalam beberapa minit, bukan berbulan-bulan. Aplikasi terus berfungsi pada telefon.
Mulakan Percubaan PercumaDisahkan pada