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 акыркы чекити толук checkout/каттоо агымын камсыздайт:
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 акыркы чекитин колдонуңуз. Өндүрүш трафигин которуудан мурун миграция абалы жана ырастоо акыркы чекиттерин колдонуңуз. Маалымат базасынын дайындары addon тазалоо агымы аркылуу өчүрүлүшү үчүн, суверендүү ажыратууда өчүрүү акыркы чекитин колдонуңуз.
Кадимки миграция абалынын жоопторуна төмөнкүлөр кирет:
{
"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- Дата диапазону боюнча чыпкалоо