Phau ntawv siv REST API
Kev teeb tsa hauv paus
Base URL: {site_url}/wp-json/wu/v2/
Kev lees paub tus kheej: API Key & Secret (HTTP Basic Auth lossis URL Parameters)
Kev lees paub tus kheej
Qhib API
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
Tau txais API Credentials
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Cov kev lees paub tus kheej
HTTP Basic Auth (Pom zoo):
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"
Cov endpoint tseem ceeb
1. Customers API
Txoj kev hauv paus: /customers
Tau txais txhua tus customer
GET /wu/v2/customers
Tau txais ib tus customer
GET /wu/v2/customers/{id}
Tsim customer
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Hloov kho customer
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Rho tawm customer
DELETE /wu/v2/customers/{id}
2. Sites API
Txoj kev hauv paus: /sites
Tsim 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. Memberships API
Txoj kev hauv paus: /memberships
Tsim membership
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. Products API
Txoj kev hauv paus: /products
Tau txais txhua yam product
GET /wu/v2/products
5. Payments API
Txoj kev hauv paus: /payments
Tsim payment
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. Domains API
Txoj kev hauv paus: /domains
Map domain
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Endpoint rau kev sau npe
Endpoint /register muab ib qho checkout/kev sau npe tiav hlo:
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"
}
}
Response:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Cov endpoint rau Sovereign Tenant
Ultimate Multisite: Multi-Tenancy 1.2.0 ntxiv sovereign tenant REST coverage rau cov kev sib txuas uas provision, tshuaj xyuas, lossis verify cov tenant uas cais nyias.
Request payload tiag nyob ntawm host capability uas qhib lawm, tab sis cov kev sib txuas yuav tsum cia siab tias muaj cov endpoint group no:
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}
Siv bootstrap endpoint los npaj tenant registry, database, filesystem, thiab routing state. Siv migration status thiab verification endpoints ua ntej hloov production traffic. Siv deletion endpoint rau sovereign teardown kom database credentials raug tshem tawm dhau ntawm addon cleanup flow.
Cov migration status responses uas ib txwm muaj xws li:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
Saib ready: false ua ib yam uas thaiv ua ntej launch. Tshuaj xyuas verification details, kho database host binding, queue, user provisioning, lossis routing issue, ces sim verification dua.
Error Responses
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Pagination thiab Filtering
Query Parameters:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Cov parameter uas siv ntau:
per_page- Cov khoom ib nplooj (default: 20, max: 100)page- Tus lej nploojsearch- Lo lus tshawb nrhiavorderby- Field rau sortorder- Kev sort nce los nqis (asc/desc)status- Lim raws statusdate_created- Lim raws date range