Ntụaka REST API
Nhazi Ntọala
URL Ntọala: {site_url}/wp-json/wu/v2/
Nyocha njirimara: Igodo API & Nzuzo (HTTP Basic Auth ma ọ bụ Paramita URL)
Nyocha njirimara
Kwado API
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
Nweta Nkọwa Njirimara API
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Ụzọ Nyocha Njirimara
HTTP Basic Auth (Akwadoro):
curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers
Paramita URL:
curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"
Endpoint Ndị Isi
1. API Ndị Ahịa
Ụzọ Ntọala: /customers
Nweta Ndị Ahịa Niile
GET /wu/v2/customers
Nweta Otu Onye Ahịa
GET /wu/v2/customers/{id}
Mepụta Onye Ahịa
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Melite Onye Ahịa
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Hichapụ Onye Ahịa
DELETE /wu/v2/customers/{id}
2. API Saịtị
Ụzọ Ntọala: /sites
Mepụta Saịtị
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 Ndị Otu**
Ụzọ Ntọala: /memberships
Mepụta Otu
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 Ngwaahịa
Ụzọ Ntọala: /products
Nweta Ngwaahịa Niile
GET /wu/v2/products
5. API Ịkwụ Ụgwọ
Ụzọ Ntọala: /payments
Mepụta Ịkwụ Ụgwọ
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 Domen
Ụz ọ Ntọala: /domains
Jikọọ Domen
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Endpoint Ndebanye Aha
Endpoint /register na-enye usoro checkout/ndebanye aha zuru ezu:
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"
}
}
Nzaghachi:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Endpoint Ndị Tenant Nwere Ọchịchị Onwe Ha
Ultimate Multisite: Multi-Tenancy 1.2.0 na-agbakwunye mkpuchi REST maka tenant nwere ọchịchị onwe ha maka njikọ ndị na-enye, na-enyocha, ma ọ bụ na-akwado tenant ndị e kewapụrụ iche.
Payload arịrịọ ziri ezi dabere na ikike host e kwadoro, mana njikọ kwesịrị ịtụ anya otu endpoint ndị a:
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}
Jiri endpoint bootstrap kwadebe ndekọ tenant, database, filesystem, na ọnọdụ ntụgharị ụzọ. Jiri endpoint ọnọdụ mbufe na nkwenye tupu ịgbanwee okporo ụzọ mmepụta. Jiri endpoint nhichapụ maka iwepụ sovereign ka ewepụ credentials database site n’usoro nhicha addon.
Nzaghachi ọnọdụ mbufe a na-ahụkarị gụnyere:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
Were ready: false dị ka ihe mgbochi tupu mmalite. Lelee nkọwa nkwenye, dozie njikọ host database, queue, inye onye ọrụ, ma ọ bụ nsogbu ntụgharị ụzọ, mgbe ahụ nwaa nkwenye ọzọ.
Nzaghachi Mperi
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Nkewa Peeji na Nzacha
Paramita Ajụjụ:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Paramita ndị a na-ejikarị:
per_page- Ihe n’otu peeji (ndabara: 20, kacha: 100)page- Nọmba peejisearch- Okwu ọchụchọorderby- Field nhaziorder- Ntuziaka nhazi (asc/desc)status- Zacha site na statusdate_created- Zacha site na oke ụbọchị