TikFinity 써드파티 인터페이스

TikFinity는 써드파티 도구 통합 기능을 제공해요. 사용자는 "액션 & 이벤트"를 통해 "써드파티 액션" 옵션을 선택할 수 있어요. 사용자는 그 다음 두 개의 드롭다운 메뉴에서 써드파티 도구의 액션을 선택할 수 있어요. 이러한 도구를 만들고 싶으면, 당신의 도구는 8832 포트에서 API를 노출해야 해요. TikFinity는 이 API에 접근해서 데이터를 쿼리하거나 액션을 트리거해요.

API

당신의 도구는 다음 엔드포인트를 제공해야 해요:

앱 정보

TikFinity에 표시될 앱에 대한 정보를 반환해요.

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

JSON 응답:


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

카테고리 가져오기

당신의 앱이 지원하는 카테고리 목록 (배열)을 반환해요.

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

JSON 응답:


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

액션 가져오기

선택된 카테고리의 액션 목록을 반환해요.

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

JSON 응답:


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

액션 실행

사용자가 선택한 액션을 실행해요.

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 응답:


{
  "data":[]
}

교차 출처 리소스 공유

TikFinity가 웹 앱이므로, 당신의 API는 헤더를 설정하고 프리플라이트 OPTIONS 요청에 응답해서 명시적으로 접근을 허용해야 해요. 그렇지 않으면 접근이 실패할 거예요. 모든 응답에 대해 다음 헤더를 반환하세요:


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

트리거 정보

POST /api/features/actions/exec 요청은 이벤트를 트리거한 것을 결정하는 데 사용할 수 있는 context의 triggerTypeId 속성을 포함해요. 가능한 트리거 이유의 목록은 다음과 같아요:


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

오류 처리

애플리케이션이 요청을 처리하는 중에 오류가 발생하거나 사용자에게 알리고 싶으면, 응답에 "message" 속성을 추가하기만 하면 돼요. TikFinity UI는 그 다음 메시지를 표시할 거예요.

예시 응답:


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

지원

질문이나 문제가 있으면 TikFinity Discord에서 문의해주세요.