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.

Base URL
https://tako.id
Header
Authorization: Bearer <api-key>

Belum punya API Key? Buat di sini

POST/api/v1/gift/{username}

Mengirim Hadiah

Membuat hadiah ke akun kreator {username}. Body dapat dikirim sebagai application/json atau multipart/form-data.

Body

ParameterTipeKeterangan
namestring
emailstring
amountnumber
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"
  }
}
GET/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"
  }
}
POST/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

ParameterTipeKeterangan
paymentMethod"qris" | "gopay" | "dana" | "paypal"
amountnumberwajib jika tanpa productId
productId(opsional)stringid 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"
    }
  }
}
GET/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"
  }
}