Chuyển tới nội dung chính

Tài liệu tham khảo REST API

Cấu hình cơ sở

URL cơ sở: {site_url}/wp-json/wu/v2/ Xác thực: Khóa API & Secret (HTTP Basic Auth hoặc tham số URL)

Xác thực

Bật API

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

Lấy thông tin xác thực API

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

Phương thức xác thực

HTTP Basic Auth (Được khuyến nghị):

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

Tham số URL:

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

Các điểm cuối cốt lõi

1. API khách hàng

Tuyến cơ sở: /customers

Lấy tất cả khách hàng

GET /wu/v2/customers

Lấy một khách hàng

GET /wu/v2/customers/{id}

Tạo khách hàng

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

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

Cập nhật khách hàng

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

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

Xóa khách hàng

DELETE /wu/v2/customers/{id}

2. API trang

Tuyến cơ sở: /sites

Tạo trang

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 tư cách thành viên

Tuyến cơ sở: /memberships

Tạo tư cách thành viên

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 sản phẩm

Tuyến cơ sở: /products

Lấy tất cả sản phẩm

GET /wu/v2/products

5. API thanh toán

Tuyến cơ sở: /payments

Tạo thanh toán

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 tên miền

Tuyến cơ sở: /domains

Ánh xạ tên miền

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

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

Điểm cuối đăng ký

Điểm cuối /register cung cấp một luồng thanh toán/đăng ký hoàn chỉnh:

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

Phản hồi:

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

Điểm cuối đối tượng thuê độc lập

Ultimate Multisite: Multi-Tenancy 1.2.0 bổ sung phạm vi REST cho đối tượng thuê độc lập dành cho các tích hợp cấp phát, kiểm tra hoặc xác minh các đối tượng thuê biệt lập.

Payload yêu cầu chính xác phụ thuộc vào năng lực máy chủ đã bật, nhưng các tích hợp nên dự kiến các nhóm điểm cuối này:

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}

Sử dụng điểm cuối bootstrap để chuẩn bị sổ đăng ký đối tượng thuê, cơ sở dữ liệu, hệ thống tệp và trạng thái định tuyến. Sử dụng các điểm cuối trạng thái di chuyển và xác minh trước khi chuyển đổi lưu lượng sản xuất. Sử dụng điểm cuối xóa để tháo dỡ đối tượng thuê độc lập, nhờ đó thông tin xác thực cơ sở dữ liệu được xóa thông qua luồng dọn dẹp addon.

Các phản hồi trạng thái di chuyển điển hình bao gồm:

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

Xem ready: false là một yếu tố chặn trước khi ra mắt. Kiểm tra chi tiết xác minh, khắc phục ràng buộc máy chủ cơ sở dữ liệu, hàng đợi, cấp phát người dùng hoặc vấn đề định tuyến, rồi thử lại xác minh.

Phản hồi lỗi

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

Phân trang và lọc

Tham số truy vấn:

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

Các tham số phổ biến:

  • per_page - Mục trên mỗi trang (mặc định: 20, tối đa: 100)
  • page - Số trang
  • search - Cụm từ tìm kiếm
  • orderby - Trường sắp xếp
  • order - Hướng sắp xếp (asc/desc)
  • status - Lọc theo trạng thái
  • date_created - Lọc theo khoảng ngày