Referensi REST API
Konfigurasi Dhasar
Base URL: {site_url}/wp-json/wu/v2/
Autentikasi: API Key & Secret (HTTP Basic Auth utawa Parameter URL)
Autentikasi
Aktifake API
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
Entuk Kredensial API
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Cara Autentikasi
HTTP Basic Auth (Disaranake):
curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers
Parameter URL:
curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"
Titik Pungkasan Inti
1. API Pelanggan
Rute Dhasar: /customers
Entuk Kabeh Pelanggan
GET /wu/v2/customers
Entuk Pelanggan Tunggal
GET /wu/v2/customers/{id}
Gawe Pelanggan
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Nganyari Pelanggan
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Mbusak Pelanggan
DELETE /wu/v2/customers/{id}
2. API Situs
Rute Dhasar: /sites
Gawe Situs
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 Keanggotaan
Rute Dhasar: /memberships
Gawe Keanggotaan
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 Produk
Rute Dhasar: /products
Entuk Kabeh Produk
GET /wu/v2/products
5. API Pembayaran
Rute Dhasar: /payments
Gawe Pembayaran
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 Domain
Rute Dhasar: /domains
Map Domain
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Titik Pungkasan Registrasi
Titik pungkasan /register nyedhiyakake alur pambayaran/registrasi lengkap:
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"
}
}
Tanggapan:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Titik Pungkasan Penyewa Mandiri
Ultimate Multisite: Multi-Tenancy 1.2.0 nambah jangkauan REST penyewa mandiri kanggo integrasi sing nyedhiyakake, mriksa, utawa verifikasi penyewa terisolasi.
Muatan panjaluk sing pas gumantung marang kapabilitas host sing diaktifake, nanging integrasi kudu nyana klompok titik pungkasan iki:
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}
Gunakake titik pungkasan bootstrap kanggo nyiapake registri penyewa, basis data, sistem berkas, lan kahanan routing. Gunakake titik pungkasan status migrasi lan verifikasi sadurunge ngalih lalu lintas produksi. Gunakake titik pungkasan pambusakan kanggo teardown mandiri supaya kredensial basis data dibusak liwat alur reresik addon.
Tanggapan status migrasi sing umum kalebu:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
Anggep ready: false minangka pangalang sadurunge peluncuran. Priksa rincian verifikasi, dandani ikatan host basis data, antrean, panyedhiyan pangguna, utawa masalah routing, banjur coba maneh verifikasi.
Tanggapan Kasalahan
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Paginasi lan Penyaringan
Parameter Pitakon:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Parameter umum:
per_page- Item saben kaca (gawan: 20, maksimal: 100)page- Nomer kacasearch- Tembung telusuranorderby- Kolom urutanorder- Arah urutan (asc/desc)status- Saring miturut statusdate_created- Saring miturut rentang tanggal