REST API-referens
Baskonfiguration
Bas-URL: {site_url}/wp-json/wu/v2/
Autentisering: API-nyckel och hemlighet (HTTP Basic Auth eller URL-parametrar)
Autentisering
Aktivera API
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
Hämta API-autentiseringsuppgifter
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Autentiseringsmetoder
HTTP Basic Auth (rekommenderas):
curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers
URL-parametrar:
curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"
Kärnslutpunkter
1. Kund-API
Basrutt: /customers
Hämta alla kunder
GET /wu/v2/customers
Hämta en enskild kund
GET /wu/v2/customers/{id}
Skapa kund
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Uppdatera kund
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Ta bort kund
DELETE /wu/v2/customers/{id}
2. Webbplats-API
Basrutt: /sites
Skapa webbplats
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. Medlemskaps-API
Basrutt: /memberships
Skapa medlemskap
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
Basrutt: /products
Hämta alla produkter
GET /wu/v2/products
5. Betalnings-API
Basrutt: /payments
Skapa betalning
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. Domän-API
Basrutt: /domains
Mappa domän
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Registreringsslutpunkt
Slutpunkten /register tillhandahåller ett komplett kassa-/registreringsflöde:
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"
}
}
Svar:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Slutpunkter för suveräna klientmiljöer
Ultimate Multisite: Multi-Tenancy 1.2.0 lägger till REST-täckning för suveräna klientmiljöer för integrationer som tillhandahåller, inspekterar eller verifierar isolerade klientmiljöer.
Den exakta nyttolasten för begäran beror på den aktiverade värdfunktionaliteten, men integrationer bör förvänta sig dessa slutpunktsgrupper:
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}
Använd bootstrap-slutpunkten för att förbereda klientmiljöregistret, databasen, filsystemet och routingtillståndet. Använd slutpunkterna för migreringsstatus och verifiering innan du växlar produktionstrafik. Använd borttagningsslutpunkten för suverän nedmontering så att databasautentiseringsuppgifter tas bort genom tilläggets rensningsflöde.
Typiska svar för migreringsstatus inkluderar:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
Behandla ready: false som en blockerare före lansering. Kontrollera verifieringsdetaljerna, åtgärda problemet med databasens värdbindning, kön, användartillhandahållandet eller routingen och försök sedan verifiera igen.
Felsvar
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Paginering och filtrering
Frågeparametrar:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Vanliga parametrar:
per_page- Objekt per sida (standard: 20, max: 100)page- Sidnummersearch- Söktermorderby- Sorteringsfältorder- Sorteringsriktning (asc/desc)status- Filtrera efter statusdate_created- Filtrera efter datumintervall