Lumaktaw patungo sa pangunahing content

Sanggunian ng REST API

Batayang Konfigurasyon

Base URL: {site_url}/wp-json/wu/v2/ Pagpapatunay: API Key at Secret (HTTP Basic Auth o Mga Parameter ng URL)

Pagpapatunay

Paganahin ang API

// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);

Kunin ang Mga Kredensyal ng API

$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');

Mga Paraan ng Pagpapatunay

HTTP Basic Auth (Inirerekomenda):

curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers

Mga Parameter ng URL:

curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"

Mga Pangunahing Dulong Punto

1. API ng Mga Kostumer

Batayang Ruta: /customers

Kunin ang Lahat ng Kostumer

GET /wu/v2/customers

Kunin ang Isang Kostumer

GET /wu/v2/customers/{id}

Gumawa ng Kostumer

POST /wu/v2/customers
Content-Type: application/json

{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}

I-update ang Kostumer

PUT /wu/v2/customers/{id}
Content-Type: application/json

{
"vip": true,
"extra_information": "VIP customer notes"
}

Tanggalin ang Kostumer

DELETE /wu/v2/customers/{id}

2. API ng Mga Website

Batayang Ruta: /sites

Gumawa ng Website

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 ng Mga Pagiging Miyembro

Batayang Ruta: /memberships

Gumawa ng Pagiging Miyembro

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 ng Mga Produkto

Batayang Ruta: /products

Kunin ang Lahat ng Produkto

GET /wu/v2/products

5. API ng Mga Pagbabayad

Batayang Ruta: /payments

Gumawa ng Pagbabayad

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 ng Mga Dominyo

Batayang Ruta: /domains

I-map ang Dominyo

POST /wu/v2/domains
Content-Type: application/json

{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}

Dulong Punto ng Pagpaparehistro

Nagbibigay ang dulong punto na /register ng kumpletong daloy ng checkout/pagpaparehistro:

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"
}
}

Tugon:

{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}

Mga Dulong Punto ng Sovereign Tenant

Nagdaragdag ang Ultimate Multisite: Multi-Tenancy 1.2.0 ng REST coverage para sa sovereign tenant para sa mga integrasyong nagpo-provision, nagsusuri, o nagbeberipika ng mga nakahiwalay na tenant.

Nakadepende ang eksaktong payload ng kahilingan sa naka-enable na kakayahan ng host, ngunit dapat asahan ng mga integrasyon ang mga grupong ito ng dulong punto:

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 dulong punto ng bootstrap upang ihanda ang registry ng tenant, database, filesystem, at routing state. Gamitin ang mga dulong punto ng katayuan ng migrasyon at beripikasyon bago ilipat ang production traffic. Gamitin ang dulong punto ng pagtanggal para sa sovereign teardown upang maalis ang mga kredensyal ng database sa pamamagitan ng daloy ng paglilinis ng addon.

Karaniwang kasama sa mga tugon ng katayuan ng migrasyon 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 hadlang bago ang paglulunsad. Suriin ang mga detalye ng beripikasyon, ayusin ang database host binding, queue, user provisioning, o isyu sa routing, pagkatapos ay ulitin ang beripikasyon.

Mga Tugon ng Error

{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}

Pagination at Pag-filter

Mga Parameter ng Query:

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 - Direksiyon ng pag-uuri (asc/desc)
  • status - I-filter ayon sa status
  • date_created - I-filter ayon sa saklaw ng petsa