Coexistence সাইনআপের পর "This authorization code has expired" ত্রুটি
Meta-র Embedded Signup শেষ হলে প্ল্যাটফর্ম একটি স্বল্পমেয়াদি কোড পায়, যা 30 সেকেন্ডের মধ্যে অ্যাক্সেস টোকেনের সঙ্গে বিনিময় করতে হয়। বিনিময় দেরিতে হলে, বা আগের কোনো প্রচেষ্টার কোড ব্যবহার করা হলে, Meta জানায় যে অথরাইজেশন কোডের মেয়াদ শেষ হয়ে গেছে। ফ্লো আবার চালালে নতুন কোড তৈরি হয়।
Embedded Signup যে এক্সচেঞ্জযোগ্য টোকেন কোড ফেরত দেয়, Meta তার জন্য যে মেয়াদ নির্ধারণ করে।
Meta বলে, টোকেন বিনিময় অবশ্যই সার্ভার থেকে সার্ভারে হওয়া রিকোয়েস্ট হতে হবে, ক্লায়েন্ট-সাইড থেকে নয়।
অনবোর্ডিংয়ের পর Coexistence নম্বরের হিস্ট্রি সিঙ্ক করার জন্য প্ল্যাটফর্ম যে সময় পায়, তার পরে ফ্লো আবার করতে হয়।
কোন কোডের মেয়াদ শেষ হয়েছে?
ব্যবসা Embedded Signup সম্পূর্ণ করলে Meta অ্যাসেট ID এবং একটি এক্সচেঞ্জযোগ্য টোকেন কোড সেই ব্রাউজার উইন্ডোতে ফেরত পাঠায়, যেটি পপআপ খুলেছিল। এরপর প্ল্যাটফর্ম কোডটি নিজের সার্ভারে পাঠায়। সার্ভার তার অ্যাপ ID ও অ্যাপ সিক্রেট দিয়ে Meta-র oauth access_token এন্ডপয়েন্টে কল করে কোডটিকে ব্যবসার টোকেনে বদলে নেয়।
Meta-র ইমপ্লিমেন্টেশন গাইড সময় নিয়ে স্পষ্ট: এক্সচেঞ্জযোগ্য টোকেন কোডের মেয়াদ 30 সেকেন্ড, তাই মেয়াদ শেষ হওয়ার আগেই প্ল্যাটফর্মকে বিনিময় করতে হবে। এর পরে করা বিনিময় প্রত্যাখ্যাত হয় এবং সেই প্রত্যাখ্যানই "This authorization code has expired" হিসেবে দেখা যায়। পপআপ ধীরে শেষ করায় ব্যবসার কোনো ভুল নেই; কোড ফেরত আসার মুহূর্ত থেকেই ঘড়ি চলতে শুরু করে।
পপআপ দেরিতে বা দুবার শেষ হলে কেন এটি ঘটে?
বিনিময় সীমার বাইরে চলে যাওয়ার কয়েকটি কারণ থাকতে পারে।
ফ্লো শেষ হওয়ার সময় ব্রাউজার ট্যাবটি ব্যাকগ্রাউন্ডে ছিল বা ল্যাপটপ স্লিপ মোডে চলে গিয়েছিল, ফলে কোড ইস্যু হওয়ার অনেক পরে প্ল্যাটফর্মের সার্ভারে পৌঁছেছে। অথবা সার্ভার সঙ্গে সঙ্গে বিনিময় না করে অন্য কাজের পেছনে সেটি সারিতে রেখেছে। কিংবা ব্যবহারকারী ফ্লো দুবার খুলে দুটোই শেষ করেছেন, আর প্ল্যাটফর্ম দ্বিতীয়টি সম্পূর্ণ হওয়ার পর প্রথম উইন্ডোর কোড বিনিময় করেছে।
টেস্টিংয়ে চতুর্থ একটি কারণ আছে: ব্রাউজার কনসোল থেকে কোড কপি করে cURL বা Postman দিয়ে হাতে বিনিময় করা। Meta-র গাইড ঠিক এ বিষয়েই সতর্ক করে এবং শুরু করার আগেই বিনিময়ের রিকোয়েস্ট তৈরি রাখতে বলে।
সংযোগ কীভাবে সম্পূর্ণ করবেন?
একটি উইন্ডোতে ফ্লো শুরু থেকে আবার চালান এবং প্ল্যাটফর্মের পেজ সামনে রেখে শেষ করতে দিন। প্রতিটি সম্পন্ন ফ্লো নতুন কোড দেয়, আর প্ল্যাটফর্মের দরকার শুধু সেই কোডের দ্রুত বিনিময়।
Coexistence নম্বরের ক্ষেত্রে দেরি করবেন না। ব্যবসা ফ্লো সম্পূর্ণ করলে Meta WhatsApp Business অ্যাকাউন্টটি রূপান্তর করে, এবং প্ল্যাটফর্ম গ্রাহককে অনবোর্ড করার পর মেসেজ হিস্ট্রি সিঙ্ক করতে পায় 24 ঘণ্টা। এর পরে ব্যবসাকে অফবোর্ড করে ফ্লো আবার সম্পূর্ণ করতে হয়।
প্ল্যাটফর্মের দিক থেকে স্থায়ী সমাধান হলো কোড পৌঁছানোর মুহূর্তেই, অন্য কোনো অনবোর্ডিং ধাপের আগে, সার্ভারে বিনিময় করা।
সাধারণ ভুলগুলো
- একই কোড দিয়ে টোকেন বিনিময় আবার চেষ্টা করা। 30 সেকেন্ড পরে কোডটি অকার্যকর হয়ে যায় এবং ফিরে আসে না।
- একসঙ্গে দুটি উইন্ডোতে সাইনআপ চালানো। যে প্রচেষ্টার কোড বিনিময় হচ্ছে, শুধু সেটিরই কোড কাজ করে।
- ব্রাউজার থেকে কোড বিনিময় করা। Meta অ্যাপ সিক্রেটসহ সার্ভার থেকে সার্ভারে রিকোয়েস্ট চায়।
Embedded Signup কোড ফেরত দেওয়ামাত্র EasyCoexistence নিজের সার্ভারে সেটি বিনিময় করে এবং প্রতিটি প্রচেষ্টা সংযোগের টাইমলাইনে রেকর্ড করে, তাই হারিয়ে যাওয়া কোড অস্পষ্ট ব্যর্থতার বদলে তারিখসহ একটি ইভেন্ট হিসেবে দেখা যায়।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
ব্যবসা কি নম্বরটি সংযুক্ত করতে পেরেছে?
ব্যবসা Meta-র ফ্লো সম্পূর্ণ করেছে, কিন্তু প্ল্যাটফর্ম কোডটিকে কার্যকর টোকেনে বদলাতে পারেনি, তাই নম্বরটিতে এখনো কোনো কাজ করতে পারছে না। ফ্লো আবার চালালে নতুন কোড পাওয়া যায়।
কোডের মেয়াদ কি বাড়ানো যায়?
না। 30 সেকেন্ডের মেয়াদ Meta ঠিক করে দেয়, কোনো প্ল্যাটফর্ম তা বাড়াতে পারে না।
WhatsApp Business অ্যাপ কি প্রভাবিত হয়?
না। সমস্যাটি সমাধানের সময় ফোনে অ্যাপটি স্বাভাবিকভাবেই চলতে থাকে।
এটি কি মেয়াদোত্তীর্ণ অ্যাক্সেস টোকেনের মতোই?
না। এটি স্বল্পমেয়াদি সাইনআপ কোড। চালু সংযোগে অ্যাক্সেস টোকেনের মেয়াদ শেষ হলে ত্রুটি 190 আসে।
আরও পড়ুন
শুরু করতে প্রস্তুত?
মাস নয়, কয়েক মিনিটেই WhatsApp Coexistence সেট আপ করুন। ফোনে অ্যাপটি কাজ করতে থাকে।
ফ্রি ট্রায়াল শুরু করুনযাচাই করা হয়েছে