Rujukan REST API
Konfigurasi Dasar
Base URL: {site_url}/wp-json/wu/v2/
Auténtikasi: Konci API & Secret (HTTP Basic Auth atawa Parameter URL)
Auténtikasi
Aktipkeun API
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
Kéngingkeun Kredénsial API
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Métode Auténtikasi
HTTP Basic Auth (Disarankeun):
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 Tungtung Inti
1. API Palanggan
Rute Dasar: /customers
Kéngingkeun Sadaya Palanggan
GET /wu/v2/customers
Kéngingkeun Hiji Palanggan
GET /wu/v2/customers/{id}
Jieun Palanggan
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Apdet Palanggan
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Pupus Palanggan
DELETE /wu/v2/customers/{id}
2. API Situs
Rute Dasar: /sites
Jieun 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 Kaanggotaan
Rute Dasar: /memberships
Jieun Kaanggotaan
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 Dasar: /products
Kéngingkeun Sadaya Produk
GET /wu/v2/products
5. API Pangmayaran
Rute Dasar: /payments
Jieun Pangmayaran
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 Dasar: /domains
Peta Domain
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Titik Tungtung Pendaptaran
Titik tungtung /register nyayogikeun alur checkout/pendaptaran anu lengkep:
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"
}
}
Réspon:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Titik Tungtung Tenant Mandiri
Ultimate Multisite: Multi-Tenancy 1.2.0 nambihan cakupan REST tenant mandiri pikeun integrasi anu nyayagikeun, mariksa, atawa mastikeun tenant anu diisolasi.
Payload pamundut anu pasti gumantung kana kamampuhan host anu diaktipkeun, tapi integrasi kudu nyangka kelompok titik tungtung ieu:
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}
Paké titik tungtung bootstrap pikeun nyiapkeun registry tenant, database, filesystem, jeung kaayaan routing. Paké titik tungtung status migrasi jeung vérifikasi saméméh ngalihkeun lalu lintas produksi. Paké titik tungtung mupus pikeun ngabongkar tenant mandiri sangkan kredénsial database dipiceun ngaliwatan alur beberesih addon.
Réspon status migrasi ilaharna ngawengku:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
Anggap ready: false minangka panghalang saméméh peluncuran. Pariksa rinci vérifikasi, benerkeun pangiket host database, antrian, panyayagaan pamaké, atawa masalah routing, tuluy cobian deui vérifikasi.
Réspon Kasalahan
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Paginasi jeung Nyaring
Parameter Query:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Parameter umum:
per_page- Item per kaca (standar: 20, maks: 100)page- Nomer kacasearch- Istilah pamilarianorderby- Widang urutkeunorder- Arah urutan (asc/desc)status- Saring dumasar statusdate_created- Saring dumasar rentang tanggal