Dokumentasi API
REST API Tako untuk mengirim hadiah ke kreator dan top up saldo akunmu. Semua endpoint membutuhkan API Key pribadi yang dapat dibuat di halaman pengaturan.
Autentikasi
Sertakan API Key pada setiap request melalui header Authorization. Key hanya dapat digunakan dari alamat IP yang diizinkan jika kamu mengatur pembatasan IP saat membuat key.
/api/v1/gift/{username}Mengirim Hadiah
Membuat hadiah ke akun kreator {username}. Body dapat dikirim sebagai application/json atau multipart/form-data.
Body
| Parameter | Tipe | Keterangan |
|---|---|---|
| name | string | — |
| string | — | |
| amount | number | — |
| paymentMethod | "qris" | "gopay" | "dana" | "paypal" | metode pembayaran. Wajib — pembayaran dari saldo tidak tersedia untuk API Key. |
| message(opsional) | string | — |
Contoh Request
curl -X POST https://tako.id/api/v1/gift/username \
-H "Authorization: Bearer <api-key>" \
-H "Content-Type: application/json" \
-d '{
"name": "Budi",
"email": "budi@email.com",
"amount": 50000,
"paymentMethod": "qris",
"message": "Semangat streaming-nya!"
}'Response
Hadiah dibuat, perlu pembayaran. Arahkan pengirim ke paymentUrl untuk menyelesaikan. Gunakan giftId untuk cek status hadiah, dan transactionId untuk cek status pembayaran. (Pembayaran via saldo hanya untuk sesi login, bukan API Key.)
{
"statusCode": 206,
"result": {
"success": true,
"giftId": "e22954ef-ed79-4949-a3a2-e43c896e0284",
"transactionId": "3f1a9c72-5b8e-4d21-9a6f-1c2d3e4f5a6b",
"paymentUrl": "https://tako.id/pay/3f1a9c72-5b8e-4d21-9a6f-1c2d3e4f5a6b"
}
}/api/v1/gift/{giftId}Status Hadiah
Mengambil detail dan status hadiah berdasarkan {giftId} — nilai giftId dari respons pembuatan hadiah (bukan transactionId). API Key hanya dapat melihat hadiah yang dibuat dengan key yang sama.status di sini adalah status hadiah (apakah hadiah sudah masuk ke kreator). Untuk status pembayaran — misalnya QRIS masih menunggu dibayar — gunakan transactionId dari respons pembuatan hadiah (206) pada endpoint GET /api/v1/transactions/{transactionId} (lihat bagian Status Transaksi). Hadiah baru berstatus success setelah pembayaran transaksinya lunas.
Contoh Request
curl https://tako.id/api/v1/gift/e22954ef-ed79-4949-a3a2-e43c896e0284 \
-H "Authorization: Bearer <api-key>"Response
Detail hadiah. status bernilai: pending | success | failed | reversed | on_hold. Untuk status pembayaran, cek transaksinya lewat endpoint Status Transaksi.
{
"statusCode": 200,
"result": {
"id": "e22954ef-ed79-4949-a3a2-e43c896e0284",
"status": "success",
"type": "alert",
"amount": 50000,
"message": "Semangat streaming-nya!",
"currency": null,
"gifterName": "Budi",
"gifterEmail": "budi@email.com",
"createdAt": "2026-07-02T10:30:00.000Z"
}
}/api/v1/topup/{username}Mengirim Top Up
Membuat transaksi top up saldo ke akun kreator {username} — kamu harus punya akses keuangan (finance) atas akun tersebut. Kirim amount untuk nominal bebas, atau productId untuk membeli paket.
Body
| Parameter | Tipe | Keterangan |
|---|---|---|
| paymentMethod | "qris" | "gopay" | "dana" | "paypal" | — |
| amount | number | wajib jika tanpa productId |
| productId(opsional) | string | id paket top up |
| discountCode(opsional) | string | — |
Contoh Request
curl -X POST https://tako.id/api/v1/topup/username \
-H "Authorization: Bearer <api-key>" \
-H "Content-Type: application/json" \
-d '{
"paymentMethod": "qris",
"amount": 100000
}'Response
Transaksi dibuat. Arahkan ke paymentUrl untuk membayar; transaction berisi detail lengkap.
{
"statusCode": 201,
"result": {
"success": true,
"transactionId": "7d2b4e19-8c3a-42f5-b1d6-9e0a1b2c3d4e",
"paymentUrl": "https://tako.id/pay/7d2b4e19-8c3a-42f5-b1d6-9e0a1b2c3d4e",
"transaction": {
"id": "7d2b4e19-8c3a-42f5-b1d6-9e0a1b2c3d4e",
"status": "pending",
"amount": 100000,
"price": 95000,
"paymentMethod": "qris",
"paymentUrl": "https://tako.id/pay/7d2b4e19-8c3a-42f5-b1d6-9e0a1b2c3d4e",
"createdAt": "2026-07-02T10:30:00.000Z"
}
}
}/api/v1/transactions/{transactionId}Status Transaksi
Mengambil detail dan status transaksi pembayaran berdasarkan {transactionId}. Berlaku untuk semua transaksi — baik dari top up (transactionId pada respons 201) maupun pembayaran hadiah (transactionId pada respons 206). Hanya dapat diakses oleh pembuat transaksi.
Contoh Request
curl https://tako.id/api/v1/transactions/7d2b4e19-8c3a-42f5-b1d6-9e0a1b2c3d4e \
-H "Authorization: Bearer <api-key>"Response
Detail transaksi. amount = saldo diterima, price = harga akhir setelah diskon. status: pending | success | failed | reversed | on_hold.
{
"statusCode": 200,
"result": {
"id": "7d2b4e19-8c3a-42f5-b1d6-9e0a1b2c3d4e",
"status": "success",
"amount": 100000,
"price": 95000,
"paymentMethod": "qris",
"paymentUrl": null,
"createdAt": "2026-07-02T10:30:00.000Z"
}
}