TikFinity biedt de mogelijkheid om tools van derden te integreren. Gebruikers kunnen via Actions & Events de optie "Third-party action" kiezen. Daarna kan de gebruiker in twee keuzemenu's een actie van de tool van de derde partij selecteren. Als je zo'n tool wilt schrijven, moet je tool een API aanbieden op poort 8832. TikFinity gebruikt deze API om gegevens op te vragen of acties te activeren.
Je tool moet de volgende endpoints bieden:
Geeft informatie over je app terug die in TikFinity wordt getoond.
GET http://127.0.0.1:8832/api/app/info
JSON-respons:
{
"data":{
"author":"@zerodytrash",
"name":"AwesomeApp",
"version":"1.0"
}
}
Geeft een lijst (array) terug met categorieën die je app ondersteunt.
GET http://127.0.0.1:8832/api/features/categories
JSON-respons:
{
"data": [
{
"categoryId": "smart_device_control",
"categoryName": "Control Smart Devices"
},
{
"categoryId": "serial_port_control",
"categoryName": "Control Serial Port"
},
...
]
}
Geeft een lijst terug met acties van de geselecteerde categorie.
GET http://127.0.0.1:8832/api/features/actions?categoryId=smart_device_control
JSON-respons:
{
"data": [
{
"actionId": "turn_lights_off",
"actionName": "Turn Lights Off"
},
{
"actionId": "turn_lights_on",
"actionName": "Turn Lights On"
},
...
]
}
Voert de actie uit die de gebruiker heeft geselecteerd.
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-respons:
{
"data":[]
}
Omdat TikFinity een web-app is, moet je API de toegang expliciet toestaan door headers in te stellen en preflight-OPTIONS-verzoeken te beantwoorden. Anders mislukt de toegang. Geef de volgende headers terug bij alle responses:
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: *
Access-Control-Allow-Methods: *
Het POST-verzoek /api/features/actions/exec bevat het attribuut triggerTypeId in de context waarmee je kunt bepalen wat de gebeurtenis heeft geactiveerd. Hier is een lijst met mogelijke triggerredenen:
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
Als je applicatie een fout tegenkomt bij het verwerken van de verzoeken of je de gebruiker ergens voor wilt waarschuwen, voeg dan het attribuut "message" toe aan de respons. De TikFinity-UI toont dan een bericht.
Voorbeeldrespons:
{
"message": "An error occurred while processing your request."
}
Als je vragen of problemen hebt, neem dan contact met ons op via de TikFinity Discord.