Hoppa till huvudinnehåll

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 - Sidnummer
  • search - Sökterm
  • orderby - Sorteringsfält
  • order - Sorteringsriktning (asc/desc)
  • status - Filtrera efter status
  • date_created - Filtrera efter datumintervall