Rejeleo la REST API
Usanidi wa Msingi
URL ya Msingi: {site_url}/wp-json/wu/v2/
Uthibitishaji: Ufunguo wa API na Siri (HTTP Basic Auth au Vigezo vya URL)
Uthibitishaji
Washa API
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
Pata Vitambulisho vya API
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Mbinu za Uthibitishaji
HTTP Basic Auth (Inapendekezwa):
curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers
Vigezo vya URL:
curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"
Endpointi Kuu
1. API ya Wateja
Njia ya Msingi: /customers
Pata Wateja Wote
GET /wu/v2/customers
Pata Mteja Mmoja
GET /wu/v2/customers/{id}
Unda Mteja
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Sasisha Mteja
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Futa Mteja
DELETE /wu/v2/customers/{id}
2. API ya Site
Njia ya Msingi: /sites
Unda Site
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 Uanachama
Njia ya Msingi: /memberships
Unda Uanachama
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 Bidhaa
Njia ya Msingi: /products
Pata Bidhaa Zote
GET /wu/v2/products
5. API ya Malipo
Njia ya Msingi: /payments
Unda Malipo
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 Vikoa
Njia ya Msingi: /domains
Unganisha Kikoa
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Endpointi ya Usajili
Endpointi ya /register hutoa mtiririko kamili wa checkout/usajili:
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"
}
}
Jibu:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Endpointi za Mpangaji Huru
Ultimate Multisite: Multi-Tenancy 1.2.0 huongeza ufunikaji wa REST kwa wapangaji huru kwa miunganisho inayotoa, kukagua, au kuthibitisha wapangaji waliotengwa.
Mzigo halisi wa ombi hutegemea uwezo wa host uliowezeshwa, lakini miunganisho inapaswa kutarajia makundi haya ya endpointi:
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}
Tumia endpointi ya bootstrap kuandaa rejista ya mpangaji, hifadhidata, mfumo wa faili, na hali ya uelekezaji. Tumia endpointi za hali ya uhamishaji na uthibitishaji kabla ya kubadilisha trafiki ya uzalishaji. Tumia endpointi ya ufutaji kwa ubomoaji huru ili vitambulisho vya hifadhidata viondolewe kupitia mtiririko wa usafishaji wa addon.
Majibu ya kawaida ya hali ya uhamishaji yanajumuisha:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
Chukulia ready: false kama kizuizi cha kabla ya uzinduzi. Kagua maelezo ya uthibitishaji, rekebisha ufungaji wa host ya hifadhidata, foleni, utoaji wa watumiaji, au tatizo la uelekezaji, kisha jaribu tena uthibitishaji.
Majibu ya Hitilafu
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Uwekaji Kurasa na Uchujaji
Vigezo vya Hoja:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Vigezo vya kawaida:
per_page- Vipengee kwa kila ukurasa (chaguomsingi: 20, upeo wa juu: 100)page- Nambari ya ukurasasearch- Neno la kutafutaorderby- Sehemu ya kupangaorder- Mwelekeo wa kupanga (asc/desc)status- Chuja kwa halidate_created- Chuja kwa kipindi cha tarehe