REST API nuoroda
Pagrindinė konfigūracija
Bazinis URL: {site_url}/wp-json/wu/v2/
Autentifikavimas: API raktas ir slaptasis raktas (HTTP Basic Auth arba URL parametrai)
Autentifikavimas
Įjungti API
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
Gauti API kredencialus
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Autentifikavimo metodai
HTTP Basic Auth (rekomenduojama):
curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers
URL parametrai:
curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"
Pagrindiniai galutiniai taškai
1. Klientų API
Bazinis maršrutas: /customers
Gauti visus klientus
GET /wu/v2/customers
Gauti vieną klientą
GET /wu/v2/customers/{id}
Sukurti klientą
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Atnaujinti klientą
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Ištrinti klientą
DELETE /wu/v2/customers/{id}
2. Svetainių API
Bazinis maršrutas: /sites
Sukurti svetainę
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. Narystės API
Bazinis maršrutas: /memberships
Sukurti narystę
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. Produktų API
Bazinis maršrutas: /products
Gauti visus produktus
GET /wu/v2/products
5. Mokėjimų API
Bazinis maršrutas: /payments
Sukurti mokėjimą
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. Domenų API
Bazinis maršrutas: /domains
Susieti domeną
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Registracijos galutinis taškas
Galutinis taškas /register suteikia visą atsiskaitymo / registracijos eigą:
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"
}
}
Atsakymas:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Suvereniųjų nuomininkų galutiniai taškai
Ultimate Multisite: Multi-Tenancy 1.2.0 prideda suvereniųjų nuomininkų REST aprėptį integracijoms, kurios parengia, tikrina arba patvirtina izoliuotus nuomininkus.
Tikslus užklausos turinys priklauso nuo įjungtos prieglobos galimybės, tačiau integracijos turėtų tikėtis šių galutinių taškų grupių:
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}
Naudokite bootstrap galutinį tašką nuomininko registrui, duomenų bazei, failų sistemai ir maršrutizavimo būsenai paruošti. Prieš perjungdami produkcinį srautą, naudokite migracijos būsenos ir patikrinimo galutinius taškus. Naudokite ištrynimo galutinį tašką suvereniajam pašalinimui, kad duomenų bazės kredencialai būtų pašalinti per priedo valymo eigą.
Tipiniai migracijos būsenos atsakymai apima:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
Laikykite ready: false paleidimą blokuojančia kliūtimi. Patikrinkite patikrinimo informaciją, ištaisykite duomenų bazės host susiejimą, eilę, naudotojų parengimą arba maršrutizavimo problemą, tada pakartokite patikrinimą.
Klaidų atsakymai
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Puslapiavimas ir filtravimas
Užklausos parametrai:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Dažni parametrai:
per_page- Elementai puslapyje (numatyta: 20, maks.: 100)page- Puslapio numerissearch- Paieškos terminasorderby- Rikiavimo laukasorder- Rikiavimo kryptis (asc/desc)status- Filtruoti pagal būsenądate_created- Filtruoti pagal datų intervalą