Referansa REST API
Veavakirina Bingehîn
URL-a Bingehîn: {site_url}/wp-json/wu/v2/
Piştrastkirin: API Key & Secret (HTTP Basic Auth an Parametreyên URL)
Piştrastkirin
API Çalak Bike
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
Agahiyên API Bistîne
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Rêbazên Piştrastkirinê
HTTP Basic Auth (Tê Pêşniyarkirin):
curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers
Parametreyên URL:
curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"
Xalên Dawî yên Bingehîn
1. API-ya Xerîdaran
Rêya Bingehîn: /customers
Hemû Xerîdaran Bistîne
GET /wu/v2/customers
Xerîdarek Tenê Bistîne
GET /wu/v2/customers/{id}
Xerîdar Çêbike
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Xerîdar Nû Bike
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Xerîdar Jê Bibe
DELETE /wu/v2/customers/{id}
2. API-ya Malperan
Rêya Bingehîn: /sites
Malper Çêbike
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-ya Endamtiyan
Rêya Bingehîn: /memberships
Endamtî Çêbike
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-ya Berheman
Rêya Bingehîn: /products
Hemû Berheman Bistîne
GET /wu/v2/products
5. API-ya Peredanê
Rêya Bingehîn: /payments
Peredan Çêbike
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-ya Domênan
Rêya Bingehîn: /domains
Domên Girê Bide
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Xala Dawî ya Tomarkirinê
Xala dawî ya /register herikîna temam a checkout/tomarkirinê peyda dike:
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"
}
}
Bersiv:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Xalên Dawî yên Kirêdarên Serbixwe
Ultimate Multisite: Multi-Tenancy 1.2.0 ji bo entegrasyonên ku kirêdarên veqetandî amade dikin, dinêrin an piştrast dikin, girtina REST a kirêdarên serbixwe zêde dike.
Bargeha daxwazê ya rast li gorî şiyana host a çalak ve girêdayî ye, lê entegrasyon divê van komên xalên dawî hêvî bikin:
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}
Xala dawî ya bootstrap bi kar bîne da ku tomara kirêdar, danegir, pergala pelan û rewşa rêkirinê amade bikî. Berî guhertina trafîka hilberînê, xalên dawî yên rewşa koçkirinê û piştrastkirinê bi kar bîne. Ji bo hilweşandina serbixwe xala dawî ya jêbirinê bi kar bîne, da ku agahiyên danegirê bi herikîna paqijkirina addon werin rakirin.
Bersivên asayî yên rewşa koçkirinê ev in:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
ready: false wek astengiyeke berî destpêkirinê bihesibîne. Hûrgiliyên piştrastkirinê kontrol bike, girêdana host a danegirê, rêz, amadekirina bikarhêner an pirsgirêka rêkirinê rast bike, paşê dîsa piştrastkirinê biceribîne.
Bersivên Çewtiyan
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Rûpelkirin û Parzûnkirin
Parametreyên Lêpirsînê:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Parametreyên hevpar:
per_page- Hêmanên ji bo her rûpelê (standard: 20, herî zêde: 100)page- Hejmara rûpelêsearch- Peyva lêgerînêorderby- Qada rêzkirinêorder- Aliyê rêzkirinê (asc/desc)status- Li gorî rewşê parzûn bikedate_created- Li gorî navbera dîrokê parzûn bike