Skip to main content

Даведнік 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 - Фільтраваць паводле дыяпазону дат