Artikel sebelum ini menerangkan asas pengesahan API Kencang.in. Kini kita beralih kepada kod. Di bawah ialah contoh membuat pautan pendek dalam tiga bahasa yang paling kerap digunakan pengguna kami: PHP untuk laman WordPress dan Laravel, Python untuk skrip dan automasi data, serta JavaScript dalam Node.js untuk perkhidmatan moden. Semua contoh membaca kunci API daripada pemboleh ubah persekitaran, bukannya menulis terus dalam kod.
Titik akhir yang digunakan
POST https://kencang.in/api/url/add dengan badan JSON. Parameter minimum ialah url. Respons yang berjaya mengandungi error: 0, id, dan shorturl. Senarai lengkap parameter ada dalam dokumentasi pembangun.
PHP dengan cURL
<?php
$key = getenv('KENCANG_KEY');
$payload = json_encode([
'url' => 'https://kedaianda.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'];
Dalam Laravel, anda boleh menggantikan blok cURL dengan Http::withToken($key)->post(...). Jika menggunakan WordPress, gunakan wp_remote_post() untuk mengikuti proksi tapak dan konfigurasi SSL. Rujukan fungsi PHP cURL boleh didapati di Dokumentasi rasmi PHP.
Python dengan requests

Pustaka requests mengendalikan pensirian JSON melalui parameter json= dan menambahkan pengepala Content-Type secara automatik. Sentiasa tetapkan timeout supaya skrip tidak tergantung jika rangkaian mengalami masalah. Untuk membuat ratusan pautan daripada fail CSV, bungkus panggilan ini dalam satu gelung dan berikan kelewatan kecil mengikut had kadar pelan anda.
JavaScript (Node.js 18+) dengan fetch

Node.js 18 dan ke atas sudah menyediakan fetch secara terbina dalam. Jangan jalankan kod ini dalam pelayar kerana kunci API akan kelihatan kepada sesiapa yang membuka DevTools. Jika frontend anda perlu membuat pautan, sediakan titik akhir pada backend yang memanggil API Kencang.in. Dokumentasi fetch boleh dibaca di MDN Web Docs.
Mengendalikan respons dengan betul
- Semak kod status HTTP dahulu: 200 kejayaan, 401 kunci tidak sah, 403 ciri tidak tersedia dalam pelan, 429 melebihi had kadar, 5xx masalah pelayan.
- Kemudian semak
errorpada badan. Beberapa ralat pengesahan, seperti alias sudah digunakan atau URL tidak sah, dikembalikan dengan status 200 danerror: 1bersama dengan mesej. - Simpan
idyang dikembalikan dalam pangkalan data anda sendiri, kerana anda memerlukannya untuk mengemas kini atau mengalih keluar pautan. - Pastikan permintaan idempoten jika boleh: gunakan alias deterministik, seperti kod produk, supaya permintaan berulang tidak menghasilkan pautan pendua.
Contoh kes sebenar
Sebuah kedai dalam talian menambah hook apabila produk baharu diterbitkan. Hook itu memanggil API dengan alias dalam bentuk SKU produk, kemudian menyimpan shorturl ke lajur produk. Pasukan media sosial hanya menyalin pautan daripada panel pentadbir, dan setiap klik direkodkan bagi setiap produk. Corak yang sama boleh digunakan untuk membuat Kod QR pukal untuk pembungkusan.
Seterusnya
Selepas pembuatan pautan berfungsi, tambahkan pengendalian had kadar dan cuba semula yang diterangkan dalam artikel had kadar dan pengendalian ralat dalam API, atau terima pemberitahuan klik melalui webhooks.
Soalan lazim
Mengapa respons 200 tetapi pautan tidak dibuat?
Semak nilai error dalam badan respons. Ralat pengesahan seperti alias sudah digunakan atau URL tidak sah dikembalikan dengan status 200 dan nilai error 1 berserta mesej. Kod anda patut memeriksa status HTTP dan kunci error serentak.
Bagaimana untuk mengelakkan pautan pendua apabila permintaan diulang?
Gunakan alias deterministik, seperti kod produk atau ID pesanan. Jika permintaan pertama benar-benar berjaya, ulangan akan ditolak kerana alias sudah wujud dan aplikasi anda boleh mendapatkan semula pautan yang telah dibuat dan bukannya membuat yang baharu.
Adakah terdapat pustaka rasmi untuk PHP atau Python?
API Kencang.in ialah REST biasa dengan JSON, jadi pustaka HTTP standard bagi setiap bahasa sudah memadai: cURL atau Guzzle dalam PHP, requests dalam Python dan fetch dalam Node.js. Contoh dalam artikel ini boleh terus disalin ke projek anda.
Apakah had masa yang disyorkan untuk permintaan?
Sepuluh saat memadai dalam keadaan biasa. Pengalihan dan pembuatan pautan biasanya selesai dalam ratusan milisaat, jadi permintaan yang melebihi had masa lebih berkemungkinan berpunca daripada masalah rangkaian dan patut dicuba semula selepas jeda.