ওয়ার্ডপ্রেসে ডিফল্ট ভাবে রেস্ট এপিআই এনাবল করা থাকে। আমরা চাইলে একটা ওয়ার্ডপ্রেস ওয়েব সাইটের সব গুলো অপারেশন REST API এর মাধ্যমে করতে পারি। যেমন পোস্ট দেখা, নতুন পোস্ট তৈরি, পোস্ট আপডেট পোস্ট ডিলিট ইত্যাদি। একটা সাইটের মোবাইল অ্যাপও তৈরি করতে পারি এই রেস্ট এপিআই ব্যবহার করে। আবার যারা ওয়ার্ডপ্রেস পারি, আর্টিকেল বা কন্টেন্ট বেইজড কোন অ্যাপের জন্য ওয়ার্ডপ্রেসকে ব্যাকেন্ড হিসেবে ব্যবহার করতে পারি।
নিজ কম্পিউটারে সহজে ওয়ার্ডপ্রেস ইন্সটল করা এবং টেস্ট করার জন্য দারুণ একটা সফটওয়ার হচ্ছে Local। ব্যবহার করাও খুব সহজ। ট্রাই করতে পারেন চাইলে।
ওয়ার্ডপ্রেসের সব গুলো এপিআই এন্ডপয়েন্ট পাওয়া যাবে অফিশিয়াল REST API Handbook এর রেফারেন্স সেকশনে। একই ভাবে একটা ওয়ার্ডপ্রেস ওয়েব সাইটের সকল API রুট ঐ সাইটে /wp-json/wp/v2 রুটে গেলে পাওয়া যাবে।
API রেফারেন্সে /wp-json অংশটা উল্লেখ নেই যদিও। যেমন রিসেন্ট পোস্ট গুলো পাওয়ার রুট হ্যান্ডবুকে আছে /wp/v2/posts। আমাদের /wp-json অংশটা যোগ করতে হবে। ওয়েব সাইট এড্রেস example.com হলে রিসেন্ট পোস্টের এপিআই রুট হবে example.com/wp-json/wp/v2/posts
।
অথেনটিকেশন
ডিফল্ট ভাবে আমরা পাবলিক ডেটা এক্সেস করতে পারব। যেমন পোস্ট, ক্যাটেগরি ইত্যাদি। কিছু রুট এক্সেস করতে হলে অথেনটিকেশনের দরকার হবে। ওয়ার্ডপ্রেসে এই অথেনটিকেশন করা যায় Application Passwords এর মাধ্যমে। যেমন এপ্লিকেশন পাসওয়ার্ড তৈরি করা যাবে ওয়ার্ডপ্রেস ড্যাসবোর্ড থেকে। ওয়ার্ডপ্রেস এডমিন > Users > All Users এ গিয়ে এডমিন ইউজার এডিট করোলে নিচের দিকে এপ্লিকেশন পাসওয়ার্ড তৈরির অপশন পাবো। এখানে এই পাসওয়ার্ডের একটা নাম দেওয়ার পর আমাদের একটা পাসওয়ার্ড তৈরি করে দিবে।
এই পাসওয়ার্ডটা একবারই দেখা যাবে। তাই পবর্তীতে ব্যবহারের জন্য সিকিউর কোথাও সেভ করে রাখলে ভালো হবে।
এই পাসওয়ার্ড ডিলিট করা যাবে। নতুন পাসওয়ার্ড তৈরি করে নেওয়া যাবে।
ওয়ার্ডপ্রেসের এপিআই হ্যান্ডবুকে যদি আমরা দেখি, তাহলে দেখব একটা সাইটের প্লাগিন লিস্ট পাওয়া যাবে /wp/v2/plugins রুটে।
এখন আমরা যদি http://example.com/wp-json/wp/v2/plugins এ রিকোয়েস্ট করি, তাহলে নিচের মত করে এরর দেখাবে। রেস্ট এপিআই টেস্ট করার জন্য অনেক টুল রয়েছে। আমি ব্যবহার করছি পোস্টম্যান। বিস্তারিত জানা যাবে রেস্ট এপিআই টেস্ট করার জন্য পোস্টম্যান লেখাতে।
এখন যদি একই রিকোয়েস্ট আমরা উপরে তৈরি করা এপ্লিকেশন পাসওয়ার্ড ব্যবহার করে করি, তাহলে প্লাগিন লিস্ট দেখতে পাবো।
তার জন্য Postman বা নিজ পছন্দের এপিআই টেস্ট সফটওয়ারের Authentication প্যারামিটার থেকে অথেনটিকেশন টাইপ হিসেবে Basic Auth সিলেক্ট করতে হবে। এবং username হিসেবে দিতে হবে এডমিন ইউজার নেম। এবং পাসওয়ার্ডের যায়গায় উপরের স্টেপে তৈরি করা এপ্লিকেশন পাসওয়ার্ড। এরপর রিকোয়েস্ট করলে আমাদের প্লাগিন লিস্ট দেখাবেঃ
ওয়ার্ডপ্রেস রেস্ট এপিআই ব্যবহার করে নতুন পোস্ট তৈরি
রেস্ট এপিআই ব্যবহার করে কিভাবে একটা পোস্ট পাবলিশ করা যায় তা দেখি। প্রথমে রিকোয়েস্ট টাইপ সেট করতে হবে। রিকোয়েস্ট টাইপ হবে POST। রুট হবে http://example.com/wp-json/wp/v2/post
s। এরপর অথোরাইজেশন থেকে উপরের মত করে username এবং password সেট করতে হবে। পোস্ট কন্টেন্ট পাস করতে হবে রিকোয়েস্ট Body ট্যাব থেকে। raw ভ্যালু হিসেবে নিচের মত করে একটা টেস্ট পোস্ট তৈরির জন্য রিকোয়েস্ট করিঃ
{
"title" : "This will be your post title",
"content" : "<p>This will be content of the post. </p>",
"status" : "publish"
}
দেখব পোস্ট তৈরি হয়েছে। উপরের প্যারামিটার গুলো ছাড়াও অন্যান্য প্যারামিটার পাস করা যাবে। সব গুলো প্যারামিটারের লিস্ট পাওয়া যাবে এখানে।
ওয়ার্ডপ্রেসের API লিমিটেড। সুবিধা হচ্ছে নিজের মত করে API এন্ডপয়েন্ট তৈরি করা যায়। তার জন্য ওয়ার্ডপ্রেস কোডিং জানতে হবে।