কুরিয়ার ওয়েবহুক: পার্সেলের আপডেট সরাসরি পান
সাধারণভাবে কোনো পার্সেল বুক করার সময়ই তার স্ট্যাটাস একবার লেখা হয়, এরপর আর বদলায় না। ওয়েবহুক এটির সমাধান করে: পার্সেল যখনই নড়ে, কুরিয়ার সহজ দোকানে খবর পাঠায় — তাই অর্ডারের স্ট্যাটাস, তার জার্নি টাইমলাইন আর আপনার ড্যাশবোর্ডের কার্ড নিজে থেকেই হালনাগাদ থাকে।
ওয়েবহুক আপনার কী দেয়
- পার্সেলের আপডেট — সংগৃহীত, ট্রানজিটে, ডেলিভারির জন্য বের, ডেলিভারড, ফেরত এবং আরও — আপনি কিছু রিফ্রেশ না করলেও ড্যাশবোর্ডে দেখা যায়।
- প্রতিটি আপডেট অর্ডার পেজের জার্নি-তে লেখা হয়, কুরিয়ারের নামসহ স্পষ্টভাবে চিহ্নিত।
- আপনার ড্যাশবোর্ডের পার্সেল-স্ট্যাটাস কার্ড ও Orders তালিকার কুরিয়ার ও পার্সেল-স্ট্যাটাস ফিল্টার সঠিক থাকে।
URL আর সাইনিং সিক্রেট দুটি আলাদা মান
Pathao ও Carrybee-র জন্য কুরিয়ারকে দুটি আলাদা মান দিতে হয়, আর প্রতিটি তার নিজের ফিল্ডে যায়:
- Webhook URL — কলব্যাক ঠিকানা। এতে আপনার স্টোর ও একটি ছোট URL টোকেন থাকে, আর পার্সেল নড়লেই কুরিয়ার এই ঠিকানায় কল করে।
- সাইনিং সিক্রেট — একটি আলাদা মান, যা কুরিয়ার প্রতিটি কলে ফেরত পাঠায়, যাতে সহজ দোকান নিশ্চিত হতে পারে ইভেন্টটি সত্যিই কুরিয়ার থেকে এসেছে।
সাইনিং সিক্রেট URL-এর অংশ নয়। URL-টি কুরিয়ারের কলব্যাক/URL ফিল্ডে আর সিক্রেটটি তার সাইনিং/সিক্রেট ফিল্ডে পেস্ট করুন — ভুল মান ভুল বাক্সে দিলে ইভেন্ট প্রত্যাখ্যাত হয়।
Steadfast আলাদা: এর কোনো আলাদা সিক্রেট নেই। Steadfast URL-এর ভেতরে থাকা টোকেন দিয়েই প্রতিটি কল সাইন করে, তাই আপনাকে শুধু URL আর টোকেন দিতে হয়।
ধাপসমূহ
- প্রথমে কুরিয়ারটি কানেক্ট করে তার ক্রেডেনশিয়াল সেভ করুন — দেখুন কুরিয়ার কানেক্ট করুন।
- সাইডবার থেকে Delivery Settings খুলে Courier ট্যাবে যান — Integrations → Shipping-এর কুরিয়ার কার্ডগুলোও সরাসরি এখানেই নিয়ে আসে।
- যে কুরিয়ারটি চান (Steadfast, Pathao বা Carrybee) সেটি খুলে অ্যাকর্ডিয়নের ভেতরে তার Webhook অংশে যান।
- Receive webhook events টগলটি চালু করুন। নতুন স্টোরে এখানে No webhook token yet লেখা থাকে আর একটি Generate বাটন দেখা যায়; টগল চালু করলে, বা বাটন চাপলে, ক্রেডেনশিয়াল তৈরি হয়। প্রথমবার মানগুলো একসাথে একটি একবার-দেখানো প্যানেলে দেখা যায় — এখনই কপি করুন:
- Pathao / Carrybee: Webhook URL ও সাইনিং সিক্রেট,
- Steadfast: Webhook URL ও টোকেন।
- প্রস্তুত হলে অংশটিতে দেখা যাবে:
- Webhook URL — একটি শুধু-পড়ার (read-only) ঠিকানা, যাতে আপনার স্টোর ও URL টোকেন থাকে,
- Pathao / Carrybee-র ক্ষেত্রে সাইনিং সিক্রেট — ডটে ঢাকা, সাথে একটি Copy বাটন যা আসল সিক্রেট কপি করে; আর Steadfast-এর ক্ষেত্রে টোকেন — ডটে ঢাকা, সাথে একটি Copy বাটন,
- একটি last received event লাইন, সাথে Signature verified বা Signature not verified ব্যাজ, যা দেখে বোঝা যায় ইভেন্ট আসছে কি না আর সেগুলো যাচাই পেরিয়েছে কি না।
- কুরিয়ারের নিজের পোর্টালে মানগুলো পেস্ট করুন। প্রতিটি মান সেই ফিল্ডে দিন যেখানে কুরিয়ার সেটি চায়:
- Steadfast: URL ও টোকেন আপনার ওয়েবহুক সেটিংসে দিন। Steadfast URL-এর ভেতরের টোকেন দিয়ে প্রতিটি কল সাইন করে।
- Pathao: URL-টি Callback URL হিসেবে, আর সাইনিং সিক্রেটটি Webhook secret ফিল্ডে দিন। দুটি আলাদা মান।
- Carrybee: URL-টি কলব্যাক হিসেবে, আর সাইনিং সিক্রেটটি সিক্রেট ফিল্ডে দিন।
- একটি পার্সেল পাঠান, বা পরের নড়াচড়ার জন্য অপেক্ষা করুন। প্রথম ইভেন্ট এলে last received event লাইনটি ভরে যায় আর অর্ডারে পার্সেলের স্ট্যাটাস হালনাগাদ হয়।
লক্ষ্য করুন: Pathao ও Carrybee — দুটোই কানেকশন নিশ্চিত করতে একবার একটি “integration” ইভেন্ট পাঠায়। সহজ দোকান সেটির উত্তর স্বয়ংক্রিয়ভাবে দেয়, তাই হ্যান্ডশেক নিজে থেকেই সম্পন্ন হয় — আপনার কিছু করতে হবে না।
লক্ষ্য করুন: এই প্রথম ধাপে অগ্রাধিকার পাচ্ছে Pathao। Pathao-র পার্সেল আপডেট এখনই আসে, আর Steadfast ও Carrybee-র অর্ডার আপডেট আসবে পরের ধাপে — তাই ওই কুরিয়ার ব্যবহার করলে পার্সেল স্ট্যাটাস সঙ্গে সঙ্গে হালনাগাদ না-ও হতে পারে।
আগে কানেক্ট করে থাকলে
আগে URL টোকেনটিই সাইনিং সিক্রেট হিসেবে কাজ করত। এই পরিবর্তনের আগে তৈরি করা ইন্টিগ্রেশন হয়তো এখনো URL টোকেন দিয়েই সাইন করছে, আর কুরিয়ার অংশটিতে একটি সতর্কবার্তা দিয়ে তা জানানো হয়। আলাদা একটি সিক্রেটে যেতে:
- কুরিয়ারের Webhook অংশে Regenerate চাপুন।
- একবার-দেখানো প্যানেল থেকে নতুন URL ও সাইনিং সিক্রেট কপি করুন।
- দুটোই কুরিয়ারে পেস্ট করুন — URL-টি কলব্যাক ফিল্ডে আর সিক্রেটটি সাইনিং/সিক্রেট ফিল্ডে।
ততক্ষণ ওই ইন্টিগ্রেশন আগের মতোই চলবে, টোকেনটিকেই সাইনিং কী হিসেবে ব্যবহার করে।
কখন ক্রেডেনশিয়াল regenerate করবেন
URL, টোকেন বা সাইনিং সিক্রেট কখনো ফাঁস হয়ে গেলে — ভুলে শেয়ার হয়ে গেলে বা ভুল জায়গায় পেস্ট হয়ে গেলে — আপনি নিজেই নতুন নিতে পারেন।
- কুরিয়ারের Webhook অংশে Regenerate চাপুন।
- একটি নিশ্চিতকরণ ডায়ালগ খোলে। তাতে স্পষ্টভাবে সতর্ক করা থাকে: পুরোনো ক্রেডেনশিয়াল সঙ্গে সঙ্গে কাজ করা বন্ধ করে দেয়। URL-এ টোকেনটিই থাকে, তাই নতুন নিলে URL ও সাইনিং সিক্রেট দুটোই বদলায়। Steadfast-এর ক্ষেত্রে শুধু টোকেন (আর তার URL) বদলায়।
- নিশ্চিত করুন। নতুন মানগুলো একবার-দেখানো প্যানেলে দেখা যাবে — কপি করুন।
- কুরিয়ারের পোর্টালে পুরোনো মানগুলোর জায়গায় নতুনগুলো পেস্ট করুন: Pathao/Carrybee-র ক্ষেত্রে নতুন URL ও নতুন সাইনিং সিক্রেট (প্রতিটি নিজ নিজ ফিল্ডে); Steadfast-এর ক্ষেত্রে নতুন URL ও টোকেন। ততক্ষণ আসা ইভেন্ট প্রত্যাখ্যাত হয়।
লক্ষ্য করুন: সাইনিং সিক্রেট (আর টোকেন) পাসওয়ার্ডের মতো গোপন রাখুন — ইভেন্টটি সত্যিই কুরিয়ার থেকে এসেছে তা প্রমাণ করার চাবিই এটি, তাই কখনো শেয়ার বা প্রকাশ করবেন না। সিক্রেটেও টোকেনের মতোই বর্ণমালা (বড় হাতের অক্ষর ও সংখ্যা) থাকে এবং এতে কোনো escaping দরকার হয় না, তাই যেভাবে দেখানো হয়েছে ঠিক সেভাবেই পেস্ট করুন, বাড়তি স্পেস ছাড়া।
পরামর্শ
- প্রতিটি মান হুবহু যেভাবে দেখানো হয়েছে সেভাবেই পেস্ট করুন — বাড়তি একটি স্পেস থাকলেই কুরিয়ারের ইভেন্ট ব্যর্থ হয়।
- Pathao ও Carrybee-র ক্ষেত্রে URL আর সাইনিং সিক্রেট গুলিয়ে ফেলবেন না: URL কলব্যাক ফিল্ডে, সিক্রেট সাইনিং/সিক্রেট ফিল্ডে।
- Regenerate করার পর সঙ্গে সঙ্গেই কুরিয়ারে নতুন মান বদলে দিন। ততক্ষণ আসা ইভেন্ট প্রত্যাখ্যাত হয়।
- সেটআপের পর last received event লাইন ও তার Signature verified ব্যাজ খেয়াল করুন, এতে বুঝবেন ইভেন্ট ঠিকভাবে আসছে।
এরপর
এই আপডেটগুলো আপনার ড্যাশবোর্ড ও প্রতিটি অর্ডারে কীভাবে দেখায় তা জানুন — পার্সেল স্ট্যাটাস বুঝুন।
আরও সাহায্য দরকার?
আমাদের টিম আপনার পাশে আছে। যোগাযোগ করুন, আমরা সমাধান করে দেব।