Skip to main content

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 stranice
  • search - Pojam za pretragu
  • orderby - Polje za sortiranje
  • order - Smjer sortiranja (asc/desc)
  • status - Filtriraj po statusu
  • date_created - Filtriraj po rasponu datuma