Authentication API

1. Đăng ký tài khoản developer

Truy cập link đăng ký tài khoản Goship và điền các thông tin cần thiết để đăng ký.

Chúng ta có thể sử dụng ngay ứng dụng https://shop.goship.io để quản lý thông tin các vận đơn đã tạo.

Chú ý: Tài khoản test đăng ký tại http://dev.goship.io

2. Tài khoản API

Trên menu bên trái bạn sẽ tìm thấy mục API để lấy thông tin tài khoản API.

Lưu ý:

  • Tài khoản mới được tạo mặc định ở trạng thái Chưa kích hoạt, bạn cần phải liên hệ Goship Team để được hướng dẫn Kích hoạt.
  • Bạn nên tạo tài khoản test trên sandbox trước, tài khoản sandbox mặc định ở trạng thái Kích hoạt ngay sau khi khởi tạo.

Lấy API Key

Tại mục Goship API Account click nút Generate, hệ thống sẽ tự động sinh Client ID và Client Secret cho bạn. Thông tin này được sử dụng để lấy token.

Hãy bảo mật kỹ thông tin Client Secret, đó là thông tin quan trọng trong việc xác thực vận đơn và đối soát thông tin từ phía bạn.

Lấy token

Để lấy token, bạn cần thực hiện một POST request như sau:

POST https://sandbox.goship.io/api/v2/login

Thiết lập thông tin header:

Accept: application/json
Content-Type: application/json

Request body:

{
        "username": "best_shop@gmail.com",
        "password": "bestshop",
        "client_id": 1,
        "client_secret": "gNBVFAvvU7lp9ARkqh7M0VOz..."
}

Thông tin request như sau:

  • username: Tài khoản developer mà bạn vừa đăng ký
  • password: Password của tài khoản developer mà bạn vừa đăng ký
  • client_id: Thông tin Client ID lấy được trong mục API
  • client_secret: Thông tin Client Secret lấy được trong mục API

Xác thực token

Hầu hết các api của Goship được bảo vệ bởi hệ thống xác thực token. Một khi chúng ta đã có được token thì chúng ta cần phải đính kèm token vào mỗi request thông qua một header Authentication kiểu Bearer.

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

Mặc định, thời gian tồn tại của token là rất dài nên bạn có thể lưu vào đâu đó (local storage, file...) để tiện cho việc thực hiện các request tiếp theo.

Môi trường phát triển tích hợp

Sandbox:

  • Quản lý vận đơn: http://dev.goship.io
  • API endpoint: http://sandbox.goship.io/api/v2

Production:

  • Quản lý vận đơn: http://api.goship.io
  • API endpoint: http://api.goship.io/api/v2

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.