TikFinity-Third-Party-Interface

Ang TikFinity ay nag-aalok ng ability na i-integrate ang third party tools. Ang users ay pwedeng pumili ng "Third-party action" option via Mga Aksyon & Mga Event. Ang user ay pwedeng pumili ng aksyon ng third-party tool mula sa dalawang drop-down menus. Kung gusto mong magsulat ng tool, ang tool mo ay dapat mag-expose ng API sa port 8832. Ang TikFinity ay mag-access sa API na ito para mag-query ng data o mag-trigger ng actions.

API

Ang tool mo ay dapat mag-provide ng following endpoints:

Impormasyon ng App

Nagbabalik ng impormasyon tungkol sa iyong app na ipapakita sa TikFinity.

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

JSON Response:


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

Makuha ang Mga Kategorya

Nagbabalik ng list (Array) ng mga kategorya na sinusuportahan ng iyong app.

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

JSON Response:


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

Makuha ang Mga Aksyon

Nagbabalik ng list ng mga aksyon ng selected category.

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

JSON Response:


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

I-execute ang Aksyon

I-execute ang aksyon na pinili ng user.

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

JSON Body:


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

JSON Response:


{
  "data":[]
}

Cross-origin resource sharing

Dahil ang TikFinity ay web app, ang iyong API ay dapat mag-explicitly allow ng access sa pamamagitan ng pag-set ng headers at pag-respond sa preflight OPTIONS requests. Otherwise mag-fail ang access. Please i-return ang following headers para sa lahat ng responses:


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

Trigger na Impormasyon

Ang POST /api/features/actions/exec request ay may attribute triggerTypeId sa context na pwedeng gamitin para matukoy kung ano ang nag-trigger ng event. Nandito ang lista ng possible trigger reasons:


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

Pag-handle ng Error

Kung ang iyong application ay nakaharap sa error habang nag-process ng requests o gusto mong mag-alert sa user tungkol sa something, idagdag lang ang attribute "message" sa response. Ang TikFinity UI ay magpapakita ng mensahe.

Halimawang Response:


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

Suporta

Kung may mga tanong o problema ka, makipag-ugnayan sa amin sa TikFinity Discord.