Даведнік REST API
Базавая канфігурацыя
Базавы URL: {site_url}/wp-json/wu/v2/
Аўтэнтыфікацыя: ключ API і сакрэт (HTTP Basic Auth або параметры URL)
Аўтэнтыфікацыя
Уключыць API
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
Атрымаць уліковыя даныя API
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Метады аўтэнтыфікацыі
HTTP Basic Auth (рэкамендуецца):
curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers
Параметры URL:
curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"
Асноўныя канцавыя пункты
1. API кліентаў
Базавы маршрут: /customers
Атрымаць усіх кліентаў
GET /wu/v2/customers
Атрымаць аднаго кліента
GET /wu/v2/customers/{id}
Стварыць кліента
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Абнавіць кліента
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Выдаліць кліента
DELETE /wu/v2/customers/{id}
2. API сайтаў
Базавы маршрут: /sites
Стварыць сайт
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 членстваў
Базавы маршрут: /memberships
Стварыць членства
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 прадуктаў
Базавы маршрут: /products
Атрымаць усе прадукты
GET /wu/v2/products
5. API плацяжоў
Базавы маршрут: /payments
Стварыць плацёж
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 даменаў
Базавы маршрут: /domains
Прывязаць дамен
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Канцавы пункт рэгістрацыі
Канцавы пункт /register забяспечвае поўны працэс афармлення замовы/рэгістрацыі:
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"
}
}
Адказ:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Канцавыя пункты суверэннага арандатара
Ultimate Multisite: Multi-Tenancy 1.2.0 дадае ахоп REST для суверэннага арандатара для інтэграцый, якія прадастаўляюць, правяраюць або верыфікуюць ізаляваных арандатараў.
Дакладная карысная нагрузка запыту залежыць ад уключанай магчымасці хоста, але інтэграцыі павінны чакаць гэтыя групы канцавых пунктаў:
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}
Выкарыстоўвайце канцавы пункт bootstrap, каб падрыхтаваць рэестр арандатара, базу даных, файлавую сістэму і стан маршрутызацыі. Выкарыстоўвайце канцавыя пункты стану міграцыі і верыфікацыі перад пераключэннем вытворчага трафіку. Выкарыстоўвайце канцавы пункт выдалення для суверэннага дэмантажу, каб уліковыя даныя базы даных былі выдалены праз працэс ачысткі дадатку.
Тыповыя адказы стану міграцыі ўключаюць:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
Разглядайце ready: false як блакіроўку перад запускам. Праверце падрабязнасці верыфікацыі, выпраўце прывязку хоста базы даных, чаргу, прадастаўленне карыстальнікаў або праблему маршрутызацыі, а потым паўтарыце верыфікацыю.
Адказы з памылкамі
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Пагінацыя і фільтрацыя
Параметры запыту:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Агульныя параметры:
per_page- Элементы на старонку (прадвызначана: 20, макс.: 100)page- Нумар старонкіsearch- Пошукавы тэрмінorderby- Поле сартаванняorder- Напрамак сартавання (asc/desc)status- Фільтраваць паводле стануdate_created- Фільтраваць паводле дыяпазону дат