মূল কনটেন্টে যান
SMSGELY — Naimur SMS BD

WordPress সাইট মালিকদের জন্য গাইড

আপনার WordPress সাইট থেকে SMS পাঠান

SMSGELY API দিয়ে WordPress ওয়েবসাইটে SMS নোটিফিকেশন যুক্ত করার সহজ, অ-প্রযুক্তিগত নির্দেশিকা: কী পাঠাবেন, কীভাবে নিরাপদে সেটআপ করবেন এবং কাজ করছে কি না কীভাবে যাচাই করবেন।

যা করতে পারবেন

WordPress সাইটের জন্য কাজের SMS

বেশিরভাগ সাইট এর এক-দুটি দিয়ে শুরু করে, পরে আরও যোগ করে।
  • কন্টাক্ট ফর্ম অ্যালার্ট

    কোনো ভিজিটর জিজ্ঞাসা জমা দিলে নিজের ফোনে SMS পান, যাতে দ্রুত কল ব্যাক করতে পারেন।
  • রেজিস্ট্রেশন নোটিস

    নতুন সদস্যদের স্বাগত জানান, অথবা কেউ কোনো কোর্স বা ইভেন্টে নিবন্ধন করলে স্টাফকে জানান।
  • ওয়ান-টাইম পাসওয়ার্ড

    অ্যাকাউন্ট বা বুকিং নিশ্চিত করার আগে ভিজিটরের ফোন নম্বর যাচাই করতে একটি ছোট কোড পাঠান।
  • বুকিং নিশ্চিতকরণ

    ক্লিনিক, সেলুন বা প্রশিক্ষণ কেন্দ্রের অ্যাপয়েন্টমেন্ট তারিখ ও সময়সহ নিশ্চিত করুন।

প্লাগইন সম্পর্কে: SMSGELY-এর একটি অফিশিয়াল WordPress প্লাগইন পরিকল্পনায় আছে, তবে এখনো পাওয়া যাচ্ছে না। বর্তমানে WordPress সাইটগুলো একটি ছোট PHP snippet দিয়ে SMS API-এর মাধ্যমে যুক্ত হয়, যা প্রকাশ করা আছে WordPress ডেভেলপার ডকুমেন্টেশনে। এই গাইড সেই snippet ঘিরে প্রয়োজনীয় ধাপগুলো ব্যাখ্যা করে।

ধাপে ধাপে সেটআপ

১. আপনার SMSGELY অ্যাকাউন্ট খুলুন

আপনার ব্যবসায়িক ইমেইল দিয়ে রেজিস্টার করুন এবং ইমেইলটি যাচাই করুন। এরপর সবকিছু ড্যাশবোর্ড থেকেই পরিচালনা করতে পারবেন।

২. ওয়ালেট টপ-আপ করুন

bKash বা Nagad-এর মাধ্যমে ব্যালান্স যোগ করুন। আমাদের টিম পেমেন্ট যাচাই করার পর ব্যালান্স আপনার ওয়ালেটে দেখা যাবে। রেট দেওয়া আছে মূল্য পাতায়।

৩. Sender বেছে নিন

মেসেজে আপনার ব্র্যান্ড নাম দেখাতে চাইলে Dashboard → Sender IDs থেকে একটি মাস্কিং Sender ID-এর অনুরোধ করুন। পাঠানো শুরুর আগে এটি অনুমোদিত হতে হবে, এবং সহায়ক কাগজপত্র চাওয়া হতে পারে। এখনই শুরু করতে চাইলে প্ল্যাটফর্মের নন-মাস্কিং Sender ব্যবহার করুন, যার জন্য কোনো অনুমোদন লাগে না; মেসেজের লেখায় আপনার সাইটের নাম রাখুন।

৪. শুধু sms:send scope দিয়ে একটি API key তৈরি করুন

Dashboard → Developer → API keys-এ যান, আপনার সাইটের নামে একটি key তৈরি করুন (যেমন “Website – contact form”) এবং শুধু sms:send টিক দিন। key-টি সঙ্গে সঙ্গে কপি করুন: এটি একবারই দেখানো হয়, পরে আর দেখা যায় না।

৫. key নিরাপদে রাখুন

কোনো ব্যক্তিগত মাধ্যমে key-টি আপনার ডেভেলপারকে দিন, অথবা নিজেই wp-config.php-তে “That’s all, stop editing!” লেখা লাইনের ওপরে যোগ করুন:

define( 'SMSGELY_API_KEY', 'smsgely_abcd1234ef_YOUR_SECRET' );

wp-config.php আপনার থিমের বাইরে থাকে, থিম বা প্লাগইন আপডেটে বদলে যায় না, এবং ভিজিটরদের কাছে দেখানো হয় না।

৬. snippet-টি সাইট-নির্দিষ্ট প্লাগইন হিসেবে যোগ করুন

WordPress ডেভেলপার ডকুমেন্টেশন থেকে snippet-টি একটি ছোট প্লাগইন ফাইলে কপি করুন (যেমন wp-content/plugins/smsgely-notify/smsgely-notify.php) এবং Plugins থেকে সেটি চালু (activate) করুন। functions.php-তে পেস্ট করা কোডের মতো নয়, সাইট-নির্দিষ্ট প্লাগইন থিম বদলালেও কাজ করে যায়। আপনার ডেভেলপার এটিকে আপনার ফর্ম প্লাগইন বা রেজিস্ট্রেশন hook-এর সাথে যুক্ত করবেন।

৭. নিজের নম্বর দিয়ে টেস্ট করুন

নিজের মোবাইল নম্বর দিয়ে ফর্মটি জমা দিন বা একটি টেস্ট অ্যাকাউন্ট রেজিস্টার করুন। কিছুক্ষণের মধ্যেই আপনার ফোনে SMS আসা উচিত। বাংলায় মেসেজ পাঠানোর পরিকল্পনা থাকলে একটি বাংলা মেসেজও পরীক্ষা করুন।

৮. ডেলিভারি রিপোর্ট দেখুন

ড্যাশবোর্ডে ডেলিভারি রিপোর্ট খুলে টেস্ট মেসেজটি খুঁজুন। স্ট্যাটাস delivered হলে বোঝা যাবে পুরো প্রক্রিয়া ঠিকমতো কাজ করছে। failed বা rejected দেখালে এরর থেকেই কারণ জানা যাবে, এবং এর জন্য আপনার কোনো চার্জ হয়নি।

নিরাপত্তা টিপস

  • API key কখনো থিম ফাইল, পেজ বিল্ডার, উইজেট বা JavaScript-এ পেস্ট করবেন না। পেজের সোর্সে থাকা যেকোনো কিছু ভিজিটররা পড়তে ও কপি করতে পারেন।
  • হোস্টের IP ঠিকানা স্থির হলে IP allowlist ব্যবহার করুন। key-তে আপনার সার্ভারের আউটগোয়িং IP যোগ করুন, যাতে key ফাঁস হলেও অন্য কোথাও থেকে ব্যবহার করা না যায়। নিশ্চিত না হলে আপনার হোস্টিং প্রোভাইডারকে জিজ্ঞেস করুন।
  • key ফাঁস হলে বদলে ফেলুন। কোনো স্ক্রিনশট, সাপোর্ট চ্যাট বা পাবলিক রিপোজিটরিতে key দেখা গেলে নতুন একটি key তৈরি করুন, wp-config.php হালনাগাদ করুন এবং পুরোনোটি বাতিল (revoke) করুন।
  • ফর্মকে অপব্যবহার থেকে রক্ষা করুন। যেসব পাবলিক ফর্ম থেকে SMS যায়, সেগুলোতে CAPTCHA বা rate limit ব্যবহার করুন, যাতে বট আপনার ব্যালান্স শেষ করে দিতে না পারে।
  • পুরো SMS API নিরাপত্তা চেকলিস্ট পড়ুন (ইংরেজিতে)।

সমস্যা সমাধান

যা দেখছেনসম্ভাব্য কারণ ও সমাধান
INVALID_API_KEYkey নেই, ভুল টাইপ হয়েছে বা বাতিল করা হয়েছে। wp-config.php-এর constant-টি দেখুন এবং বাড়তি কোনো স্পেস আছে কি না যাচাই করুন।
INVALID_SENDER বা MASKING_NOT_APPROVEDsnippet-এর Sender ID আপনার অ্যাকাউন্টের কোনো অনুমোদিত Sender-এর সাথে মিলছে না। Dashboard → Sender IDs দেখুন।
INSUFFICIENT_BALANCEআপনার ব্যবহারযোগ্য ব্যালান্স দিয়ে মেসেজের খরচ মেটানো যাচ্ছে না। ওয়ালেট টপ-আপ করে আবার চেষ্টা করুন।
INSUFFICIENT_SCOPE বা FORBIDDENkey-তে sms:send scope নেই, অথবা রিকোয়েস্টটি এমন IP ঠিকানা থেকে এসেছে যা key-এর allowlist-এ নেই।
INVALID_RECIPIENTফোন নম্বরটি বৈধ বাংলাদেশি মোবাইল নম্বর নয়। 01XXXXXXXXX বা +8801XXXXXXXXX ফরম্যাট ব্যবহার করুন।
বাংলা লেখা প্রশ্নবোধক চিহ্ন হয়ে আসছে, বা রিকোয়েস্ট ব্যর্থ হচ্ছেbody UTF-8 JSON হিসেবে পাঠানো হয়নি, বা বাংলা লেখা ভুলভাবে escape করা হয়েছে। wp_json_encode() দিয়ে body তৈরি করুন এবং Content-Type: application/json সেট করুন।
কিছুই ঘটছে নাসাইট-নির্দিষ্ট প্লাগইনটি চালু আছে কি না, এবং আপনার ডেভেলপার সেটিকে সঠিক ফর্ম ইভেন্টের সাথে যুক্ত করেছেন কি না দেখুন।

আরও কোড দেওয়া আছে এরর রেফারেন্সে। আটকে গেলে সাপোর্ট থেকে একটি টিকিট খুলুন।

সাধারণ জিজ্ঞাসা

WordPress SMS নিয়ে প্রশ্ন

SMSGELY-এর কি কোনো অফিশিয়াল WordPress প্লাগইন আছে?

এখনো নেই। একটি অফিশিয়াল প্লাগইন পরিকল্পনায় আছে। বর্তমানে একটি ছোট PHP snippet ব্যবহার করে SMSGELY REST API-এর মাধ্যমে WordPress যুক্ত করা হয়, যা আপনার ডেভেলপার কয়েক মিনিটেই একটি সাইট-নির্দিষ্ট প্লাগইন হিসেবে যোগ করতে পারেন।

WordPress যুক্ত করতে কি ডেভেলপার লাগবে?

থাকলে সুবিধা হয়। wp-config.php এডিট করা এবং SFTP বা হোস্টিংয়ের ফাইল ম্যানেজার দিয়ে একটি ছোট প্লাগইন ফাইল আপলোড করায় স্বচ্ছন্দ হলে, ধাপগুলো নিজেই অনুসরণ করতে পারবেন। না হলে এই পাতা ও ডেভেলপার ডকুমেন্টেশন আপনার ডেভেলপারকে দিন।

আমার WordPress সাইট কি বাংলায় SMS পাঠাতে পারবে?

হ্যাঁ। বাংলা লেখা Unicode হিসেবে পাঠানো হয়, যাতে একক SMS-এ ৭০টি অক্ষর এবং লম্বা মেসেজে প্রতি পার্টে ৬৭টি অক্ষর ধরে। নিশ্চিত করুন snippet-টি রিকোয়েস্ট body JSON হিসেবে পাঠায়, যাতে বাংলা লেখা সঠিকভাবে এনকোড হয়।

ওয়েবসাইটের API key-তে কোন scope থাকা উচিত?

শুধু sms:send। নোটিফিকেশন পাঠানো ওয়েবসাইটের কন্টাক্ট বা রিপোর্ট পড়ার দরকার নেই, তাই শুধু sms:send-এ সীমিত key কখনো ফাঁস হলেও ক্ষতি কম হয়।

ফর্ম দুবার জমা দিলে কি ভিজিটরের মেসেজ দুবার যাবে?

না, যদি আপনার snippet প্রতিটি ফর্ম এন্ট্রির জন্য আলাদা একটি Idempotency-Key হেডার পাঠায়। তখন ২৪ ঘণ্টার মধ্যে একই রিকোয়েস্ট আবার এলে SMSGELY সেটিকে একই মেসেজ হিসেবে ধরে এবং আবার পাঠায় না বা চার্জ করে না।

আপনার ওয়েবসাইট SMS-এর সাথে যুক্ত করুন

অ্যাকাউন্ট খুলুন, Sender ID-এর অনুরোধ করুন এবং একটি sms:send key তৈরি করুন। কোথাও আটকে গেলে আমাদের সাপোর্ট টিম সাহায্য করতে পারে।