TikFinity ofrece la capacidad de integrar herramientas de terceros. Los usuarios pueden seleccionar la opción "Acción de terceros" a través de Acciones y eventos. Luego, el usuario puede seleccionar una acción de la herramienta de terceros desde dos menús desplegables. Si deseas escribir una herramienta de este tipo, entonces tu herramienta debe exponer una API en el puerto 8832. TikFinity accederá a esta API para consultar datos o desencadenar acciones.
Tu herramienta debe proporcionar los siguientes endpoints:
Devuelve información sobre tu aplicación que se mostrará en TikFinity.
GET http://127.0.0.1:8832/api/app/info
Respuesta JSON:
{
"data":{
"author":"@zerodytrash",
"name":"AwesomeApp",
"version":"1.0"
}
}
Devuelve una lista (matriz) de categorías que tu aplicación admite.
GET http://127.0.0.1:8832/api/features/categories
Respuesta JSON:
{
"data": [
{
"categoryId": "smart_device_control",
"categoryName": "Control Smart Devices"
},
{
"categoryId": "serial_port_control",
"categoryName": "Control Serial Port"
},
...
]
}
Devuelve una lista de acciones de la categoría seleccionada.
GET http://127.0.0.1:8832/api/features/actions?categoryId=smart_device_control
Respuesta JSON:
{
"data": [
{
"actionId": "turn_lights_off",
"actionName": "Turn Lights Off"
},
{
"actionId": "turn_lights_on",
"actionName": "Turn Lights On"
},
...
]
}
Ejecuta la acción seleccionada por el usuario.
POST http://127.0.0.1:8832/api/features/actions/exec
Cuerpo JSON:
{
"categoryId":"smart_device_control",
"actionId":"turn_lights_on",
"context":{
"triggerTypeId": 3,
"userId": "123456789",
"username": "Tesuser",
"coins": 12
}
}
Respuesta JSON:
{
"data":[]
}
Como TikFinity es una aplicación web, tu API debe permitir explícitamente el acceso estableciendo encabezados y respondiendo a solicitudes de verificación previa OPTIONS. De lo contrario, el acceso fallará. Por favor, devuelve los siguientes encabezados para todas las respuestas:
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: *
Access-Control-Allow-Methods: *
La solicitud POST /api/features/actions/exec contiene el atributo triggerTypeId en contexto que se puede usar para determinar qué desencadenó el evento. Aquí hay una lista de posibles razones de activación:
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
Si tu aplicación encuentra un error al procesar las solicitudes o deseas alertar al usuario sobre algo, simplemente añade el atributo "mensaje" a la respuesta. La interfaz de usuario de TikFinity mostrará un mensaje.
Respuesta de ejemplo:
{
"message": "An error occurred while processing your request."
}
Si tienes alguna pregunta o problema, ponte en contacto con nosotros en Discord de TikFinity.