Authentication

Hướng dẫn xác thực tài khoản API trước khi sử dụng

Zogo API yêu cầu access token trên mọi requests tới hệ thống Zogo.

Hướng dẫn này giả định rằng bạn đã có tài khoản Zogo.vn và tài khoản Developer. Nếu bạn chưa có tài khoản, xem hướng dẫn tại Thiết lập cơ bản.

Login

Login để lấy access token là bước đầu tiên trong quá trình tích hợp Zogo API. API Login yêu cầu bạn phải cung cấp thông tin tài khoản đã đăng ký với Zogo trước đó làm request body của API.

POST https://sandbox.zogo.vn/api/v2/login

Request body:

{
    "username": "[email protected]",
    "password": "bestshop",
    "client_id": 1,
    "client_secret": "gNBVFAvvU7lp9ARkqh7M0VOz..."
}

Thông tin request như sau:

  • username: Tài khoản đăng nhập Zogo.vn
  • password: Password của tài khoản Zogo.vn
  • client_id: Thông tin Client ID lấy từ Zogo API Account
  • client_secret: Thông tin Client Secret lấy từ Zogo API Account

Bạn sẽ nhận được response data như sau:

{
  "code": 200,
  "status": "success",
  "token_type": "Bearer",
  "expires_in": 1296000,
  "access_token": "eyJ0eXAiOiJKV1QiLCJhbG...",
  "refresh_token": "def502004f618f338802db..."
}

Chúng ta sẽ sử dụng access_token để thực hiện authentication trong các request call Zogo API.

Refresh token

Thời gian tồn tại của access_token trên hệ thống Zogo API là rất dài, khoảng 100 năm. Vì vậy bạn cũng không cần phải dùng tới refresh_token trừ khi bạn thích.

Để làm mới access_token bạn call một POST request như sau:

POST https://sandbox.zogo.vn/api/v2/refresh_token

{
    "refresh_token": "def502004f618f338802db...",
    "client_id": 1,
    "client_secret": "gNBVFAvvU7lp9ARkqh7M0VOz..."
}

Tham khảo Refreshing an access token.

Xác thực token

Zogo API sử dụng xác thực token với header Authentication kiểu Bearer.

Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbG.....

Thông báo lỗi

Nếu request tới 1 api mà không có thông tin xác thực, bạn sẽ nhận được 1 response Unauthenticated như sau:

{
    "code": 401,
    "status": "error",
    "data": {
        "error": "Unauthenticated."
    }
}

Hãy chắc chắn là bạn đã thêm một header Authorization cho các request.