REST API ৰেফাৰেন্স
ভিত্তি কনফিগাৰেচন
ভিত্তি URL: {site_url}/wp-json/wu/v2/
প্ৰমাণীকৰণ: API Key আৰু Secret (HTTP Basic Auth বা URL Parameters)
প্ৰমাণীকৰণ
API সক্ৰিয় কৰক
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
API ক্ৰেডেনচিয়েল লাভ কৰক
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
প্ৰমাণীকৰণ পদ্ধতিসমূহ
HTTP Basic Auth (পৰামৰ্শিত):
curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers
URL Parameters:
curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"
মূল এণ্ডপইণ্টসমূহ
1. গ্ৰাহক API
ভিত্তি ৰুট: /customers
সকলো গ্ৰাহক লাভ কৰক
GET /wu/v2/customers
এজন গ্ৰাহক লাভ কৰক
GET /wu/v2/customers/{id}
গ্ৰাহক সৃষ্টি কৰক
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
গ্ৰাহক আপডেট কৰক
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
গ্ৰাহক মচি পেলাওক
DELETE /wu/v2/customers/{id}
2. ছাইটসমূহৰ API
ভিত্তি ৰুট: /sites
ছাইট সৃষ্টি কৰক
POST /wu/v2/sites
Content-Type: application/json
{
"customer_id": 5,
"membership_id": 10,
"domain": "example.com",
"path": "/",
"title": "My New Site",
"template_id": 1,
"type": "customer_owned"
}
3. সদস্যপদসমূহৰ API
ভিত্তি ৰুট: /memberships
সদস্যপদ সৃষ্টি কৰক
POST /wu/v2/memberships
Content-Type: application/json
{
"customer_id": 5,
"plan_id": 3,
"status": "active",
"gateway": "stripe",
"gateway_subscription_id": "sub_1234567890",
"auto_renew": true
}
4. প্ৰডাক্টসমূহৰ API
ভিত্তি ৰুট: /products
সকলো প্ৰডাক্ট লাভ কৰক
GET /wu/v2/products
5. পেমেণ্টসমূহৰ API
ভিত্তি ৰুট: /payments
পেমেণ্ট সৃষ্টি কৰক
POST /wu/v2/payments
Content-Type: application/json
{
"customer_id": 5,
"membership_id": 10,
"status": "completed",
"gateway": "stripe",
"gateway_payment_id": "pi_1234567890",
"total": 29.99,
"currency": "USD"
}
6. ডমেইনসমূহৰ API
ভিত্তি ৰুট: /domains
ডমেইন মেপ কৰক
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
পঞ্জীয়ন এণ্ডপইণ্ট
/register এণ্ডপইণ্টে এটা সম্পূৰ্ণ ক্ৰয়-সম্পূৰ্ণকৰণ/পঞ্জীয়ন প্ৰবাহ প্ৰদান কৰে:
POST /wu/v2/register
Content-Type: application/json
{
"customer": {
"username": "newuser",
"password": "securepass123",
"email": "[email protected]"
},
"products": ["basic-plan"],
"duration": 1,
"duration_unit": "month",
"auto_renew": true,
"site": {
"site_url": "mynewsite",
"site_title": "My New Site",
"template_id": 1
},
"payment": {
"status": "completed"
},
"membership": {
"status": "active"
}
}
প্ৰতিক্ৰিয়া:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
সাৰ্বভৌম টেনেণ্ট এণ্ডপইণ্টসমূহ
Ultimate Multisite: Multi-Tenancy 1.2.0-এ পৃথক কৰা টেনেণ্ট প্ৰভিজন, পৰিদৰ্শন, বা যাচাই কৰা সংহতিসমূহৰ বাবে সাৰ্বভৌম টেনেণ্ট REST সমৰ্থন যোগ কৰে।
সঠিক অনুৰোধ পে’ল’ড সক্ৰিয় কৰা হ’ষ্ট ক্ষমতাৰ ওপৰত নিৰ্ভৰ কৰে, কিন্তু সংহতিসমূহে এই এণ্ডপইণ্ট গোটসমূহ আশা কৰিব লাগে:
POST /wu/v2/tenants/{site_id}/bootstrap
GET /wu/v2/tenants/{site_id}/migration-status
POST /wu/v2/tenants/{site_id}/verify
DELETE /wu/v2/tenants/{site_id}
টেনেণ্ট ৰেজিষ্ট্ৰী, ডাটাবেছ, ফাইলচিষ্টেম, আৰু ৰাউটিং অৱস্থা প্ৰস্তুত কৰিবলৈ bootstrap এণ্ডপইণ্ট ব্যৱহাৰ কৰক। উৎপাদন ট্ৰেফিক সলনি কৰাৰ আগতে migration status আৰু verification এণ্ডপইণ্ট ব্যৱহাৰ কৰক। সাৰ্বভৌম ভাঙি পেলোৱাৰ বাবে deletion এণ্ডপইণ্ট ব্যৱহাৰ কৰক যাতে ডাটাবেছ ক্ৰেডেনচিয়েলসমূহ অ্যাডঅন পৰিষ্কাৰকৰণ প্ৰবাহৰ জৰিয়তে আঁতৰোৱা হয়।
সাধাৰণ migration status প্ৰতিক্ৰিয়াসমূহত অন্তৰ্ভুক্ত থাকে:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
ready: false-ক আৰম্ভণিৰ পূৰ্বৰ বাধা হিচাপে গণ্য কৰক। যাচাইৰ বিৱৰণ পৰীক্ষা কৰক, ডাটাবেছ হ’ষ্ট বাইণ্ডিং, কিউ, ব্যৱহাৰকাৰী প্ৰভিজনিং, বা ৰাউটিং সমস্যা ঠিক কৰক, তাৰ পিছত পুনৰ যাচাই চেষ্টা কৰক।
ত্ৰুটি প্ৰতিক্ৰিয়াসমূহ
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
পৃষ্ঠাবিভাজন আৰু ফিল্টাৰিং
কুৱেৰী পেৰামিটাৰসমূহ:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
সাধাৰণ পেৰামিটাৰসমূহ:
per_page- প্ৰতি পৃষ্ঠাৰ আইটেম (ডিফল্ট: 20, সৰ্বাধিক: 100)page- পৃষ্ঠা নম্বৰsearch- সন্ধান শব্দorderby- ছৰ্ট ক্ষেত্ৰorder- ছৰ্ট দিশ (asc/desc)status- অৱস্থা অনুসৰি ফিল্টাৰ কৰকdate_created- তাৰিখ পৰিসৰ অনুসৰি ফিল্টাৰ কৰক