Skip to main content

Indango ya REST API

Iboneza Shingiro

Base URL: {site_url}/wp-json/wu/v2/ Kwemeza umwirondoro: API Key & Secret (HTTP Basic Auth cyangwa URL Parameters)

Kwemeza umwirondoro

Fungura API

// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);

Bona ibyangombwa bya API

$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');

Uburyo bwo kwemeza umwirondoro

HTTP Basic Auth (Bisabwa):

curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers

URL Parameters:

curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"

Inzira z'ibanze z'iherezo

1. API y'abakiriya

Inzira Shingiro: /customers

Bona abakiriya bose

GET /wu/v2/customers

Bona umukiriya umwe

GET /wu/v2/customers/{id}

Kora umukiriya

POST /wu/v2/customers
Content-Type: application/json

{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}

Vugurura umukiriya

PUT /wu/v2/customers/{id}
Content-Type: application/json

{
"vip": true,
"extra_information": "VIP customer notes"
}

Siba umukiriya

DELETE /wu/v2/customers/{id}

2. API za site

Inzira Shingiro: /sites

Kora 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 z'ubunyamuryango

Inzira Shingiro: /memberships

Kora ubunyamuryango

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 z'ibicuruzwa

Inzira Shingiro: /products

Bona ibicuruzwa byose

GET /wu/v2/products

5. API z'ubwishyu

Inzira Shingiro: /payments

Kora ubwishyu

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 za domains

Inzira Shingiro: /domains

Huza domain

POST /wu/v2/domains
Content-Type: application/json

{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}

Inzira y'iherezo yo kwiyandikisha

Inzira y'iherezo ya /register itanga uruhererekane rwuzuye rwa checkout/kwiyandikisha:

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"
}
}

Igisubizo:

{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}

Inzira z'iherezo z'umukodesha wigenga

Ultimate Multisite: Multi-Tenancy 1.2.0 yongeramo ubwishingizi bwa REST ku bakodesha bigenga, bugenewe integrations zitunganya, zigenzura, cyangwa zemeza abakodesha batandukanye.

Ibisabwa nyabyo mu busabe biterwa n'ubushobozi bwa host bwafunguwe, ariko integrations zikwiye kwitega aya matsinda y'inzira z'iherezo:

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}

Koresha inzira y'iherezo ya bootstrap gutegura registry y'umukodesha, database, filesystem, n'imiterere ya routing. Koresha inzira z'iherezo z'imiterere ya migration n'igenzura mbere yo guhindurira traffic ya production. Koresha inzira y'iherezo yo gusiba mu gusenya ubwigenge kugira ngo ibyangombwa bya database bikurweho binyuze mu ruhererekane rwo gusukura rwa addon.

Ibisubizo bisanzwe by'imiterere ya migration birimo:

{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}

Fata ready: false nk'imbogamizi mbere yo gutangiza. Reba ibisobanuro by'igenzura, ukosore guhuza database host, queue, gutunganya abakoresha, cyangwa ikibazo cya routing, hanyuma wongere ugerageze igenzura.

Ibisubizo by'amakosa

{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}

Gushyira ku mapaji no kuyungurura

Query Parameters:

GET /wu/v2/customers?per_page=20&page=2&search=john&status=active

Ibipimo bisanzwe:

  • per_page - Ibintu kuri buri paji (isanzwe: 20, ntarengwa: 100)
  • page - Nomero ya paji
  • search - Ijambo ryo gushakisha
  • orderby - Umwanya wo gutondekanya
  • order - Icyerekezo cyo gutondekanya (asc/desc)
  • status - Yungurura hakurikijwe status
  • date_created - Yungurura hakurikijwe intera y'amatariki