Magento ফ্রেমওয়ার্ক (Magento Framework) REST (Representational State Transfer) এবং SOAP (Simple Object Access Protocol) API এর মাধ্যমে বহিরাগত সিস্টেমের সাথে ইন্টিগ্রেশন করতে সাহায্য করে। API ইন্টিগ্রেশন ব্যবস্থাপনা, অর্ডার, প্রোডাক্ট, গ্রাহক তথ্য এবং অন্যান্য কার্যক্রম সিস্টেমের মধ্যে সহজে আদান প্রদান করতে সহায়ক। এই ইন্টিগ্রেশন ব্যবস্থায়, Magento API গ্রাহকদের অন্যান্য সিস্টেম (যেমন, থার্ড পার্টি সফটওয়্যার, মোবাইল অ্যাপ্লিকেশন, ERP সিস্টেম, CRM সিস্টেম) এর সাথে ডাটা শেয়ার করতে সহায়তা করে।
এখানে, আমরা Magento এর REST API এবং SOAP API ইন্টিগ্রেশন এর বিশদ আলোচনা করব।
১. Magento REST API ইন্টিগ্রেশন
Magento REST API একটি জনপ্রিয় API ইন্টিগ্রেশন পদ্ধতি, যা JSON (JavaScript Object Notation) ডাটা ফর্ম্যাট ব্যবহার করে। এটি সহজ, দ্রুত এবং স্কেলেবল। REST API ব্যবহার করে আপনি Magento সিস্টেমের সাথে যোগাযোগ করতে পারেন এবং বিভিন্ন ডেটা রিসোর্স এক্সেস করতে পারেন।
১.১. Magento REST API এর প্রধান বৈশিষ্ট্য
- JSON ফর্ম্যাট: ডাটা আদান প্রদান JSON ফর্ম্যাটে হয়, যা আধুনিক ওয়েব অ্যাপ্লিকেশনের জন্য খুবই উপযোগী।
- HTTP Methods: GET, POST, PUT, DELETE HTTP মেথড ব্যবহার করে ডেটা রিড, ক্রিয়েট, আপডেট এবং ডিলিট করা সম্ভব।
- OAuth 1.0a: নিরাপদ অথেনটিকেশন এবং অনুমোদনের জন্য ব্যবহৃত হয়।
১.২. REST API Authentication
Magento REST API ব্যবহার করার জন্য প্রথমে আপনাকে অথেনটিকেট করতে হবে। সাধারণত, OAuth অথবা Bearer Token এর মাধ্যমে অথেনটিকেশন করা হয়।
API অথেনটিকেশন প্রক্রিয়া:
Admin Access Token প্রাপ্তি: প্রথমে, আপনার Magento অ্যাডমিন প্যানেল থেকে একটি access token তৈরি করতে হবে।
POST /V1/integration/admin/tokenRequest Body:
{ "username": "admin", "password": "adminpassword" }এটি একটি Bearer Token প্রদান করবে, যা আপনাকে API কলের মাধ্যমে অ্যাক্সেস দিতে সাহায্য করবে।
API কল: একবার টোকেন পাওয়া গেলে, আপনাকে সেই টোকেন ব্যবহার করে API কল করতে হবে।
GET /V1/products Authorization: Bearer <your-access-token>
১.৩. REST API এর মাধ্যমে প্রোডাক্ট ডেটা পেতে
Magento REST API ব্যবহার করে আপনি প্রোডাক্ট ডেটা রিট্রিভ করতে পারেন:
GET /V1/products
এটি আপনার সাইটের সমস্ত প্রোডাক্টের তালিকা ফিরিয়ে দেবে।
১.৪. REST API ব্যবহার করে নতুন প্রোডাক্ট তৈরি করা
POST /V1/products
Authorization: Bearer <your-access-token>
Content-Type: application/json
Request Body:
{
"product": {
"sku": "new-product-sku",
"name": "New Product",
"price": 100.00,
"status": 1,
"visibility": 4,
"type_id": "simple",
"attribute_set_id": 4,
"weight": 1.0
},
"saveOptions": true
}
১.৫. REST API ব্যবহার করে প্রোডাক্ট আপডেট
PUT /V1/products/{sku}
Authorization: Bearer <your-access-token>
Content-Type: application/json
Request Body:
{
"product": {
"name": "Updated Product Name",
"price": 120.00
}
}
২. Magento SOAP API ইন্টিগ্রেশন
SOAP API একটি XML ভিত্তিক প্রোটোকল যা Magento-তে বহিরাগত সিস্টেমের সাথে ডাটা শেয়ার করার জন্য ব্যবহৃত হয়। SOAP API বেশি নিরাপদ এবং প্রোডাক্ট বা অর্ডার সম্পর্কিত জটিল তথ্য পরিচালনা করার জন্য ব্যবহার করা হয়।
২.১. SOAP API Authentication
Magento SOAP API ব্যবহার করার জন্য আপনাকে প্রথমে API User এবং API Key তৈরি করতে হবে।
- API User তৈরি: Admin Panel > System > User Roles থেকে নতুন API ইউজার তৈরি করুন।
- API Key তৈরি: Admin Panel > System > Web Services > SOAP/XML-RPC থেকে API Key তৈরি করুন।
২.২. SOAP API ব্যবহার করে প্রোডাক্টের তথ্য সংগ্রহ করা
Magento SOAP API ব্যবহার করে প্রোডাক্টের তথ্য পেতে আপনাকে একটি SOAP ক্লায়েন্ট তৈরি করতে হবে। উদাহরণস্বরূপ, একটি PHP কোড ব্যবহার করে প্রোডাক্টের তথ্য খুঁজে পাওয়া যাবে।
$client = new SoapClient('http://<your-magento-url>/index.php/api/soap/?wsdl');
$session = $client->login('api_user', 'api_key');
$result = $client->call($session, 'catalog_product.list', array());
print_r($result);
২.৩. SOAP API ব্যবহার করে প্রোডাক্ট তৈরি করা
$product = array(
'sku' => 'new-product-sku',
'name' => 'New Product',
'price' => 100.00,
'status' => 1,
'visibility' => 4,
'type_id' => 'simple',
'attribute_set_id' => 4,
'weight' => 1.0
);
$client->call($session, 'catalog_product.create', array('simple', 4, $product));
২.৪. SOAP API ব্যবহার করে প্রোডাক্ট আপডেট করা
$productUpdate = array(
'sku' => 'new-product-sku',
'price' => 120.00
);
$client->call($session, 'catalog_product.update', array('new-product-sku', $productUpdate));
৩. REST API এবং SOAP API মধ্যে পার্থক্য
| Feature | REST API | SOAP API |
|---|---|---|
| Data Format | JSON | XML |
| Protocol | HTTP | HTTP |
| Performance | Faster and lighter | Slower and heavier due to XML encoding |
| Complexity | Simple and easy to integrate | Complex and more secure |
| Security | OAuth 1.0a | WS-Security, Digital Signature |
| Use Case | Lightweight apps, Mobile apps | Enterprise systems, Complex systems |
সারাংশ
Magento REST এবং SOAP API ইন্টিগ্রেশন অত্যন্ত শক্তিশালী টুল যা ব্যবসায়ী ও ডেভেলপারদের বহিরাগত সিস্টেমের সাথে সহজে এবং নিরাপদভাবে ডেটা শেয়ার করার সুযোগ দেয়। REST API সাধারণত দ্রুত, সহজ এবং স্কেলেবল, যেখানে SOAP API জটিল প্রক্রিয়া এবং উচ্চ নিরাপত্তা নিশ্চিত করে। আপনি Magento এর API ব্যবহার করে প্রোডাক্ট, অর্ডার, গ্রাহক, এবং অন্যান্য সিস্টেমের সাথে ইন্টিগ্রেশন করতে পারেন এবং আপনার ই-কমার্স সাইটের কার্যক্রম আরও কার্যকর করতে পারেন।
Read more