Interfaz de terceros de TikFinity

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.

API

Tu herramienta debe proporcionar los siguientes endpoints:

Información de la aplicación

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"
   }
}

Obtener categorías

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"
        },
        ...
     ]
}

Obtener acciones

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"
        },
        ...
    ]
}

Ejecutar acción

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":[]
}

Intercambio de recursos de origen cruzado

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: *

Información de disparador

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

Manejo de errores

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."
}

Soporte

Si tienes alguna pregunta o problema, ponte en contacto con nosotros en Discord de TikFinity.