স্টোর মালিকদের জন্য গাইড
SMS-এ WooCommerce অর্ডার নোটিফিকেশন
কোন অর্ডার নোটিফিকেশন পাঠাবেন
বাংলাদেশের গ্রাহকেরা প্রায়ই ক্যাশ অন ডেলিভারিতে অর্ডার করেন এবং কুরিয়ার ফোন করার আগেই নিশ্চিত হতে চান যে অর্ডারটি সত্যিই হয়েছে। সময়মতো কয়েকটি SMS “আমার অর্ডার কোথায়?” ধরনের কল এবং ব্যর্থ ডেলিভারি কমায়। এগুলো দিয়ে শুরু করুন:
- অর্ডার গ্রহণ / processing — অর্ডারটি আপনার কাছে পৌঁছেছে তা নিশ্চিত করে। পেমেন্ট পেলে বা COD অর্ডার দেওয়া হলে WooCommerce স্ট্যাটাস “Processing” করে।
- COD নিশ্চিতকরণ — কত টাকা দিতে হবে তা জানায়, ফলে গ্রাহক টাকা প্রস্তুত রাখেন এবং কম পার্সেল ফেরত আসে।
- পাঠানো হয়েছে (Shipped) — পার্সেল কুরিয়ারে দেওয়ার সময় পাঠানো হয়। WooCommerce-এ নিজস্ব কোনো “Shipped” স্ট্যাটাস নেই, তাই স্টোরগুলো সাধারণত একটি কাস্টম স্ট্যাটাস যোগ করে বা কোনো shipment-tracking এক্সটেনশন ব্যবহার করে; আপনার ডেভেলপার যেকোনোটির সাথে hook যুক্ত করতে পারেন।
- সম্পন্ন (Completed) — অর্ডার ডেলিভারি হয়েছে। ধন্যবাদ জানানোর ভালো সময়।
- বাতিল ও রিফান্ড — গ্রাহককে পরিষ্কারভাবে জানান, আর অপ্রত্যাশিত হলে যোগাযোগের জন্য একটি নম্বর দিন।
পার্ট সংখ্যাসহ নমুনা মেসেজ
নিচের প্রতিটি নমুনা একটি SMS পার্টে আঁটে। ইংরেজি লেখা GSM-7 ব্যবহার করে (প্রতি SMS-এ ১৬০ অক্ষর); বাংলা ব্যবহার করে Unicode (প্রতি SMS-এ ৭০ ইউনিট, লম্বা মেসেজে প্রতি পার্টে ৬৭)। গণনা করা হয়েছে “Rahim”/“রহিম” নাম ও অর্ডার #1042 ধরে; নাম লম্বা হলে দৈর্ঘ্যও বাড়বে।
| ঘটনা | ইংরেজি | বাংলা |
|---|---|---|
| অর্ডার গ্রহণ (processing) | Hi Rahim, we have received your order #1042. We will confirm it shortly. Thanks, ShopBD GSM-7 · ৮৭ অক্ষর · ১ পার্ট | রহিম, অর্ডার #1042 পেয়েছি। শীঘ্রই কনফার্ম করব। ShopBD Unicode · ৫৪ ইউনিট · ১ পার্ট |
| ক্যাশ অন ডেলিভারি নিশ্চিতকরণ | Hi Rahim, order #1042 is Cash on Delivery: BDT 1,250. Please keep the amount ready. ShopBD GSM-7 · ৯০ অক্ষর · ১ পার্ট | রহিম, অর্ডার #1042: ক্যাশ অন ডেলিভারি ১,২৫০ টাকা। ShopBD Unicode · ৫৬ ইউনিট · ১ পার্ট |
| পাঠানো হয়েছে (কুরিয়ারে হস্তান্তর) | Hi Rahim, your order #1042 has been shipped. Expected delivery in 2-3 days. ShopBD GSM-7 · ৮২ অক্ষর · ১ পার্ট | রহিম, অর্ডার #1042 কুরিয়ারে পাঠানো হয়েছে। ShopBD Unicode · ৫০ ইউনিট · ১ পার্ট |
| সম্পন্ন (ডেলিভারি হয়েছে) | Hi Rahim, your order #1042 has been delivered. Thank you for shopping with ShopBD! GSM-7 · ৮২ অক্ষর · ১ পার্ট | রহিম, অর্ডার #1042 ডেলিভারি হয়েছে। ধন্যবাদ! ShopBD Unicode · ৫১ ইউনিট · ১ পার্ট |
| বাতিল | Hi Rahim, your order #1042 has been cancelled. Questions? Call 09612345678. ShopBD GSM-7 · ৮২ অক্ষর · ১ পার্ট | রহিম, অর্ডার #1042 বাতিল করা হয়েছে। প্রশ্ন? কল 09612345678 Unicode · ৫৯ ইউনিট · ১ পার্ট |
| রিফান্ড | Hi Rahim, we have refunded BDT 1,250 for order #1042. ShopBD GSM-7 · ৬০ অক্ষর · ১ পার্ট | রহিম, অর্ডার #1042 এর ১,২৫০ টাকা রিফান্ড করা হয়েছে। ShopBD Unicode · ৫৯ ইউনিট · ১ পার্ট |
প্রথম মেসেজের একটি বেশি শব্দের বাংলা সংস্করণের সাথে তুলনা করুন: “প্রিয় রহিম, আপনার অর্ডার #1042 আমরা পেয়েছি। শীঘ্রই কনফার্ম করা হবে। ধন্যবাদ, ShopBD” — এটি ৮৫ ইউনিট এবং ২ পার্ট হিসেবে বিল হয়। মাসে শত শত অর্ডারে সংক্ষিপ্ত লেখা SMS খরচ উল্লেখযোগ্যভাবে কমায়। পার্ট কীভাবে গোনা হয় তা ব্যাখ্যা করা আছে SMS গাইডে।
ভেরিয়েবলসহ টেমপ্লেট ব্যবহার করুন
প্রতিটি মেসেজ একবার টেমপ্লেট হিসেবে লিখুন, বাকি তথ্য সিস্টেম নিজেই বসিয়ে দেবে। SMSGELY টেমপ্লেট {{name}}, {{mobile}}, {{company}} ও {{order_id}}-এর মতো ভেরিয়েবল সমর্থন করে। WooCommerce-এ পাঠানোর আগে আপনার ডেভেলপার এগুলোর জায়গায় গ্রাহকের নামের প্রথম অংশ ও অর্ডার নম্বর বসিয়ে দেন:
Hi {{name}}, your order #{{order_id}} has been shipped. Expected delivery in 2-3 days. ShopBD
{{name}}, অর্ডার #{{order_id}} কুরিয়ারে পাঠানো হয়েছে। ShopBDভেরিয়েবল বসানোর পরে দৈর্ঘ্য গোনা হয়, তাই লম্বা নাম ও অর্ডার নম্বরের জন্য কিছুটা জায়গা রাখুন।
ধাপে ধাপে সেটআপ
- SMSGELY-এ অ্যাকাউন্ট খুলুন এবং ইমেইল যাচাই করুন।
- bKash বা Nagad-এ ওয়ালেট টপ-আপ করুন। দেখুন মূল্য।
- Sender বেছে নিন। Dashboard → Sender IDs থেকে আপনার শপের নামে একটি মাস্কিং Sender ID-এর অনুরোধ করুন (অনুমোদন প্রয়োজন), অথবা নন-মাস্কিং SMS দিয়ে শুরু করুন এবং লেখায় শপের নাম রাখুন।
- Dashboard → Developer → API keys থেকে শুধু
sms:sendscope দিয়ে একটি API key তৈরি করুন। এটি একবারই দেখানো হয়, তাই সঙ্গে সঙ্গে কপি করুন। - key-টি wp-config.php-তে রাখুন
define( 'SMSGELY_API_KEY', '…' );হিসেবে — কখনো থিম বা পেজ বিল্ডারে নয়। - WooCommerce ডেভেলপার ডকুমেন্টেশন থেকে অর্ডার-স্ট্যাটাস snippet একটি সাইট-নির্দিষ্ট প্লাগইন হিসেবে যোগ করুন। এটি
woocommerce_order_status_changedhook লক্ষ করে এবং প্রতিটি স্ট্যাটাসের জন্য সঠিক মেসেজ পাঠায়। - নিজের ফোন নম্বর দিয়ে একটি টেস্ট অর্ডার দিন এবং WooCommerce অ্যাডমিন থেকে অর্ডারটিকে প্রতিটি স্ট্যাটাসের মধ্য দিয়ে নিন।
- প্রতিটি মেসেজ ডেলিভারি হয়েছে কি না নিশ্চিত হতে ড্যাশবোর্ডে ডেলিভারি রিপোর্ট দেখুন।
ডুপ্লিকেট মেসেজ এড়িয়ে চলুন
অর্ডারের স্ট্যাটাস কখনো কখনো দুবার সেভ হয়: অ্যাডমিন আবার Update চাপেন, পেমেন্ট গেটওয়ে দ্বিতীয়বার callback পাঠায়, বা টাইমআউটের পর রিকোয়েস্ট আবার চেষ্টা করা হয়। প্রতিটি স্ট্যাটাস বদলের জন্য গ্রাহক যেন একটিই মেসেজ পান, তাই snippet অর্ডার ও স্ট্যাটাস মিলিয়ে একটি Idempotency-Key হেডার পাঠায়, যেমন wc-1042-completed। ২৪ ঘণ্টার মধ্যে একই key ও body আবার এলে SMSGELY প্রথমবারের ফলাফল ফেরত দেয় এবং দ্বিতীয় কোনো SMS পাঠায় না বা চার্জ করে না। আরও জানুন API রেফারেন্সে।
সম্মতি ও অপ্ট-আউট
চেকআউটে যাঁরা ফোন নম্বর দেন, তাঁরা সেই অর্ডারের আপডেট আশা করেন, তাই লেনদেন-সংক্রান্ত SMS সাধারণত তাঁরা স্বাগত জানান। প্রোমোশন আলাদা বিষয়: চেকআউটে “অফার SMS-এ পাঠান”-এর মতো একটি স্পষ্ট, আগে থেকে টিক না দেওয়া চেকবক্স যোগ করুন, যাঁরা রাজি হয়েছেন শুধু তাঁদেরই প্রোমোশন পাঠান, এবং প্রতিটি প্রোমোশনাল মেসেজে অপ্ট-আউটের নির্দেশনা দিন। কেউ বন্ধ করতে বললে দ্রুত নম্বরটি সরিয়ে দিন, এবং আমাদের SMS নীতি মেনে চলুন।
খরচ বাঁচাতে মেসেজ ছোট রাখুন
- এক পার্টের লক্ষ্য রাখুন: ইংরেজিতে ১৬০ অক্ষর, বাংলায় ৭০।
- লম্বা সম্ভাষণ বাদ দিন; অর্ডার নম্বর ও স্ট্যাটাসই সবচেয়ে জরুরি।
- ইংরেজি মেসেজে ইমোজি ও বাঁকা কোটেশন এড়িয়ে চলুন; এগুলো পুরো মেসেজকে Unicode বানিয়ে দেয়।
- শুধু গ্রাহকের কাজে লাগে এমন স্ট্যাটাসের SMS পাঠান; প্রতিটি অভ্যন্তরীণ ধাপের জন্য SMS দরকার নেই।
ডেলিভারি রিপোর্ট দেখুন
প্রতি সপ্তাহে ডেলিভারি রিপোর্ট দেখুন। স্ট্যাটাস দিয়ে ফিল্টার করে ব্যর্থ নম্বরগুলো খুঁজুন — যা প্রায়ই চেকআউটে টাইপের ভুল নির্দেশ করে — আর Sender দিয়ে ফিল্টার করে নিশ্চিত হোন আপনার মাস্কিং ID কাজ করছে। নেটওয়ার্ক গ্রহণ করার আগেই যেসব মেসেজ ব্যর্থ বা প্রত্যাখ্যাত হয়, সেগুলোর চার্জ হয় না।
সাধারণ জিজ্ঞাসা
WooCommerce SMS নিয়ে প্রশ্ন
SMSGELY-এর কি কোনো অফিশিয়াল WooCommerce প্লাগইন আছে?
এখনো নেই; একটি অফিশিয়াল প্লাগইন পরিকল্পনায় আছে। বর্তমানে স্টোরগুলো একটি ছোট PHP snippet দিয়ে SMSGELY REST API-এর মাধ্যমে যুক্ত হয়, যা WooCommerce অর্ডারের স্ট্যাটাস বদল লক্ষ করে। কোডটি আছে WooCommerce ডেভেলপার ডকুমেন্টেশনে।
অর্ডারের স্ট্যাটাস দুবার সেভ হলে কি গ্রাহক দুটি মেসেজ পাবেন?
না, যদি snippet অর্ডার ID ও নতুন স্ট্যাটাস মিলিয়ে একটি Idempotency-Key পাঠায়, যেমন wc-1042-completed। ২৪ ঘণ্টার মধ্যে একই key দিয়ে রিকোয়েস্ট আবার এলে প্রথমবারের ফলাফলই ফেরত আসে, দ্বিতীয় কোনো SMS পাঠানো বা চার্জ হয় না।
অর্ডার SMS বাংলায় পাঠাব, না ইংরেজিতে?
আপনার গ্রাহকেরা যে ভাষা পছন্দ করেন, সেটি ব্যবহার করুন। বাংলা মেসেজ Unicode, এক SMS-এ ৭০ অক্ষর ধরে (লম্বা হলে প্রতি পার্টে ৬৭), আর ইংরেজিতে ধরে ১৬০ (প্রতি পার্টে ১৫৩)। এই পাতার নমুনাগুলোর মতো ছোট বাংলা মেসেজ এক পার্টেই আঁটে।
ব্যর্থ হওয়া অর্ডার SMS-এর জন্য কি চার্জ হয়?
না। মেসেজ কিউতে যাওয়ার সময় খরচ রিজার্ভ হয়, আর প্রোভাইডার গ্রহণ করলে তবেই চার্জ হয়। নেটওয়ার্ক গ্রহণ করার আগেই যেসব মেসেজ ব্যর্থ বা প্রত্যাখ্যাত হয়, সেগুলোর চার্জ হয় না এবং রিজার্ভ ছেড়ে দেওয়া হয়।
আমার WooCommerce গ্রাহকদের কি প্রোমোশনাল অফার পাঠাতে পারি?
শুধু সেই গ্রাহকদের, যাঁরা অফার পেতে সম্মতি দিয়েছেন। অর্ডার আপডেট লেনদেন-সংক্রান্ত মেসেজ, কিন্তু প্রোমোশনের জন্য সম্মতি লাগে, এবং প্রতিটি প্রোমোশনাল SMS-এ কীভাবে অপ্ট-আউট করা যায় তা জানাতে হবে। কেউ বন্ধ করতে বললে তাঁকে তালিকা থেকে সরিয়ে দিন।
অর্ডার আপডেট পাঠানো শুরু করুন
অ্যাকাউন্ট খুলুন, আপনার শপের জন্য Sender ID-এর অনুরোধ করুন এবং সীমিত scope-এর API key দিয়ে WooCommerce যুক্ত করুন।