REST API İstinadı
Əsas Konfiqurasiya
Əsas URL: {site_url}/wp-json/wu/v2/
Autentifikasiya: API Açarı və Secret (HTTP Basic Auth və ya URL Parametrləri)
Autentifikasiya
API-ni Aktivləşdir
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
API Məlumatlarını Əldə Et
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Autentifikasiya Üsulları
HTTP Basic Auth (Tövsiyə olunur):
curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers
URL Parametrləri:
curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"
Əsas Son Nöqtələr
1. Müştərilər API-si
Əsas Marşrut: /customers
Bütün Müştəriləri Əldə Et
GET /wu/v2/customers
Tək Müştərini Əldə Et
GET /wu/v2/customers/{id}
Müştəri Yarat
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Müştərini Yenilə
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Müştərini Sil
DELETE /wu/v2/customers/{id}
2. Saytlar API-si
Əsas Marşrut: /sites
Sayt Yarat
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. Üzvlüklər API-si
Əsas Marşrut: /memberships
Üzvlük Yarat
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. Məhsullar API-si
Əsas Marşrut: /products
Bütün Məhsulları Əldə Et
GET /wu/v2/products
5. Ödənişlər API-si
Əsas Marşrut: /payments
Ödəniş Yarat
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. Domenlər API-si
Əsas Marşrut: /domains
Domeni Xəritələ
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Qeydiyyat Son Nöqtəsi
/register son nöqtəsi tam checkout/qeydiyyat axını təmin edir:
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"
}
}
Cavab:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Suveren Tenant Son Nöqtələri
Ultimate Multisite: Multi-Tenancy 1.2.0 təcrid olunmuş tenant-ları təmin edən, yoxlayan və ya doğrulayan inteqrasiyalar üçün suveren tenant REST əhatəsini əlavə edir.
Dəqiq sorğu yükü aktivləşdirilmiş host imkanından asılıdır, lakin inteqrasiyalar bu son nöqtə qruplarını gözləməlidir:
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}
Tenant reyestrini, verilənlər bazasını, fayl sistemini və marşrutlaşdırma vəziyyətini hazırlamaq üçün bootstrap son nöqtəsindən istifadə edin. Production trafikini keçirməzdən əvvəl miqrasiya statusu və doğrulama son nöqtələrindən istifadə edin. Suveren söküntü üçün silmə son nöqtəsindən istifadə edin ki, verilənlər bazası məlumatları addon təmizləmə axını vasitəsilə silinsin.
Tipik miqrasiya statusu cavablarına daxildir:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
ready: false dəyərini işə salınmadan əvvəl bloklayıcı kimi qəbul edin. Doğrulama təfərrüatlarını yoxlayın, verilənlər bazası host bağlanmasını, növbəni, istifadəçi təminatını və ya marşrutlaşdırma problemini düzəldin, sonra doğrulamanı yenidən sınayın.
Xəta Cavabları
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Səhifələmə və Filtrləmə
Sorğu Parametrləri:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Ümumi parametrlər:
per_page- Hər səhifədə elementlər (standart: 20, maksimum: 100)page- Səhifə nömrəsisearch- Axtarış terminiorderby- Sıralama sahəsiorder- Sıralama istiqaməti (asc/desc)status- Statusa görə filtrlədate_created- Tarix aralığına görə filtrlə