Preskoči na vsebino

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 strani
  • search - Iskalni izraz
  • orderby - Polje za razvrščanje
  • order - Smer razvrščanja (asc/desc)
  • status - Filtriraj po statusu
  • date_created - Filtriraj po časovnem razponu