Buku la REST API
Kasinthidwe Koyambira
Base URL: {site_url}/wp-json/wu/v2/
Kutsimikizira: API Key & Secret (HTTP Basic Auth kapena URL Parameters)
Kutsimikizira
Yambitsani API
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
Pezani Zizindikiro za API
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Njira Zotsimikizira
HTTP Basic Auth (Yolimbikitsidwa):
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"
Ma Endpoint Ofunika
1. API ya Makasitomala
Base Route: /customers
Pezani Makasitomala Onse
GET /wu/v2/customers
Pezani Kasitomala Mmodzi
GET /wu/v2/customers/{id}
Pangani Kasitomala
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Sinthani Kasitomala
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Chotsani Kasitomala
DELETE /wu/v2/customers/{id}
2. API ya Masite
Base Route: /sites
Pangani Site
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 ya Umembala
Base Route: /memberships
Pangani Umembala
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 ya Zogulitsa
Base Route: /products
Pezani Zogulitsa Zonse
GET /wu/v2/products
5. API ya Malipiro
Base Route: /payments
Pangani Malipiro
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 ya Ma Domain
Base Route: /domains
Lumikizani Domain
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Endpoint Yolembetsera
Endpoint ya /register imapereka njira yonse ya checkout/kulembetsa:
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"
}
}
Yankho:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Ma Endpoint a Sovereign Tenant
Ultimate Multisite: Multi-Tenancy 1.2.0 imawonjezera kuphimba kwa REST kwa sovereign tenant kwa ma integration omwe amapereka, kufufuza, kapena kutsimikizira ma tenant odzipatula.
Payload yeniyeni ya pempho imadalira kuthekera kwa host komwe kwayatsidwa, koma ma integration ayenera kuyembekezera magulu a endpoint awa:
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}
Gwiritsani ntchito bootstrap endpoint kukonzekera registry ya tenant, database, filesystem, ndi routing state. Gwiritsani ntchito ma endpoint a migration status ndi verification musanasinthe production traffic. Gwiritsani ntchito deletion endpoint pochotsa sovereign kuti database credentials zichotsedwe kudzera mu addon cleanup flow.
Mayankho wamba a migration status amaphatikizapo:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
Tengani ready: false ngati chotchinga chisanayambitsidwe. Onani tsatanetsatane wa verification, konza database host binding, queue, user provisioning, kapena routing issue, kenako yesaninso verification.
Mayankho a Zolakwika
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Pagination ndi Filtering
Query Parameters:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Ma parameter wamba:
per_page- Zinthu pa tsamba (default: 20, max: 100)page- Nambala ya tsambasearch- Mawu osakiraorderby- Field yosanjiraorder- Direction yosanjira (asc/desc)status- Sefa ndi statusdate_created- Sefa ndi date range