Giao diện bên thứ ba TikFinity

TikFinity cung cấp khả năng tích hợp các công cụ của bên thứ ba. Người dùng có thể chọn tùy chọn "Hành động của bên thứ ba" qua Hành động & Sự kiện. Sau đó, người dùng có thể chọn một hành động của công cụ của bên thứ ba từ hai menu thả xuống. Nếu bạn muốn viết công cụ như vậy, công cụ của bạn phải để lộ API trên cổng 8832. TikFinity sẽ truy cập API này để truy vấn dữ liệu hoặc kích hoạt hành động.

API

Công cụ của bạn phải cung cấp các điểm cuối sau:

Thông tin ứng dụng

Trả về thông tin về ứng dụng của bạn sẽ được hiển thị trong TikFinity.

GET http://127.0.0.1:8832/api/app/info

Phản hồi JSON:


{
  "data":{
    "author":"@zerodytrash",
    "name":"AwesomeApp",
    "version":"1.0"
   }
}

Nhận danh mục

Trả về một danh sách (Mảng) các danh mục mà ứng dụng của bạn hỗ trợ.

GET http://127.0.0.1:8832/api/features/categories

Phản hồi JSON:


{
    "data": [
        {
            "categoryId": "smart_device_control",
            "categoryName": "Control Smart Devices"
        },
        {
            "categoryId": "serial_port_control",
            "categoryName": "Control Serial Port"
        },
        ...
     ]
}

Nhận hành động

Trả về danh sách các hành động của danh mục đã chọn.

GET http://127.0.0.1:8832/api/features/actions?categoryId=smart_device_control

Phản hồi JSON:


{
    "data": [
        {
            "actionId": "turn_lights_off",
            "actionName": "Turn Lights Off"
        },
        {
            "actionId": "turn_lights_on",
            "actionName": "Turn Lights On"
        },
        ...
    ]
}

Thực thi hành động

Thực thi hành động được chọn bởi người dùng.

POST http://127.0.0.1:8832/api/features/actions/exec

Phần thân JSON:


{
  "categoryId":"smart_device_control",
  "actionId":"turn_lights_on",
  "context":{
    "triggerTypeId": 3,
    "userId": "123456789",
    "username": "Tesuser",
    "coins": 12
  }
}

Phản hồi JSON:


{
  "data":[]
}

Chia sẻ tài nguyên đa nguồn

Vì TikFinity là một ứng dụng web, API của bạn phải cho phép truy cập một cách rõ ràng bằng cách đặt tiêu đề và phản hồi các yêu cầu trước chuyến bay TÙY CHỌN. Nếu không, truy cập sẽ không thành công. Vui lòng trả về các tiêu đề sau cho tất cả các phản hồi:


Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: *
Access-Control-Allow-Methods: *

Thông tin kích hoạt

Yêu cầu POST /api/features/actions/exec chứa thuộc tính triggerTypeId trong bối cảnh có thể được sử dụng để xác định những gì đã kích hoạt sự kiện. Dưới đây là danh sách các lý do kích hoạt có thể:


1 = Share
2 = Command
3 = Gift (min coins value)
4 = Gift (specific gift)
6 = Join
7 = Likes (taps)
9 = Follow
10 = Subscribe
11 = Chat (any message)
12 = Emote
13 = First User Activity

Xử lý lỗi

Nếu ứng dụng của bạn gặp lỗi khi xử lý các yêu cầu hoặc bạn muốn cảnh báo người dùng về điều gì đó, chỉ cần thêm thuộc tính "message" vào phản hồi. Giao diện người dùng TikFinity sẽ hiển thị một tin nhắn.

Phản hồi ví dụ:


{
  "message": "An error occurred while processing your request."
}

Hỗ trợ

Nếu bạn có bất kỳ câu hỏi hoặc vấn đề nào, vui lòng liên hệ với chúng tôi trên Discord TikFinity.