TikFinity menawarkan kemampuan untuk mengintegrasikan alat pihak ketiga. Pengguna dapat memilih opsi "Tindakan pihak ketiga" melalui Tindakan & Event. Pengguna kemudian dapat 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 query 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 menetapkan 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 POST /api/features/actions/exec berisi atribut triggerTypeId dalam konteks yang dapat digunakan untuk menentukan apa yang memicu acara tersebut. Berikut adalah daftar kemungkinan alasan pemicu:
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 memperingatkan pengguna tentang sesuatu, cukup tambahkan atribut "message" ke respons. UI TikFinity kemudian akan menampilkan pesan.
Respons Contoh:
{
"message": "An error occurred while processing your request."
}
Jika kamu memiliki pertanyaan atau masalah, silakan hubungi kami di TikFinity Discord.