Shopify: trạng thái hỗ trợ trong omniVN
Adapter tạm hoãnChưa thể kết nối. Adapter Shopify đang tạm hoãn (deferred).
Trạng thái adapter_deferred: backend chưa có adapter hoạt động, do đó việc đồng bộ Shopify chưa khả thi.
Giới hạn hiện tại
- Adapter Shopify tạm hoãn (deferred); chưa thể lưu credential, gọi Admin API và đồng bộ dữ liệu.
- Merchant chưa thể hoàn tất kết nối cho đến khi adapter được triển khai.
Tổng quan
Shopify yêu cầu merchant cài ứng dụng và cấp quyền đọc Admin API. Omni0 sẽ đăng ký app trên Shopify Partners để lấy client credentials; merchant cài app trên store sẽ sinh ra access token. Tuy nhiên adapter Shopify chưa được xây dựng nên chưa thể đồng bộ.
Điều kiện trước khi bắt đầu
- Cửa hàng Shopify đang hoạt động (myshopify.com domain).
- Tài khoản Shopify Partner/merchant có quyền cài ứng dụng.
- Omni0 đã đăng ký ứng dụng tích hợp trên Shopify Partners.
Các bước lấy credential
1. Đăng ký ứng dụng Shopify
Omni0 tạo Custom hoặc Public app trên Shopify Partners, cấu hình OAuth scopes (ví dụ read_orders, read_products, read_inventory) và lấy client ID/secret. Thông tin này do Omni0 quản lý.
2. Cấu hình redirect và cài app
Khi merchant cài app hoặc bắt đầu OAuth, Shopify gọi redirect_uri do Omni0 cung cấp. Cần đảm bảo redirect_uri khớp với cấu hình trong Shopify Partners.
3. Merchant cấp quyền
Merchant đăng nhập store, xem danh sách quyền Admin API và đồng ý. Shopify trả authorization code.
4. Lấy Admin API access token
Omni0 backend đổi authorization code lấy offline access token. Đây là token đọc/ghi Admin API, do Shopify cấp sau khi merchant cấp quyền, không phải key người dùng tự dán.
5. Cấu hình webhook
Nếu cần, Omni0 đăng ký webhook và lưu webhook secret do Shopify cấp. Thông tin này do Omni0 quản lý.
6. Hiện trạng
Adapter Shopify đang bị deferred. Dù đã có hướng dẫn OAuth, Omni0 chưa xây dựng adapter để lưu token, gọi API và đồng bộ sản phẩm, đơn hàng, tồn kho.
Ánh xạ credential với omniVN
| Field omniVN | Tên trong tài liệu official | Bắt buộc | Lấy từ đâu |
|---|---|---|---|
| Store Domain | myshopify.com domain | Bắt buộc | user_entered |
| Access Token | Admin API access token | Bắt buộc | oauth_authorization Lấy sau khi merchant cài app và cấp quyền. |
| API Version | API version | Tùy chọn | user_entered Backend dùng nhưng chưa có trong catalog metadata. |
| Webhook Secret | webhook secret | Tùy chọn | operator_managed Backend dùng nhưng chưa có trong catalog metadata. |
storeDomain → Store Domain (người dùng nhập myshopify.com domain); accessToken → Access Token (Shopify cấp sau khi merchant cài app và cấp quyền); apiVersion → API Version (người dùng nhập hoặc backend mặc định); webhookSecret → Webhook Secret (Omni0 quản lý, do Shopify cấp).
Vòng đời token
Shopify expiring offline access token ~1 giờ (expires_in 3600) kèm refresh_token ~90 ngày. Non-expiring offline token vẫn tồn tại với custom app nhưng public app phải chuyển expiring trước 2027. Online token ~24h hoặc đến khi logout admin.
Lỗi thường gặp
Không đồng bộ được dữ liệu Shopify
Adapter Shopify tạm hoãn; backend chưa xử lý lưu token và gọi Admin API.
Lỗi invalid OAuth code
authorization code hết hạn nhanh, redirect_uri không khớp, hoặc app chưa được cài trên store.