Source document
docs/pilot/PILOT-READINESS-CHECKLIST.md
Source version
0.0.0
Generated time
2026-07-06T14:59:20.214Z
Owner
Operations / Founder
Audience
Internal
Status
Approved

Pilot Readiness Checklist

Xác nhận BNG Booking Platform sẵn sàng cho đối tác tích hợp đầu tiên. Mỗi mục có PASS / FAIL kèm bằng chứng.
Kiểm chứng bằng dry-run thật: PILOT-DRY-RUN.md. Friction: PILOT-FRICTION-LOG.md.
Ngày kiểm: 2026-07-06. Không thay đổi code/schema/deploy trong sprint này.
#MụcTrạng tháiBằng chứng / Ghi chú
1Sandbox sẵn sàng✅ PASS*Dry-run local: Availability→Booking→Confirm→Cancel chạy trọn (exit 0). Staging up (/health=200). *Điều kiện: partner phải được BNG allowlist IP để tới /api/booking/* trên staging (xem #12 + Friction F-1).
2API Key provisioning✅ PASSops issue-key --deliver cấp key sandbox active, kiểm chứng trong dry-run (key auth thành công). Cấp thủ công có kiểm soát (một lần, kênh bí mật).
3Domain✅ PASSstaging-api.booking.bngagency.vn phân giải, phục vụ HTTPS.
4HTTPS✅ PASScurl https://staging-api.booking.bngagency.vn/health → HTTP 200 (TLS OK).
5OpenAPI✅ PASSdocs/integration/openapi.yaml parse hợp lệ, 0 dangling ref, 0 orphan; đã bổ sung TENANT_INACTIVE (đồng bộ implementation).
6Postman✅ PASSbng-booking.postman_collection.json + .postman_environment.json — JSON hợp lệ, mọi path ⊆ OpenAPI, environment không secret.
7Examples✅ PASSdocs/integration/examples/ (curl/JS/Python). curl/flow.sh chạy end-to-end trong dry-run (200/201/200/200).
8Error Catalog✅ PASSdocs/integration/API-ERROR-CATALOG.md — đủ mã hiện hành gồm TENANT_INACTIVE (bổ sung trong sprint này).
9Operations Guide✅ PASSdocs/operations/PARTNER-OPERATIONS.md + TENANT-OPERATIONS.md (cấp/rotate/suspend/reactivate/revoke, xử lý nghi lộ key).
10Rollback✅ PASSAccess rollback kiểm chứng: suspend/revoke Partner (Beta-4) + suspend/archive Tenant (Beta-5) chặn request tức thì, reactivate khôi phục. Deployment rollback: có runbook (ngoài phạm vi sprint).
11Known Limitations✅ PASSĐã tổng hợp: rate-limit chưa cưỡng chế; staging IP-allowlist gate; cấp key thủ công; suspended tenant→403. Xem cuối file + Friction Log.
12Sandbox access cho partner ngoài⚠️ CONDITIONAL/api/booking/* trả 403 nginx cho IP chưa allowlist (đã kiểm chứng live). Cần BNG allowlist IP egress của partner (bước onboarding, đã tài liệu hoá trong Integration Guide §2.3). Không self-serve.

\* PASS với điều kiện onboarding do BNG thực hiện (allowlist IP + cấp key). Đây là pilot BNG-facilitated, không phải self-serve mở.

Kết quả tổng

Known Limitations (bàn giao cho partner)

  1. Truy cập staging qua allowlist IP — partner cung cấp IP egress; BNG allowlist trước khi test /api/booking/*.
  2. Rate-limit chưa cưỡng chế ở gateway partner (khuyến nghị partner tự throttle; ngưỡng công bố sau).
  3. Cấp API key thủ công (BNG issue-key, giao một lần) — chưa self-serve.
  4. Tenant/Partner không active → 403 TENANT_INACTIVE / 401 UNAUTHENTICATED — trạng thái vận hành phía BNG, không retry.
  5. Production chưa public — pilot chạy trên sandbox/staging.