WooCommerce অর্ডার স্ট্যাটাস নোটিফিকেশন: কোন ইভেন্টগুলো স্বয়ংক্রিয় করতে হবে
“আমার অর্ডারটা কোথায়?” হলো ই-কমার্সে সবচেয়ে সাধারণ সাপোর্ট প্রশ্ন — এবং এটি সম্পূর্ণ প্রতিরোধযোগ্য। গ্রাহক জিজ্ঞাসা করছে তাড়াহুড়োর কারণে নয়; তারা জিজ্ঞাসা করছে কারণ কেউ তাদেরকে জানায়নি কি ঘটেছে। প্রতিটি অপ্রতিক্রিয়াশীল স্ট্যাটাস পরিবর্তন একটি টিকেটে পরিণত হয়, এবং প্রতিটি টিকেট সময়, টাকা এবং সদিচ্ছা নষ্ট করে।
ওয়াটসঅ্যাপ অর্ডার নোটিফিকেশন স্বয়ংক্রিয়ভাবে সেই লুপটি বন্ধ করে: WooCommerce-এ অর্ডারের স্থিতি পরিবর্তন হওয়ার মুহূর্তে, গ্রাহক আপডেট সহ একটি ওয়াটসঅ্যাপ বার্তা পায়। এই গাইডটি মানচিত্র তৈরি করে কোন ইভেন্টগুলিতে একটি বার্তা প্রয়োজন, কোনগুলিতে নয়, এবং নিশ্চিত করা কিভাবে যে প্রতিটি অর্ডার ঠিক একবারই নিশ্চিতকরণ পাঠায় — কোন ফাঁক নয়, কোন ডুপ্লিকেট নয়।
বার্তা মানচিত্র
| WooCommerce ইভেন্ট | কখন এটি কার্যকর হয় | WhatsApp টেমপ্লেট |
|---|---|---|
| অর্ডার পেইড / প্রক্রিয়াধীন | payment_complete, অথবা স্ট্যাটাস → প্রসেসিং | order_confirmation |
| অর্ডার সম্পন্ন | স্ট্যাটাস → সম্পন্ন | order_shipped (ট্র্যাকিং) |
| অর্ডার বাতিল হয়েছে | স্ট্যাটাস → বাতিল | order_cancelled |
| অর্ডার ফেরত দেওয়া হয়েছে | order_refunded | ফেরত নোটিশ |
| কার্ট পরিত্যক্ত | সেপারেট চেকআউট ইভেন্ট | cart_recovery ক্রম |
| হোল্ডে / পেমেন্ট ব্যর্থ | অবস্থা → স্থগিত / ব্যর্থ | order_on_hold / payment_failed |
এটাই হলো পূর্ণ সেট যা অধিকাংশ দোকানের প্রয়োজন। ছয়টি ইভেন্ট, ছয়টি টেম্পলেট, প্রতি ইভেন্টে একটি WhatsApp বার্তা — এবং প্রথম তিনটি মাত্রেই পুরোপুরি "আমার অর্ডার কোথায়?" টিকিটটি বাদ দেয়।
মানচিত্রের পেছনের হুকগুলো
WooCommerce প্রতিটি মুহূর্তের জন্য আলাদা হুক চালায়:
woocommerce_thankyou— অর্ডার-প্রাপ্ত পৃষ্ঠা প্রদর্শিত হয়। এখানে পেমেন্ট পদ্ধতির মাধ্যমে রুট করুন: COD অর্ডারগুলি তাদের নিশ্চিতকরণ ফ্লো পায়, প্রিপেইড অর্ডারগুলি পেমেন্ট ক্যাপচারের জন্য অপেক্ষা করে।woocommerce_payment_complete— একটি অনলাইন পেমেন্ট গ্রহণ করা হয়েছে। এটি প্রিপেড স্টোরের নিশ্চিতকরণের ট্রিগার।woocommerce_order_status_changed— চালু হয় যেকোনো স্ট্যাটাস পরিবর্তনের সময়, কাস্টম স্ট্যাটাসসহ। এটি প্রক্রিয়াকরণের, সম্পন্ন, বাতিল, স্থগিত এবং ব্যর্থ হওয়ার জন্য মূল কর্মী।woocommerce_order_status_completed— ট্র্যাকিং/শিপিং বিবরণ পাঠানোর মুহূর্ত।woocommerce_order_refunded— রিফান্ড প্রক্রিয়াকৃত হয়েছে; রিফান্ড বিজ্ঞপ্তি পাঠান।
একটি কানেক্টর যা কেবল এক বা দুটি ঘটনার দিকে মনোযোগ দেয়, তার মানে হল পুরো যাত্রার অর্ধেক নিঃশব্দ থাকবে। উপরের মানচিত্রে এগুলো সবই সংযুক্ত থাকতে হবে।
কী স্বয়ংক্রিয় করবেন না
একজন গ্রাহককে বিরক্ত করার সবচেয়ে দ্রুততম উপায় হল তাদের প্রতি অবস্থা পরিবর্তনের সময় বার্তা পাঠানো। এড়িয়ে যান:
- মুলতুবি — গ্রাহক এখনও পেমেন্ট করেনি; এখানে বার্তা পাঠানো হলো বিরক্তিকর
- চেকআউট-ড্রাফট — প্রগতি চলমান কার্টগুলো এখনও অর্ডার নয়
- অভ্যন্তরীণ স্থিতি — যা কিছু আপনার দল ব্যবহার করে এবং গ্রাহক কখনো দেখে না
সঠিক রূপটি হলো তিনটি মূল স্পর্শবিন্দু — অর্ডার করা → পাঠানো → ডেলিভারি সম্পন্ন — এছাড়াও বাতিলকরণ, ফেরত, এবং পুনরুদ্ধার/হোল্ডের ব্যতিক্রম। প্রতিটি অর্ডারে নয়টি বার্তাই হল কিভাবে আপনি অপ্ট-আউট অর্জন করেন।
COD স্টোর: প্রসেসিং হল আপনার নিশ্চিতকরণ
এখানে বিস্তারিত যা বেশিরভাগ গাইড ভুল করে: COD অর্ডার কখনো ফায়ার হয় না payment_complete — কোনো পেমেন্ট সম্পন্ন করতে হবে না। যদি আপনার ইন্টিগ্রেশন শুধুমাত্র সেই হুকটি শোনে, তবে এটি শান্তভাবে কোনো কাজ করে না প্রতিটি ক্যাশ-অন-ডেলিভারি অর্ডারের জন্য, যা ভারতের অধিকাংশ D2C স্টোরে অর্ডার বইয়ের ১৮–৩১%।
COD স্টোরগুলির জন্য, প্রসেসিং স্ট্যাটাস হল নিশ্চিতকরণের ইভেন্ট: অর্ডার গ্রহণ হয়েছে → গ্রাহক নিশ্চিতকরণ পায় (এবং আদর্শভাবে [COD নিশ্চিতকরণ প্লেবুক](/blog/cod-confirmation-whatsapp-cut-rto-fake-orders/) থেকে COD নিশ্চিতকরণ-থেকে-প্রেরণের চেক)। ম্যাপ প্রক্রিয়াকরণ → order_confirmation এবং আপনার COD অর্ডারও প্রিপেইড অর্ডারের মতো অভিজ্ঞতা পায়।
কাস্টম স্ট্যাটাস
woocommerce_order_status_changed প্রতিটি পরিবর্তনের জন্য ফায়ার, দোকান-নির্দিষ্ট কাস্টম স্থিতি সহ ("পিকআপের জন্য প্রস্তুত", "QC পাশ হয়েছে", "সরবরাহকারীর জন্য অপেক্ষমাণ")। সচেতনভাবে সিদ্ধান্ত নিন: প্রতিটি কাস্টম স্থিতি একটি মেসেজের সাথে মানচিত্রে আনবেন, অথবা স্পষ্টভাবে এড়িয়ে চলবেন — কোন দরকারী তথ্য ছাড়াই একটি সাধারণ "আপনার অর্ডারের স্থিতি পরিবর্তিত হয়েছে" মেসেজ হল শব্দবর্জ্য। প্রধান নিয়ম: মেসেজ পাঠান শুধুমাত্র যখন গ্রাহক তথ্যের মাধ্যমে কিছু করতে পারে।
অ্যাহোল্ড এবং পেমেন্ট-ফেলেড: ২৪/৭ আনলক
২৪-ঘন্টা কাস্টমার সার্ভিস উইন্ডোর মধ্যে, আপনি ফ্রি-ফর্ম মেসেজ পাঠাতে পারেন। এর বাইরে — যার মধ্যে বেশিরভাগ স্বয়ংক্রিয় স্ট্যাটাস আপডেট রয়েছে — প্রতিটি বার্তায় অনুমোদিত টেমপ্লেট ব্যবহার করতে হবে. যেসব দোকান শুধুমাত্র জমা দেয় order_confirmation তাদের অন-হোল্ড এবং পেমেন্ট ব্যর্থ বার্তাগুলি নিঃশব্দে জানালার বাইরে ফেলে দেওয়া হয়েছে।
সাবমিট order_on_hold এবং payment_failed ইউটিলিটি টেমপ্লেট হিসাবে এবং প্রতিটি স্থিতি পথ সারাবেলা কাজ করে:
- স্থগিত — "{{1}}, {{2}} নম্বর অর্ডারটি {{3}} কারণে স্থগিত রয়েছে। এখানে উত্তর দিন এবং আমরা এটি সমাধান করব।" (এটি বিক্রি বজায় রাখার মুহূর্তও)
- পেমেন্ট ব্যর্থ হয়েছে — "{{1}}, {{2}} নম্বর অর্ডারের (₹{{3}}) পেমেন্ট সম্পন্ন হয়নি। এখানে আবার চেষ্টা করুন: {{4}}"
প্রতিটি অর্ডারের জন্য ঠিক একটিমাত্র বার্তা
ডুপ্লিকেট নিশ্চিতকরণগুলোর প্রধানত ইন্টিগ্রেশন বাগ — একই অর্ডার দুবার কার্যকর হচ্ছে payment_complete এবং status_changed (প্রসেসিং), অথবা একটি ওয়েবহুক পুনঃডেলিভারি দ্বিতীয় বার বার্তা তৈরি করছে। সমাধান হলো ইভেন্ট স্তরে ডিডুপ্লিকেশন: প্রতিটি বার্তা একটি অনন্য ইভেন্ট আইডেন্টিফায়ারের সাথে সংযুক্ত (<order_id>.<event_type>), সুতরাং একটি পুনঃডেলিভার হওয়া ওয়েবহুক অথবা দুটি বারবার চালিত হুক কখনো দুইবার বার্তা পাঠাতে পারবে না। এটি পরীক্ষা করুন: একটি টেস্ট অর্ডার দিন এবং নিশ্চিত করুন ঠিক একটি নিশ্চিতকরণ আসে, একটি শিপিং আপডেট, একটি বাতিলকরণ।
নীরব ঘন্টা এবং টাইমজোন
স্ট্যাটাস আপডেটগুলি লেনদেনমূলক, কিন্তু এগুলো এখনো মেসেজ — একটি রাত ২টার "আপনার অর্ডার পাঠানো হয়েছে" মেসেজ ক্রেতার জন্য পরে পড়া ঠিক আছে, যেখানে একটি রাত ২টার কার্ট পুনরুদ্ধার বা অন-হোল্ড মেসেজ হয়তো হয়রানি হিসেবে ধরা হয়। যেখানে গুরুত্বপূর্ণ, সেখানে ক্রেতার স্থানীয় সময় অনুযায়ী পাঠান, এবং যে কোনো মেসেজের জন্য যেটি উত্তর প্রত্যাশা করে তার নীরব সময়ের প্রতি সম্মান জানান।
স্বয়ংক্রিয় করার জন্য প্রস্তুত?
দ্য টেক প্যাড পুরো WooCommerce মানচিত্র সংযোগ করে — অর্ডার ইভেন্ট → অনুমোদিত টেমপ্লেট → ডুপ্লিকেশন হ্রাস → নীরব সময় — একটি শেয়ারড ইনবক্সের সাথে যেখানে প্রতিটি উত্তর থাকে। আপনার প্রথম মাসটি বিনামূল্যে যখন আপনি শুরু করবেন →