TikFinity-Third-Party-Interface

TikFinity มีความสามารถในการรวมเครื่องมือของบุคคลที่สาม ผู้ใช้สามารถเลือกตัวเลือก "Third-party action" ผ่าน Actions & Events ได้ จากนั้นผู้ใช้สามารถเลือกการกระทำของเครื่องมือบุคคลที่สามจากเมนูแบบเลื่อนลงสองเมนู หากคุณต้องการเขียนเครื่องมือดังกล่าว เครื่องมือของคุณต้องแสดง API บนพอร์ต 8832 TikFinity จะเข้าถึง API นี้เพื่อค้นหาข้อมูลหรือเริ่มการกระทำ

API

เครื่องมือของคุณต้องให้บริการ endpoints ต่อไปนี้:

ข้อมูลแอป

ส่งกลับข้อมูลเกี่ยวกับแอปของคุณที่จะแสดงใน TikFinity

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

JSON Response:


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

รับหมวดหมู่

ส่งกลับรายการ (Array) ของหมวดหมู่ที่แอปของคุณรองรับ

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

รับการกระทำ

ส่งกลับรายการการกระทำของหมวดหมู่ที่เลือก

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

เรียกใช้การกระทำ

ดำเนินการกระทำที่ผู้ใช้เลือก

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

การแชร์ทรัพยากรข้ามแหล่งที่มา

เนื่องจาก TikFinity เป็นเว็บแอป API ของคุณต้องอนุญาตการเข้าถึงอย่างชัดแจ้งโดยการตั้งค่า headers และตอบสนอง OPTIONS requests preflight มิฉะนั้น การเข้าถึงจะล้มเหลว โปรดส่งคืน headers ต่อไปนี้สำหรับการตอบสนองทั้งหมด:


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

ข้อมูล Trigger

POST /api/features/actions/exec request มีแอตทริบิวต์ triggerTypeId ใน บริบท ซึ่งสามารถใช้เพื่อกำหนดว่าอะไรเป็นตัวกระตุ้นเหตุการณ์ นี่คือรายการของเหตุผลที่ทำให้ trigger ได้:


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" ลงในการตอบสนอง UI ของ TikFinity จะแสดงข้อความแล้ว

ตัวอย่างการตอบสนอง:


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

ช่วยเหลือ

หากคุณมีคำถามหรือปัญหาใด ๆ โปรดติดต่อเราบน TikFinity Discord