REST API referenca
Osnovna konfiguracija
Osnovni URL: {site_url}/wp-json/wu/v2/
Autentifikacija: API ključ i tajna (HTTP Basic Auth ili URL parametri)
Autentifikacija
Omogući API
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
Dobij API vjerodajnice
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Metode autentifikacije
HTTP Basic Auth (preporuč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"
Osnovne krajnje tačke
1. API za klijente
Osnovna ruta: /customers
Dobij sve klijente
GET /wu/v2/customers
Dobij pojedinačnog klijenta
GET /wu/v2/customers/{id}
Kreiraj klijenta
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Ažuriraj klijenta
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Obriši klijenta
DELETE /wu/v2/customers/{id}
2. API za stranice
Osnovna ruta: /sites
Kreiraj stranicu
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 ruta: /memberships
Kreiraj č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 proizvode
Osnovna ruta: /products
Dobij sve proizvode
GET /wu/v2/products
5. API za plaćanja
Osnovna ruta: /payments
Kreiraj plaćanje
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 ruta: /domains
Mapiraj domenu
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Krajnja tačka za registraciju
Krajnja tačka /register pruža kompletan tok naplate/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 }
}
Krajnje tačke suverenog tenanta
Ultimate Multisite: Multi-Tenancy 1.2.0 dodaje REST pokrivenost suverenog tenanta za integracije koje omogućavaju, pregledaju ili provjeravaju izolirane tenante.
Tačan sadržaj zahtjeva zavisi od omogućene mogućnosti hosta, ali integracije trebaju očekivati ove grupe krajnjih tačaka:
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}
Koristite bootstrap krajnju tačku za pripremu registra tenanta, baze podataka, datotečnog sistema i stanja rutiranja. Koristite krajnje tačke statusa migracije i provjere prije prebacivanja produkcijskog saobraćaja. Koristite krajnju tačku za brisanje za suvereno uklanjanje kako bi se vjerodajnice baze podataka uklonile kroz tok čišćenja dodatka.
Tipični odgovori statusa migracije uključuju:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
Tretirajte ready: false kao blokadu prije pokretanja. Provjerite detalje verifikacije, popravite povezivanje hosta baze podataka, red čekanja, omogućavanje korisnika ili problem s rutiranjem, zatim ponovo pokušajte verifikaciju.
Odgovori o greškama
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Paginacija i filtriranje
Parametri upita:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Uobičajeni parametri:
per_page- Stavke po stranici (zadano: 20, maks.: 100)page- Broj stranicesearch- Pojam za pretraguorderby- Polje za sortiranjeorder- Smjer sortiranja (asc/desc)status- Filtriraj po statusudate_created- Filtriraj po rasponu datuma