Nhảy tới nội dung

Tiki Open APIs

Giới Thiệu

Khi bạn xây dựng Tini App để phục vụ cho user của Tiki. Sẽ có nhiều trường hợp bạn sẽ cần phải đại diện cho user để lấy thông tin hoặc thực hiện một số tác vụ thay cho user trên hệ thống của Tiki. Các APIs mà Tiki đã public ra để các bạn có thể hiện thực các tác vụ này thuộc nhóm Open APIs của Tiki.

Trong thời gian tới, Tiki sẽ tiếp tục bổ sung tập Open API này để các bạn có thể tích hợp sâu hơn nữa với các tính năng mà Tiki cung cấp.

Access Open APIs Như Thế Nào?

Vì các bạn sẽ đại diện cho user để gọi các API này trên Tiki, nên các bạn cần phải có sự đồng ý của user bằng cách gọi API my.getAuthCode. Nếu user đồng ý cho access thì các bạn sẽ được cấp một auth code. Sau khi có auth code này rồi các bạn có thể dùng để exchange một auth token. Sau đó, bạn có thể dùng auth token này để gọi các Open APIs.

Khác với Platform APIs, bạn có thể gọi Tiki Open APIs từ cả frontend và backend của Tini App

Overview

Điều kiện cần:

  • Cần biết key và secret cấp cho Tini App của bạn trên Tini Console
  • Cần biết Open API mà bạn muốn gọi sẽ cần scope nào
  • Cần có được sự đồng ý của người dùng để lấy data với các scope khác nhau
  • Cần có một backend của bạn để có thể thực hiện bước trao đổi auth code lấy auth token với Platform APIs

Chi Tiết

Các Bước Lấy Auth Token

  1. Xác định Open API bạn muốn gọi sẽ cần các scope nào

  2. Ở Tini App bạn sử dụng JS API my.getAuthCode và truyền vào các scope mà bạn cần.

  3. Nếu user đồng ý, Tini App framework sẽ trả về cho bạn một auth code có dạng như sau:

    CDKJfdkj4528KJ.eCZa27znIuM8JGC-IUSM-S_G_YrgP7OH8BTGdba706E

  4. Bạn cần phải gửi auth code này về backend của bạn

  5. Backend của bạn sẽ gọi Platform APIs của Tiki để exchange auth code này thành 1 auth token

  6. Sau khi có auth token thì bạn có thể sử dụng để gọi vào các open APIs mà Tiki cung cấp

Lưu ý để lấy được refresh_token cần, khi lấy auth_code từ my.getAuthCode, bạn cần truyền thêm scope offline vào danh sách scopes mà my.getAuthCode nhận vào.

References

  • Tham khảo cách gọi platform APIs ở đây
  • Tham khảo cách tính signature ở đây
  • Tham khảo một backend ngôn ngữ Python chạy trên Google Cloud ở đây
  • Tham khảo một backend ngôn ngữ Go ở đây
  • Tham khảo từ Cộng đồng Tini App developers ở đây