Referenční příručka REST API
Základní konfigurace
Základní URL: {site_url}/wp-json/wu/v2/
Ověření: API Key a Secret (HTTP Basic Auth nebo parametry URL)
Ověření
Povolit API
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
Získat přihlašovací údaje API
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Metody ověření
HTTP Basic Auth (doporučeno):
curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers
Parametry URL:
curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"
Základní endpointy
1. Customers API
Základní trasa: /customers
Získat všechny zákazníky
GET /wu/v2/customers
Získat jednoho zákazníka
GET /wu/v2/customers/{id}
Vytvořit zákazníka
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Aktualizovat zákazníka
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Smazat zákazníka
DELETE /wu/v2/customers/{id}
2. Sites API
Základní trasa: /sites
Vytvořit web
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. Memberships API
Základní trasa: /memberships
Vytvořit členství
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. Products API
Základní trasa: /products
Získat všechny produkty
GET /wu/v2/products
5. Payments API
Základní trasa: /payments
Vytvořit platbu
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. Domains API
Základní trasa: /domains
Namapovat doménu
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Registrační endpoint
Endpoint /register poskytuje kompletní tok checkout/registrace:
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"
}
}
Odpověď:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Endpointy suverénních tenantů
Ultimate Multisite: Multi-Tenancy 1.2.0 přidává REST pokrytí suverénních tenantů pro integrace, které zřizují, kontrolují nebo ověřují izolované tenanty.
Přesný payload požadavku závisí na povolené schopnosti hostitele, ale integrace by měly očekávat tyto skupiny endpointů:
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}
Použijte bootstrap endpoint k přípravě registru tenantů, databáze, souborového systému a stavu směrování. Použijte endpointy stavu migrace a ověření před přepnutím produkčního provozu. Použijte endpoint pro smazání pro suverénní odstranění, aby byly přihlašovací údaje k databázi odstraněny prostřednictvím toku čištění addonu.
Typické odpovědi stavu migrace zahrnují:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
Považujte ready: false za blokátor před spuštěním. Zkontrolujte podrobnosti ověření, opravte navázání hostitele databáze, frontu, zřizování uživatelů nebo problém se směrováním a poté ověření zopakujte.
Chybové odpovědi
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Stránkování a filtrování
Parametry dotazu:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Běžné parametry:
per_page- Položky na stránku (výchozí: 20, max.: 100)page- Číslo stránkysearch- Hledaný výrazorderby- Pole řazeníorder- Směr řazení (asc/desc)status- Filtrovat podle stavudate_created- Filtrovat podle rozsahu dat