Relatio REST API
Configuratio Basis
URL Basis: {site_url}/wp-json/wu/v2/
Authenticatio: API Key & Secret (HTTP Basic Auth aut URL Parametri)
Authenticatio
API Activare
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
API Credentials Accipere
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Methodi Authenticationis
HTTP Basic Auth (Commendatum):
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"
Endpointa Principalia
1. API Clientium
Iter Basis: /customers
Omnes Clientes Accipere
GET /wu/v2/customers
Unum Clientem Accipere
GET /wu/v2/customers/{id}
Clientem Creare
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Clientem Renovare
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Clientem Delere
DELETE /wu/v2/customers/{id}
2. API Sitorum
Iter Basis: /sites
Situm Creare
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 Membershipum
Iter Basis: /memberships
Membership Creare
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 Productorum
Iter Basis: /products
Omnia Producta Accipere
GET /wu/v2/products
5. API Solutionum
Iter Basis: /payments
Solutionem Creare
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 Dominiorum
Iter Basis: /domains
Dominium Mappare
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Endpoint Registrationis
Endpoint /register integrum fluxum checkout/registrationis praebet:
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"
}
}
Responsum:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Endpointa Tenantium Sui Iuris
Ultimate Multisite: Multi-Tenancy 1.2.0 addit tegumentum REST tenantium sui iuris pro integrationibus quae tenantes segregatos provisionant, inspiciunt, aut verificent.
Exactum onus petitionis pendet ex facultate hospitis activa, sed integrationes hos greges endpointorum exspectare debent:
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}
Utere endpoint bootstrap ad registrum tenantis, basin datorum, systema fasciculorum, et statum itinerationis praeparanda. Utere endpointis status migrationis et verificationis antequam commeatum productionis commutes. Utere endpoint deletionis ad dissolutionem sui iuris, ut credentialia basis datorum per fluxum purgationis addon removeantur.
Responsa typica status migrationis includunt:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
Tracta ready: false ut impedimentum ante emissionem. Inspice singula verificationis, corrige ligamen hospitis basis datorum, caudam, provisioning usoris, aut quaestionem itinerationis, deinde verificationem iterum tenta.
Responsa Errorum
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Paginatio et Filtratio
Parametri Quaestionis:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Parametri communes:
per_page- Res per paginam (praedefinitum: 20, maximum: 100)page- Numerus paginaesearch- Terminus quaerendiorderby- Campus ordinationisorder- Directio ordinationis (asc/desc)status- Filtrare secundum statumdate_created- Filtrare secundum intervallum datorum