Lumaktaw patungo sa pangunahing content

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 pahina
  • search - Termino sa paghahanap
  • orderby - Field ng pag-uuri
  • order - Direksyon ng pag-uuri (asc/desc)
  • status - I-filter ayon sa status
  • date_created - I-filter ayon sa saklaw ng petsa