Referenca REST API
Osnovna konfiguracija
Osnovni URL: {site_url}/wp-json/wu/v2/
Avtentikacija: API ključ in skrivnost (HTTP Basic Auth ali URL parametri)
Avtentikacija
Omogoči API
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
Pridobi API poverilnice
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Metode avtentikacije
HTTP Basic Auth (priporočeno):
curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers
URL parametri:
curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"
Osnovni endpointi
1. API za stranke
Osnovna pot: /customers
Pridobi vse stranke
GET /wu/v2/customers
Pridobi posamezno stranko
GET /wu/v2/customers/{id}
Ustvari stranko
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Posodobi stranko
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Izbriši stranko
DELETE /wu/v2/customers/{id}
2. API za spletna mesta
Osnovna pot: /sites
Ustvari spletno mesto
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 za članstva
Osnovna pot: /memberships
Ustvari članstvo
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 za izdelke
Osnovna pot: /products
Pridobi vse izdelke
GET /wu/v2/products
5. API za plačila
Osnovna pot: /payments
Ustvari plačilo
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 za domene
Osnovna pot: /domains
Preslikaj domeno
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Endpoint za registracijo
Endpoint /register zagotavlja celoten potek zaključka nakupa/registracije:
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"
}
}
Odgovor:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Endpointi za suverene najemnike
Ultimate Multisite: Multi-Tenancy 1.2.0 dodaja REST podporo za suverene najemnike za integracije, ki zagotavljajo, pregledujejo ali preverjajo izolirane najemnike.
Natančen nabor podatkov zahteve je odvisen od omogočene zmogljivosti gostitelja, vendar naj integracije pričakujejo te skupine endpointov:
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}
Uporabite bootstrap endpoint za pripravo registra najemnika, podatkovne zbirke, datotečnega sistema in stanja usmerjanja. Uporabite endpointe za stanje migracije in preverjanje, preden preklopite produkcijski promet. Uporabite endpoint za brisanje za suvereno odstranitev, da se poverilnice podatkovne zbirke odstranijo prek poteka čiščenja dodatka.
Tipični odgovori stanja migracije vključujejo:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
ready: false obravnavajte kot blokado pred zagonom. Preverite podrobnosti preverjanja, odpravite težavo z vezavo gostitelja podatkovne zbirke, čakalno vrsto, zagotavljanjem uporabnikov ali usmerjanjem, nato znova poskusite preverjanje.
Odgovori o napakah
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Paginacija in filtriranje
Parametri poizvedbe:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Pogosti parametri:
per_page- Elementi na stran (privzeto: 20, največ: 100)page- Številka stranisearch- Iskalni izrazorderby- Polje za razvrščanjeorder- Smer razvrščanja (asc/desc)status- Filtriraj po statusudate_created- Filtriraj po časovnem razponu