Referenco de REST API
Baza Agordo
Baza URL: {site_url}/wp-json/wu/v2/
Aŭtentikigo: API-ŝlosilo kaj Sekreto (HTTP Basic Auth aŭ URL-parametroj)
Aŭtentikigo
Ebligi API
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
Akiri API-akreditaĵojn
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Aŭtentikigaj Metodoj
HTTP Basic Auth (Rekomendita):
curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers
URL-parametroj:
curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"
Kernaj Finpunktoj
1. Klientoj API
Baza Itinero: /customers
Akiri Ĉiujn Klientojn
GET /wu/v2/customers
Akiri Unuopan Klienton
GET /wu/v2/customers/{id}
Krei Klienton
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Ĝisdatigi Klienton
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Forigi Klienton
DELETE /wu/v2/customers/{id}
2. Retejoj API
Baza Itinero: /sites
Krei Retejon
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. Membrecoj API
Baza Itinero: /memberships
Krei Membrecon
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. Produktoj API
Baza Itinero: /products
Akiri Ĉiujn Produktojn
GET /wu/v2/products
5. Pagoj API
Baza Itinero: /payments
Krei Pagon
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. Domajnoj API
Baza Itinero: /domains
Mapi Domajnon
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Registrada Finpunkto
La finpunkto /register provizas kompletan checkout/registradan fluon:
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"
}
}
Respondo:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Finpunktoj por Suverenaj Luantoj
Ultimate Multisite: Plurluanteco 1.2.0 aldonas suveren-luantan REST-kovradon por integriĝoj kiuj provizas, inspektas aŭ kontrolas izolitajn luantojn.
La ĝusta petoŝarĝo dependas de la ebligita gastiga kapablo, sed integriĝoj devus atendi ĉi tiujn finpunktajn grupojn:
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}
Uzu la bootstrap-finpunkton por prepari la luantan registron, datumbazon, dosiersistemon kaj vojigan staton. Uzu migradan staton kaj kontrolajn finpunktojn antaŭ ol ŝalti produktadan trafikon. Uzu la forigan finpunkton por suverena malmuntado, por ke datumbazaj akreditaĵoj estu forigitaj per la addon-puriga fluo.
Tipaj respondoj pri migrada stato inkluzivas:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
Traktu ready: false kiel antaŭlanĉan blokilon. Kontrolu la konfirmo-detalojn, riparu la datumbazan gastigantan ligon, vicon, uzantan provizadon aŭ vojigan problemon, poste reprovu konfirmon.
Eraraj Respondoj
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Paĝigo kaj Filtrado
Demandaj Parametroj:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Komunaj parametroj:
per_page- Eroj por paĝo (defaŭlte: 20, maksimume: 100)page- Paĝnumerosearch- Serĉterminoorderby- Ordiga kampoorder- Ordiga direkto (asc/desc)status- Filtri laŭ statodate_created- Filtri laŭ datintervalo