Ipinaliwanag ng nakaraang artikulo ang mga batayan ng Kencang.in API authentication. Ngayon, tumungo tayo sa code. Nasa ibaba ang mga halimbawa ng paggawa ng maikling link sa tatlong wikang pinakamadalas gamitin ng mga user namin: PHP para sa WordPress at Laravel site, Python para sa script at data automation, at JavaScript sa Node.js para sa modernong serbisyo. Binabasa ng lahat ng halimbawa ang API key mula sa environment variable sa halip na direktang ilagay sa code.
Endpoint na ginamit
POST https://kencang.in/api/url/add na may JSON body. Ang minimum na parameter ay url. May laman ang matagumpay na response na error: 0, id, at shorturl. Ang isang kumpletong listahan ng mga parameter ay nasa dokumentasyon ng developer.
PHP na may cURL
<?php
$key = getenv('KENCANG_KEY');
$payload = json_encode([
'url' => 'https://yourstore.com/promo',
'custom' => 'may-promo',
]);
$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'];
Sa Laravel, puwede mong palitan ang cURL block ng Http::withToken($key)->post(...). Kung WordPress ang gamit mo, gamitin ang wp_remote_post() upang sundin ang proxy ng site at pagsasaayos ng SSL. Available ang PHP cURL function reference sa Opisyal na dokumentasyon ng PHP.
Python gamit ang requests

Ang library na requests ay humahawak sa JSON serialization gamit ang parameter na json= at awtomatikong nagdaragdag ng Content-Type header. Palaging magtakda ng timeout para hindi ma-stuck ang script kapag may problema sa network. Para gumawa ng daan-daang link mula sa CSV file, ilagay ang call sa loop at magdagdag ng kaunting pagitan ayon sa rate limit ng plan mo.
JavaScript (Node.js 18+) na may fetch

Sa Node.js 18 pataas, built-in na ang fetch . Huwag patakbuhin ang code na ito sa browser dahil makikita ang API key ng sinumang magbukas ng DevTools. Kung kailangang gumawa ng link ang frontend mo, gumawa ng endpoint sa backend mo na tumatawag sa Kencang.in API. Ang dokumentasyon ng fetch mababasa sa MDN Web Docs.
Tamang paghawak sa response
- Suriin muna ang HTTP status code: 200 tagumpay, 401 invalid na key, 403 feature na wala sa plan, 429 lampas sa rate limit, 5xx problema sa server.
- Pagkatapos, suriin ang
errorsa body. May mga validation error, gaya ng nagamit nang alias o invalid na URL, na ibinabalik na may status na 200 aterror: 1kasama ng isang mensahe. - I-save
idna ibinalik sa sarili mong database dahil kailangan mo ito para i-update o i-delete ang link. - Gawing idempotent ang request kung puwede: gumamit ng deterministic na alias, gaya ng product code, para hindi gumawa ng duplicate na link ang paulit-ulit na call.
Halimbawa ng totoong kaso
Nagdaragdag ang online store ng hook kapag may bagong produktong nailathala. Tinatawag ng hook ang API gamit ang product SKU bilang alias, saka sini-save ang shorturl sa product column. Kinokopya lang ng social media team ang link mula sa admin panel, at naitatala ang bawat click ayon sa produkto. Magagamit din ang ganitong paraan para gumawa ng maramihang QR code para sa packaging.
Susunod
Kapag gumagana na ang paggawa ng link, idagdag ang rate limit at retry handling na ipinaliwanag sa artikulong rate limit at error handling sa API, o tumanggap ng click notification gamit ang mga webhook.
Mga karaniwang tanong
Bakit 200 ang tugon ngunit hindi nilikha ang link?
Suriin ang error value sa response body. Ibinabalik ang validation error gaya ng nagamit nang alias o invalid na URL na may status na 200 at error value na 1 kasama ang mensahe. Dapat parehong suriin ng code mo ang HTTP status at error key.
Paano maiiwasan ang mga duplicate na link kapag paulit-ulit ang mga kahilingan?
Gumamit ng deterministic na alias, gaya ng product code o order ID. Kung nagtagumpay na ang unang request, tatanggihan ang paulit na request dahil mayroon nang alias, at makukuha ng app mo ang nagawang link sa halip na gumawa ng bago.
May opisyal bang library para sa PHP o Python?
Karaniwang REST na may JSON ang Kencang.in API, kaya sapat ang standard HTTP library ng bawat wika: cURL o Guzzle sa PHP, requests sa Python at fetch sa Node.js. Puwedeng direktang kopyahin ang mga halimbawa sa artikulong ito sa proyekto mo.
Ano ang inirerekomendang timeout para sa request?
Sapat ang sampung segundo sa normal na kondisyon. Karaniwang tapos ang redirect at paggawa ng link sa daan-daang millisecond, kaya mas malamang na problema sa network ang request na lumampas sa timeout at dapat subukang muli matapos ang pagitan.