Skip to main content

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 bike
  • date_created - Li gorî navbera dîrokê parzûn bike