TikFinity menawarkan kemampuan untuk mengintegrasikan alat pihak ketiga. Pengguna bisa memilih opsi 'Tindakan pihak ketiga' melalui Tindakan & Event. Kemudian pengguna bisa memilih tindakan alat pihak ketiga dari dua menu dropdown. Jika kamu ingin menulis alat seperti itu, alat kamu harus mengekspos API di port 8832. TikFinity akan mengakses API ini untuk menanyakan data atau memicu tindakan.
Alat kamu harus menyediakan endpoint berikut:
Mengembalikan informasi tentang aplikasi kamu yang akan ditampilkan di TikFinity.
GET http://127.0.0.1:8832/api/app/info
Respons JSON:
{
"data":{
"author":"@zerodytrash",
"name":"AwesomeApp",
"version":"1.0"
}
}
Mengembalikan daftar (Array) kategori yang didukung aplikasi kamu.
GET http://127.0.0.1:8832/api/features/categories
Respons JSON:
{
"data": [
{
"categoryId": "smart_device_control",
"categoryName": "Control Smart Devices"
},
{
"categoryId": "serial_port_control",
"categoryName": "Control Serial Port"
},
...
]
}
Mengembalikan daftar tindakan dari kategori yang dipilih.
GET http://127.0.0.1:8832/api/features/actions?categoryId=smart_device_control
Respons JSON:
{
"data": [
{
"actionId": "turn_lights_off",
"actionName": "Turn Lights Off"
},
{
"actionId": "turn_lights_on",
"actionName": "Turn Lights On"
},
...
]
}
Menjalankan tindakan yang dipilih oleh pengguna.
POST http://127.0.0.1:8832/api/features/actions/exec
Badan JSON:
{
"categoryId":"smart_device_control",
"actionId":"turn_lights_on",
"context":{
"triggerTypeId": 3,
"userId": "123456789",
"username": "Tesuser",
"coins": 12
}
}
Respons JSON:
{
"data":[]
}
Karena TikFinity adalah aplikasi web, API kamu harus secara eksplisit mengizinkan akses dengan mengatur header dan merespons permintaan preflight OPTIONS. Jika tidak, akses akan gagal. Silakan kembalikan header berikut untuk semua respons:
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: *
Access-Control-Allow-Methods: *
Permintaan /api/features/actions/exec POST berisi atribut triggerTypeId dalam konteks yang bisa digunakan untuk menentukan apa yang memicu event. Berikut adalah daftar alasan pemicu yang mungkin:
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
Jika aplikasi kamu mengalami kesalahan saat memproses permintaan atau kamu ingin memberitahu pengguna tentang sesuatu, cukup tambahkan atribut 'message' ke respons. UI TikFinity kemudian akan menampilkan pesan.
Contoh Respons:
{
"message": "An error occurred while processing your request."
}
Jika kamu memiliki pertanyaan atau masalah, silakan hubungi kami di Discord TikFinity.