Sanggunian ng REST API
Batayang Configuration
Base URL: {site_url}/wp-json/wu/v2/
Authentication: API Key & Secret (HTTP Basic Auth o URL Parameters)
Authentication
Paganahin ang API
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
Kunin ang API Credentials
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Mga Paraan ng Authentication
HTTP Basic Auth (Inirerekomenda):
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"
Mga Pangunahing Endpoint
1. Customers API
Base Route: /customers
Kunin ang Lahat ng Customer
GET /wu/v2/customers
Kunin ang Isang Customer
GET /wu/v2/customers/{id}
Gumawa ng Customer
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
I-update ang Customer
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Tanggalin ang Customer
DELETE /wu/v2/customers/{id}
2. Sites API
Base Route: /sites
Gumawa ng 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
Base Route: /memberships
Gumawa ng 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
Base Route: /products
Kunin ang Lahat ng Product
GET /wu/v2/products
5. Payments API
Base Route: /payments
Gumawa ng 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
Base Route: /domains
I-map ang Domain
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Endpoint ng Registration
Ang endpoint na /register ay nagbibigay ng kumpletong daloy ng checkout/registration:
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 }
}
Mga Endpoint ng Sovereign Tenant
Ang Ultimate Multisite: Multi-Tenancy 1.2.0 ay nagdaragdag ng sovereign tenant REST coverage para sa mga integration na nagpo-provision, nagsusuri, o nagbe-verify ng mga nakahiwalay na tenant.
Ang eksaktong request payload ay nakadepende sa naka-enable na kakayahan ng host, ngunit dapat asahan ng mga integration ang mga pangkat ng endpoint na ito:
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}
Gamitin ang bootstrap endpoint upang ihanda ang tenant registry, database, filesystem, at routing state. Gamitin ang migration status at verification endpoints bago ilipat ang production traffic. Gamitin ang deletion endpoint para sa sovereign teardown upang maalis ang database credentials sa pamamagitan ng addon cleanup flow.
Karaniwang kasama sa mga migration status response ang:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
Ituring ang ready: false bilang pre-launch blocker. Suriin ang mga detalye ng verification, ayusin ang database host binding, queue, user provisioning, o routing issue, pagkatapos ay subukang muli ang verification.
Mga Error Response
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Pagination at Filtering
Query Parameters:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Mga karaniwang parameter:
per_page- Mga item bawat pahina (default: 20, max: 100)page- Numero ng pahinasearch- Termino sa paghahanaporderby- Field ng pag-uuriorder- Direksyon ng pag-uuri (asc/desc)status- I-filter ayon sa statusdate_created- I-filter ayon sa saklaw ng petsa