Skip to main content

Referenco de REST API

Baza Agordo

Baza URL: {site_url}/wp-json/wu/v2/ Aŭtentikigo: API-ŝlosilo kaj Sekreto (HTTP Basic Auth aŭ URL-parametroj)

Aŭtentikigo

Ebligi API

// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);

Akiri API-akreditaĵojn

$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');

Aŭtentikigaj Metodoj

HTTP Basic Auth (Rekomendita):

curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers

URL-parametroj:

curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"

Kernaj Finpunktoj

1. Klientoj API

Baza Itinero: /customers

Akiri Ĉiujn Klientojn

GET /wu/v2/customers

Akiri Unuopan Klienton

GET /wu/v2/customers/{id}

Krei Klienton

POST /wu/v2/customers
Content-Type: application/json

{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}

Ĝisdatigi Klienton

PUT /wu/v2/customers/{id}
Content-Type: application/json

{
"vip": true,
"extra_information": "VIP customer notes"
}

Forigi Klienton

DELETE /wu/v2/customers/{id}

2. Retejoj API

Baza Itinero: /sites

Krei Retejon

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. Membrecoj API

Baza Itinero: /memberships

Krei Membrecon

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. Produktoj API

Baza Itinero: /products

Akiri Ĉiujn Produktojn

GET /wu/v2/products

5. Pagoj API

Baza Itinero: /payments

Krei Pagon

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. Domajnoj API

Baza Itinero: /domains

Mapi Domajnon

POST /wu/v2/domains
Content-Type: application/json

{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}

Registrada Finpunkto

La finpunkto /register provizas kompletan checkout/registradan fluon:

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"
}
}

Respondo:

{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}

Finpunktoj por Suverenaj Luantoj

Ultimate Multisite: Plurluanteco 1.2.0 aldonas suveren-luantan REST-kovradon por integriĝoj kiuj provizas, inspektas aŭ kontrolas izolitajn luantojn.

La ĝusta petoŝarĝo dependas de la ebligita gastiga kapablo, sed integriĝoj devus atendi ĉi tiujn finpunktajn grupojn:

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}

Uzu la bootstrap-finpunkton por prepari la luantan registron, datumbazon, dosiersistemon kaj vojigan staton. Uzu migradan staton kaj kontrolajn finpunktojn antaŭ ol ŝalti produktadan trafikon. Uzu la forigan finpunkton por suverena malmuntado, por ke datumbazaj akreditaĵoj estu forigitaj per la addon-puriga fluo.

Tipaj respondoj pri migrada stato inkluzivas:

{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}

Traktu ready: false kiel antaŭlanĉan blokilon. Kontrolu la konfirmo-detalojn, riparu la datumbazan gastigantan ligon, vicon, uzantan provizadon aŭ vojigan problemon, poste reprovu konfirmon.

Eraraj Respondoj

{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}

Paĝigo kaj Filtrado

Demandaj Parametroj:

GET /wu/v2/customers?per_page=20&page=2&search=john&status=active

Komunaj parametroj:

  • per_page - Eroj por paĝo (defaŭlte: 20, maksimume: 100)
  • page - Paĝnumero
  • search - Serĉtermino
  • orderby - Ordiga kampo
  • order - Ordiga direkto (asc/desc)
  • status - Filtri laŭ stato
  • date_created - Filtri laŭ datintervalo