REST API salgylanmasy
Esasy konfigurasiýa
Esasy URL: {site_url}/wp-json/wu/v2/
Autentifikasiýa: API açary we gizlin açar (HTTP Basic Auth ýa-da URL parametrleri)
Autentifikasiýa
API-ni işjeňleşdirmek
// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);
API maglumatlaryny almak
$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');
Autentifikasiýa usullary
HTTP Basic Auth (maslahat berilýär):
curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers
URL parametrleri:
curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"
Esasy endpointler
1. Müşderiler API-si
Esasy ugur: /customers
Ähli müşderileri almak
GET /wu/v2/customers
Ýeke müşderini almak
GET /wu/v2/customers/{id}
Müşderi döretmek
POST /wu/v2/customers
Content-Type: application/json
{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}
Müşderini täzelemek
PUT /wu/v2/customers/{id}
Content-Type: application/json
{
"vip": true,
"extra_information": "VIP customer notes"
}
Müşderini pozmak
DELETE /wu/v2/customers/{id}
2. Saýtlar API-si
Esasy ugur: /sites
Saýt döretmek
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. Agzalyklar API-si
Esasy ugur: /memberships
Agzalyk döretmek
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. Önümler API-si
Esasy ugur: /products
Ähli önümleri almak
GET /wu/v2/products
5. Tölegler API-si
Esasy ugur: /payments
Töleg döretmek
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. Domenler API-si
Esasy ugur: /domains
Domeni baglamak
POST /wu/v2/domains
Content-Type: application/json
{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}
Hasaba alyş endpointi
/register endpointi doly checkout/hasaba alyş akymyny üpjün edýär:
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"
}
}
Jogap:
{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}
Özbaşdak tenant endpointleri
Ultimate Multisite: Multi-Tenancy 1.2.0 izolirlenen tenantlary üpjün edýän, barlaýan ýa-da tassyklanýan integrasiýalar üçin özbaşdak tenant REST örtügini goşýar.
Takyk haýyş payload-y işjeňleşdirilen host mümkinçiliklerine bagly, ýöne integrasiýalar şu endpoint toparlaryna garaşmalydyr:
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 registrini, maglumatlar binýadyny, faýl ulgamyny we marşrutlama ýagdaýyny taýýarlamak üçin bootstrap endpointini ulanyň. Önümçilik traffigini geçirmezden öň migrasiýa ýagdaýy we tassyklama endpointlerini ulanyň. Maglumatlar binýadynyň giriş maglumatlary addon arassalama akymy arkaly aýrylar ýaly, özbaşdak sökmek üçin pozmak endpointini ulanyň.
Adaty migrasiýa ýagdaýy jogaplary şulary öz içine alýar:
{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}
ready: false ýagdaýyny işe goýberişden öňki päsgelçilik hökmünde kabul ediň. Tassyklama jikme-jikliklerini barlaň, maglumatlar binýadynyň host baglanyşygyny, nobaty, ulanyjy üpjünçiligini ýa-da marşrutlama meselesini düzediň, soňra tassyklamany gaýtadan synanyşyň.
Ýalňyşlyk jogaplary
{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}
Sahypalama we filtrleme
Sorag parametrleri:
GET /wu/v2/customers?per_page=20&page=2&search=john&status=active
Umumy parametrler:
per_page- Her sahypadaky elementler (deslapky: 20, iň köp: 100)page- Sahypa belgisisearch- Gözleg terminiorderby- Tertipleme meýdanyorder- Tertipleme ugry (asc/desc)status- Ýagdaý boýunça filtrlemekdate_created- Sene aralygy boýunça filtrlemek