Skip to main content

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 paginae
  • search - Terminus quaerendi
  • orderby - Campus ordinationis
  • order - Directio ordinationis (asc/desc)
  • status - Filtrare secundum statum
  • date_created - Filtrare secundum intervallum datorum