Drupal REST API কী এবং এর ব্যবহার

Drupal এর RESTful API এবং Headless Drupal - ড্রুপাল (Drupal) - Web Development

277

ড্রুপাল (Drupal) একটি শক্তিশালী কনটেন্ট ম্যানেজমেন্ট সিস্টেম (CMS) যা REST API (Representational State Transfer Application Programming Interface) সাপোর্ট করে। এটি ড্রুপাল সাইটের ডেটা অ্যাক্সেস এবং ইন্টারঅ্যাকশন করার একটি মাধ্যম হিসেবে কাজ করে। REST API ড্রুপাল সাইটের ডেটাকে এক্সটার্নাল অ্যাপ্লিকেশন, ওয়েবসাইট, বা মোবাইল অ্যাপ্লিকেশন দ্বারা সহজেই অ্যাক্সেস করা সম্ভব করে।

ড্রুপালের REST API ব্যবহার করে আপনি সাইটের কন্টেন্ট, ইউজার ডেটা, ব্লক এবং অন্যান্য ডেটা এক্সটার্নাল সিস্টেমের সাথে শেয়ার করতে পারেন, যা ডিজিটাল ইকোসিস্টেমের মধ্যে ইন্টিগ্রেশন সহজ করে।


১. Drupal REST API কি?

ড্রুপাল REST API হলো একটি ওয়েব সার্ভিস ইন্টারফেস যা ড্রুপাল সাইটের ডেটা এবং কন্টেন্ট অ্যাক্সেস করার জন্য HTTP রিকোয়েস্ট ব্যবহার করে। এর মাধ্যমে আপনি ড্রুপাল সাইটের ডেটাকে JSON ফরম্যাটে ফেচ করতে পারেন এবং বাইরে থাকা অ্যাপ্লিকেশন বা সিস্টেমের সাথে সহজে ইন্টিগ্রেট করতে পারেন।

REST API ড্রুপাল সাইটের ডেটাকে GET, POST, PUT, DELETE HTTP মেথড ব্যবহার করে অ্যাক্সেস করার সুযোগ দেয়। এই API ব্যবহার করে আপনি কন্টেন্ট তৈরি, আপডেট, ডিলিট বা রিট্রিভ করতে পারবেন।


২. Drupal REST API ব্যবহারের জন্য প্রস্তুতি

ড্রুপালে REST API ব্যবহার শুরু করার জন্য কিছু প্রাথমিক প্রস্তুতি নেওয়া প্রয়োজন:

২.১ RESTful Web Services মডিউল ইনস্টল করুন

ড্রুপাল ৮ বা তার পরবর্তী সংস্করণে RESTful Web Services মডিউল REST API ব্যবহারের জন্য প্রয়োজনীয় মডিউল। এই মডিউল ইনস্টল করতে হবে।

  1. Extend এ গিয়ে RESTful Web Services মডিউল ইনস্টল করুন।
  2. এছাড়াও Serialization মডিউল ইনস্টল করুন, যা ডেটা JSON বা XML ফরম্যাটে রিটার্ন করতে সহায়তা করবে।

২.২ API Authentication সেটআপ

REST API এর মাধ্যমে সাইটের ডেটা অ্যাক্সেস করতে ইউজার অথেনটিকেশন প্রয়োজন। ড্রুপালে বিভিন্ন ধরণের অথেনটিকেশন পদ্ধতি রয়েছে, যেমন:

  • Basic Authentication
  • OAuth2
  • Cookie Authentication

Basic Authentication এর মাধ্যমে সহজেই API ব্যবহার শুরু করা যেতে পারে, তবে আরও সুরক্ষিত অ্যাপ্লিকেশন ডেভেলপ করার জন্য OAuth2 ব্যবহার করা যেতে পারে।

  • Basic Authentication সক্রিয় করতে:
    • Configuration > Web services > REST settings এ গিয়ে Authentication এর জন্য Basic Authentication নির্বাচন করুন।

২.৩ API Endpoints কনফিগার করা

ড্রুপালে REST API এর জন্য বিভিন্ন endpoints কনফিগার করা যায়, যেমন:

  • /node/{node_id}: একটি নির্দিষ্ট নোড (কন্টেন্ট) অ্যাক্সেস করতে।
  • /taxonomy_term/{term_id}: ট্যাক্সোনমি টার্ম অ্যাক্সেস করতে।
  • /user/{user_id}: ইউজার ডেটা অ্যাক্সেস করতে।

Enable REST Resources করার মাধ্যমে, বিভিন্ন কন্টেন্ট টাইপ বা ডেটা টাইপের জন্য REST API রিসোর্স সক্রিয় করা যায়।


৩. Drupal REST API এর ব্যবহার

ড্রুপাল REST API ব্যবহার করার জন্য কিছু মৌলিক HTTP মেথড এবং রিকোয়েস্ট প্রক্রিয়া নিচে আলোচনা করা হলো:

৩.১ GET রিকোয়েস্ট

GET রিকোয়েস্ট ব্যবহার করে আপনি ড্রুপাল সাইট থেকে কন্টেন্ট বা ডেটা রিটার্ন করতে পারেন। উদাহরণস্বরূপ, একটি নির্দিষ্ট নোড অ্যাক্সেস করার জন্য GET রিকোয়েস্ট করা হবে:

GET http://example.com/api/v1/node/1

এই রিকোয়েস্টে node/1 URL থেকে নোডের তথ্য (যেমন: Title, Body, Author) JSON ফরম্যাটে রিটার্ন হবে।

৩.২ POST রিকোয়েস্ট

POST রিকোয়েস্ট ব্যবহার করে নতুন কন্টেন্ট তৈরি করা যায়। উদাহরণস্বরূপ, একটি নতুন নোড তৈরি করতে:

POST http://example.com/api/v1/node
Content-Type: application/json
Authorization: Basic <Base64-encoded-username-password>

{
  "type": [{"target_id": "article"}],
  "title": "My New Article",
  "body": {"value": "This is the content of my new article."}
}

এই রিকোয়েস্টে article কন্টেন্ট টাইপের একটি নতুন নোড তৈরি হবে এবং তার শিরোনাম ও বডি দেওয়া হবে।

৩.৩ PUT রিকোয়েস্ট

PUT রিকোয়েস্ট ব্যবহার করে আপনি ড্রুপাল সাইটে বিদ্যমান কন্টেন্ট আপডেট করতে পারেন:

PUT http://example.com/api/v1/node/1
Content-Type: application/json
Authorization: Basic <Base64-encoded-username-password>

{
  "title": "Updated Article Title",
  "body": {"value": "This is the updated content of my article."}
}

এই রিকোয়েস্টে নোড ID ১ এর শিরোনাম এবং বডি আপডেট হবে।

৩.৪ DELETE রিকোয়েস্ট

DELETE রিকোয়েস্ট ব্যবহার করে একটি কন্টেন্ট বা নোড ডিলিট করতে পারেন:

DELETE http://example.com/api/v1/node/1
Authorization: Basic <Base64-encoded-username-password>

এটি নোড ID ১ ডিলিট করবে।


৪. Custom REST API Endpoint তৈরি করা

ড্রুপালে কাস্টম REST API endpoint তৈরি করা যেতে পারে। এটি কাস্টম ডেটা রিটার্ন করার জন্য ব্যবহার করা হয়। উদাহরণস্বরূপ, একটি কাস্টম REST API endpoint তৈরি করতে:

  1. Custom Module তৈরি করুন: আপনার মডিউলে hook_menu() ব্যবহার করে একটি নতুন REST endpoint তৈরি করুন।
  2. REST Resource Register করুন: কাস্টম REST রিসোর্স রেজিস্টার করার জন্য rest.resource সার্ভিস ব্যবহার করুন।
/**
 * Implements hook_rest_resource_info().
 */
function mymodule_rest_resource_info() {
  $resources = array();
  $resources['/my_custom_endpoint'] = array(
    'callback' => 'my_custom_rest_callback',
    'method' => 'GET',
  );
  return $resources;
}

এখানে, /my_custom_endpoint URL থেকে কাস্টম রিকোয়েস্ট প্রক্রিয়া পরিচালিত হবে।


৫. ড্রুপাল REST API এর নিরাপত্তা

REST API এর মাধ্যমে সাইটের ডেটা এক্সেস করার সময় সুরক্ষা নিশ্চিত করা গুরুত্বপূর্ণ।

৫.১ Authentication

  • API রিকোয়েস্টের জন্য OAuth2 বা Basic Authentication ব্যবহার করতে হবে।
  • OAuth2 ব্যবহার করলে, API রিকোয়েস্ট আরো নিরাপদ হবে।

৫.২ Permission কনফিগারেশন

  • REST Resources কনফিগারেশন এর মাধ্যমে ডেটার কোন অংশ কে এক্সেস করতে পারবে, তা কনফিগার করা যেতে পারে।
  • Configuration > Web services > REST settings এ গিয়ে কনফিগারেশন করুন।

উপসংহার

ড্রুপাল REST API ডেভেলপারদের ড্রুপাল সাইটের ডেটা এক্সটার্নাল সিস্টেম বা অ্যাপ্লিকেশন দিয়ে সহজে অ্যাক্সেস করতে সহায়তা করে। এটি সাইটের ডেটার সাথে ইন্টারঅ্যাকশন এবং সিস্টেমের মধ্যে ডেটা শেয়ার করার জন্য একটি শক্তিশালী এবং নমনীয় পদ্ধতি প্রদান করে। এই API ব্যবহার করে আপনি কন্টেন্ট তৈরি, আপডেট, ডিলিট বা রিটার্ন করতে পারবেন, এবং একাধিক সিস্টেমের মধ্যে ইন্টিগ্রেশন সহজ করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...