Artikel sebelumnya menjelaskan dasar autentikasi API Kencang.in. Sekarang kita masuk ke kode. Di bawah ini contoh membuat link pendek dalam tiga bahasa yang paling sering dipakai pengguna kami: PHP untuk situs WordPress dan Laravel, Python untuk skrip otomasi dan data, serta JavaScript di Node.js untuk layanan modern. Semua contoh membaca kunci API dari variabel lingkungan, bukan menuliskannya langsung di kode.
Endpoint yang dipakai
POST https://kencang.in/api/url/add dengan body JSON. Parameter minimal adalah url. Respons sukses memiliki error: 0, id, dan shorturl. Daftar parameter lengkap ada di dokumentasi developer.
PHP dengan cURL
<?php
$key = getenv('KENCANG_KEY');
$payload = json_encode([
'url' => 'https://tokoanda.com/promo',
'custom' => 'promo-mei',
]);
$ch = curl_init('https://kencang.in/api/url/add');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $payload,
CURLOPT_TIMEOUT => 10,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $key,
'Content-Type: application/json',
],
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
$data = json_decode($response, true);
if ($status !== 200 || !isset($data['error']) || $data['error'] !== 0) {
throw new RuntimeException($data['message'] ?? "HTTP $status");
}
echo $data['shorturl'];
Di Laravel, Anda bisa mengganti blok cURL dengan Http::withToken($key)->post(...). Jika memakai WordPress, gunakan wp_remote_post() agar mengikuti konfigurasi proxy dan SSL situs. Referensi fungsi cURL PHP tersedia di dokumentasi resmi PHP.
Python dengan requests

Pustaka requests menangani serialisasi JSON lewat parameter json= dan otomatis menambahkan header Content-Type. Selalu berikan timeout agar skrip tidak menggantung jika jaringan bermasalah. Untuk membuat ratusan link dari file CSV, bungkus pemanggilan ini dalam perulangan dan beri jeda kecil sesuai rate limit paket Anda.
JavaScript (Node.js 18+) dengan fetch

Node.js 18 ke atas sudah memiliki fetch bawaan. Jangan menjalankan kode ini di browser, karena kunci API akan terlihat oleh siapa pun yang membuka DevTools. Jika front-end Anda perlu membuat link, buat endpoint di backend Anda yang memanggil API Kencang.in. Dokumentasi fetch dapat dibaca di MDN Web Docs.
Menangani respons dengan benar
- Periksa kode status HTTP terlebih dahulu: 200 sukses, 401 kunci tidak valid, 403 fitur tidak tersedia di paket, 429 melebihi rate limit, 5xx masalah server.
- Kemudian periksa
errordi body. Beberapa kesalahan validasi, seperti alias sudah dipakai atau URL tidak valid, dikembalikan dengan status 200 danerror: 1beserta pesan. - Simpan
idyang dikembalikan di basis data Anda sendiri, karena Anda membutuhkannya untuk memperbarui atau menghapus link. - Buat permintaan idempoten jika memungkinkan: gunakan alias deterministik, misalnya kode produk, agar pemanggilan ulang tidak membuat link ganda.
Contoh kasus nyata
Sebuah toko online menambahkan hook pada saat produk baru dipublikasikan. Hook memanggil API dengan alias berupa SKU produk, lalu menyimpan shorturl ke kolom produk. Tim media sosial tinggal menyalin link dari panel admin, dan setiap klik tercatat per produk. Pola yang sama bisa dipakai untuk membuat QR code massal untuk kemasan.
Berikutnya
Setelah pembuatan link berjalan, tambahkan penanganan rate limit dan retry yang dijelaskan di artikel rate limit dan penanganan error di API, atau terima pemberitahuan klik lewat webhook.
Pertanyaan umum
Kenapa respons 200 tetapi link tidak dibuat?
Periksa nilai error di body respons. Kesalahan validasi seperti alias sudah dipakai atau URL tidak valid dikembalikan dengan status 200 dan error bernilai 1 disertai pesan. Kode Anda harus memeriksa status HTTP dan kunci error sekaligus.
Bagaimana menghindari link ganda saat permintaan diulang?
Gunakan alias deterministik, misalnya kode produk atau ID pesanan. Jika permintaan pertama sebenarnya berhasil, pengulangan akan ditolak karena alias sudah ada, dan aplikasi Anda bisa mengambil link yang sudah dibuat alih-alih membuat baru.
Apakah ada pustaka resmi untuk PHP atau Python?
API Kencang.in adalah REST biasa dengan JSON, sehingga pustaka HTTP standar di tiap bahasa sudah cukup: cURL atau Guzzle di PHP, requests di Python, dan fetch di Node.js. Contoh di artikel ini bisa langsung disalin ke proyek Anda.
Berapa batas waktu yang disarankan untuk permintaan?
Sepuluh detik cukup untuk kondisi normal. Pengalihan dan pembuatan link biasanya selesai dalam ratusan milidetik, jadi permintaan yang melewati batas waktu lebih mungkin disebabkan masalah jaringan dan sebaiknya dicoba ulang dengan jeda.