Skip to main content

Маълумотномаи REST API

Танзимоти асосӣ

Base URL: {site_url}/wp-json/wu/v2/ Аутентификатсия: API Key ва Secret (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. Customers 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. Sites 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. Memberships 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. Products API

Масири асосӣ: /products

Гирифтани ҳамаи маҳсулотҳо

GET /wu/v2/products

5. Payments 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. Domains 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 - Филтр аз рӯи диапазони сана