Przejdź do głównej zawartości

Dokumentacja REST API

Konfiguracja bazowa

Bazowy URL: {site_url}/wp-json/wu/v2/ Uwierzytelnianie: klucz API i sekret (HTTP Basic Auth lub parametry URL)

Uwierzytelnianie

Włącz API

// Enable API in Ultimate Multisite settings or programmatically
wu_save_setting('enable_api', true);

Uzyskaj dane uwierzytelniające API

$api_key = wu_get_setting('api_key');
$api_secret = wu_get_setting('api_secret');

Metody uwierzytelniania

HTTP Basic Auth (zalecane):

curl -u "api_key:api_secret" https://yoursite.com/wp-json/wu/v2/customers

Parametry URL:

curl "https://yoursite.com/wp-json/wu/v2/customers?api_key=your_key&api_secret=your_secret"

Główne endpointy

1. API klientów

Trasa bazowa: /customers

Pobierz wszystkich klientów

GET /wu/v2/customers

Pobierz pojedynczego klienta

GET /wu/v2/customers/{id}

Utwórz klienta

POST /wu/v2/customers
Content-Type: application/json

{
"user_id": 123,
"email_verification": "verified",
"type": "customer",
"has_trialed": false,
"vip": false
}

Zaktualizuj klienta

PUT /wu/v2/customers/{id}
Content-Type: application/json

{
"vip": true,
"extra_information": "VIP customer notes"
}

Usuń klienta

DELETE /wu/v2/customers/{id}

2. API witryn

Trasa bazowa: /sites

Utwórz witrynę

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 członkostw

Trasa bazowa: /memberships

Utwórz członkostwo

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 produktów

Trasa bazowa: /products

Pobierz wszystkie produkty

GET /wu/v2/products

5. API płatności

Trasa bazowa: /payments

Utwórz płatność

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 domen

Trasa bazowa: /domains

Zmapuj domenę

POST /wu/v2/domains
Content-Type: application/json

{
"domain": "custom-domain.com",
"customer_id": 5,
"primary_domain": 1,
"stage": "domain-mapping"
}

Endpoint rejestracji

Endpoint /register zapewnia kompletny przepływ finalizacji zakupu/rejestracji:

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"
}
}

Odpowiedź:

{
"customer": { ... },
"membership": { ... },
"payment": { ... },
"site": { "id": 123 }
}

Endpointy suwerennego dzierżawcy

Ultimate Multisite: Multi-Tenancy 1.2.0 dodaje obsługę REST dla suwerennego dzierżawcy na potrzeby integracji, które provisionują, sprawdzają lub weryfikują izolowanych dzierżawców.

Dokładny ładunek żądania zależy od włączonej funkcjonalności hosta, ale integracje powinny oczekiwać tych grup endpointów:

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}

Użyj endpointu bootstrap, aby przygotować rejestr dzierżawców, bazę danych, system plików i stan routingu. Użyj endpointów statusu migracji i weryfikacji przed przełączeniem ruchu produkcyjnego. Użyj endpointu usuwania do suwerennego demontażu, aby dane uwierzytelniające bazy danych zostały usunięte przez przepływ czyszczenia dodatku.

Typowe odpowiedzi statusu migracji obejmują:

{
"site_id": 123,
"isolation_model": "sovereign",
"database_host": "localhost",
"verification": {
"no_legacy": "passed",
"sovereign_push": "passed",
"tenant_users": "passed"
},
"ready": true
}

Traktuj ready: false jako blokadę przed uruchomieniem. Sprawdź szczegóły weryfikacji, napraw powiązanie hosta bazy danych, kolejkę, provisionowanie użytkowników lub problem z routingiem, a następnie ponów weryfikację.

Odpowiedzi błędów

{
"code": "wu_rest_invalid_parameter",
"message": "Invalid parameter value",
"data": {
"status": 400,
"params": {
"email": "Invalid email format"
}
}
}

Paginacja i filtrowanie

Parametry zapytania:

GET /wu/v2/customers?per_page=20&page=2&search=john&status=active

Typowe parametry:

  • per_page - Elementy na stronę (domyślnie: 20, maks.: 100)
  • page - Numer strony
  • search - Szukany termin
  • orderby - Pole sortowania
  • order - Kierunek sortowania (asc/desc)
  • status - Filtruj według statusu
  • date_created - Filtruj według zakresu dat