Kết nối Sapo với omniVN
Có thể kết nốiCó thể kết nối. Cần subdomain cửa hàng và access token từ Private app hoặc OAuth.
Tổng quan
Sapo Web hỗ trợ Private app (API key + API secret) và OAuth. Omni0 nhận tên store (subdomain) và access token để gọi REST API (header X-Sapo-Access-Token), đồng bộ sản phẩm, tồn kho, khách hàng và đơn hàng.
Điều kiện trước khi bắt đầu
- Quyền quản trị Sapo Web.
- Biết subdomain cửa hàng (ví dụ my-store trong my-store.mysapo.net).
Các bước lấy credential
1. Vào ứng dụng riêng (Private apps)
Trong Sapo Admin: menu Ứng dụng → cuộn tới “Bạn đang làm việc với nhà phát triển?” → Ứng dụng riêng. Hoặc làm theo flow OAuth tại support.sapo.vn/oauth nếu bạn phát triển app công khai.
2. Tạo private app và cấp quyền đọc
Chọn Tạo ứng dụng riêng, điền tên và email. Với mỗi nhóm dữ liệu (sản phẩm, đơn hàng, khách hàng…), chọn Chỉ đọc cho các mục Omni0 cần đồng bộ. Lưu ứng dụng.
3. Lấy API key, API secret hoặc access token
Sau khi lưu, Sapo hiển thị API key và API secret. Tài liệu Sapo mô tả Basic Auth apikey:apisecret@hostname/admin/…. Omni0 form yêu cầu access token — dùng token/access token Sapo cung cấp trên màn hình ứng dụng riêng, hoặc token nhận được sau OAuth (support.sapo.vn/oauth).

4. Điền vào Omni0
Integrations → Sapo. Nhập Store (subdomain, không gồm .mysapo.net) và Sapo access token.
Ánh xạ credential với omniVN
| Field omniVN | Tên trong tài liệu official | Bắt buộc | Lấy từ đâu |
|---|---|---|---|
| Sapo store | Tên cửa hàng / subdomain | Bắt buộc | user_entered |
| Sapo access token | API access token | Bắt buộc | provider_generated |
store → subdomain Sapo; accessToken → API access token / token từ private app hoặc OAuth.
Vòng đời token
API key/secret của private app không đổi khi sửa quyền. Token OAuth có thời hạn theo cấu hình Sapo; thu hồi app sẽ vô hiệu token.
Lỗi thường gặp
Lỗi 401 Unauthorized
Access token sai, đã thu hồi, hoặc thiếu quyền đọc trên private app.
Không tìm thấy cửa hàng
Subdomain store nhập sai (chỉ phần trước .mysapo.net).