ข้ามไปยังเนื้อหา

เร็ว ๆ นี้: โปร 11.11 · ลด 31% เริ่ม 11/11 ใช้โค้ดได้เมื่อโปรโมชันเริ่ม

ดูราคา

สร้างลิงก์สั้นผ่าน API ด้วย PHP, Python และ JavaScript

สร้างลิงก์สั้นผ่าน API ด้วย PHP, Python และ JavaScript

อธิบายบทความก่อนหน้านี้ พื้นฐานการตรวจสอบสิทธิ์ Kencang.in API. ตอนนี้เรามาถึงรหัสแล้ว ด้านล่างนี้เป็นตัวอย่างของการสร้างลิงก์สั้น ๆ ในสามภาษาที่ผู้ใช้ของเราใช้บ่อยที่สุด: PHP สำหรับไซต์ WordPress และ Laravel, Python สำหรับสคริปต์และข้อมูลอัตโนมัติ และ JavaScript ใน Node.js สำหรับบริการสมัยใหม่ ตัวอย่างทั้งหมดอ่านคีย์ API จากตัวแปรสภาพแวดล้อม แทนที่จะเขียนลงในโค้ดโดยตรง

เอนด์พอยต์ที่ใช้

POST https://kencang.in/api/url/add ด้วยเนื้อหา JSON พารามิเตอร์ขั้นต่ำคือ url. ตอบสนองได้สำเร็จแล้ว error: 0, idและ shorturl. มีรายการพารามิเตอร์ทั้งหมดอยู่ในนั้น เอกสารสำหรับนักพัฒนา.

PHP พร้อม 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'];

ใน Laravel คุณสามารถแทนที่บล็อก cURL ด้วย Http::withToken($key)->post(...). หากคุณใช้ WordPress ให้ใช้มัน wp_remote_post() เพื่อติดตามพร็อกซีของไซต์และการกำหนดค่า SSL การอ้างอิงฟังก์ชัน PHP cURL มีอยู่ที่ เอกสารอย่างเป็นทางการของ PHP.

Python ด้วย requests

Python - สร้างลิงก์สั้นผ่าน API ด้วย PHP, Python และ JavaScript
Python

ห้องสมุด requests จัดการการทำให้เป็นอนุกรม JSON ผ่านพารามิเตอร์ json= และเพิ่มส่วนหัว Content-Type โดยอัตโนมัติ ให้เสมอ timeout เพื่อให้สคริปต์ไม่ค้างหากเครือข่ายมีปัญหา หากต้องการสร้างลิงก์หลายร้อยลิงก์จากไฟล์ CSV ให้รวมการโทรเหล่านี้เข้าด้วยกันและให้หน่วงเวลาเล็กน้อยตามขีดจำกัดอัตราของแพ็กเกจของคุณ

JavaScript (Node.js 18+) ด้วย fetch

Node.js - สร้างลิงก์สั้นผ่าน API ด้วย PHP, Python และ JavaScript
Node.js

Node.js 18 ขึ้นไปมีอยู่แล้ว fetch ค่าเริ่มต้น อย่าเรียกใช้โค้ดนี้ในเบราว์เซอร์ เนื่องจากคีย์ API จะมองเห็นได้โดยใครก็ตามที่เปิด DevTools หากส่วนหน้าของคุณจำเป็นต้องสร้างลิงก์ ให้สร้างเอนด์พอยต์บนแบ็คเอนด์ของคุณที่เรียก Kencang.in API เอกสารประกอบ fetch สามารถอ่านได้ เอกสารเว็บ MDN.

จัดการการตอบสนองอย่างถูกต้อง

  • ตรวจสอบรหัสสถานะ HTTP ก่อน: สำเร็จ 200 รายการ, คีย์ไม่ถูกต้อง 401 รายการ, คุณลักษณะ 403 ไม่พร้อมใช้งานในแพ็กเกจ, เกินขีดจำกัดอัตรา 429 รายการ, ปัญหาเซิร์ฟเวอร์ 5xx
  • จากนั้นตรวจสอบ error ในเนื้อหาคำขอ ข้อผิดพลาดในการตรวจสอบข้อมูลบางอย่าง เช่น ชื่อย่อถูกใช้แล้วหรือ URL ไม่ถูกต้อง จะส่งกลับด้วยสถานะ 200 และ error: 1 พร้อมด้วยข้อความ
  • บันทึก id ส่งคืนในฐานข้อมูลของคุณเอง เนื่องจากคุณต้องการใช้เพื่ออัปเดตหรือลบลิงก์
  • ส่งคำขอ idempotent ทุกครั้งที่เป็นไปได้: ใช้ชื่อย่อที่กำหนดขึ้น เช่น รหัสผลิตภัณฑ์ เพื่อไม่ให้การโทรกลับสร้างลิงก์ที่ซ้ำกัน

ตัวอย่างกรณีจริง

ร้านค้าออนไลน์เพิ่มฮุกเมื่อเผยแพร่สินค้าใหม่ ฮุกเรียก API โดยใช้ SKU สินค้าเป็นชื่อย่อ แล้วบันทึก shorturl ไปยังคอลัมน์ผลิตภัณฑ์ ทีมโซเชียลมีเดียเพียงคัดลอกลิงก์จากแผงผู้ดูแลระบบ และทุกคลิกจะถูกบันทึกตามผลิตภัณฑ์ ก็สามารถนำมาทำลวดลายเดียวกันได้ คิวอาร์โค้ด จำนวนมากสำหรับบรรจุภัณฑ์.

ถัดไป

เมื่อสร้างลิงก์แล้ว ให้เพิ่มขีดจำกัดอัตราแล้วลองจัดการอีกครั้งที่อธิบายไว้ในบทความ และการจัดการข้อผิดพลาดใน APIหรือรับการคลิกผ่านการแจ้งเตือน เว็บฮุก.

คำถามที่พบบ่อย

เหตุใดการตอบกลับจึงเป็น 200 แต่ลิงก์ไม่ถูกสร้างขึ้น

ตรวจสอบค่า error ในเนื้อหาผลตอบกลับ ข้อผิดพลาดในการตรวจสอบข้อมูล เช่น ชื่อย่อถูกใช้แล้วหรือ URL ไม่ถูกต้อง จะส่งกลับด้วยสถานะ 200 และ error มีค่า 1 พร้อมข้อความ โค้ดของคุณต้องตรวจสอบทั้งสถานะ HTTP และคีย์ error

จะหลีกเลี่ยงลิงก์ที่ซ้ำกันเมื่อมีการร้องขอซ้ำได้อย่างไร

ใช้ชื่อย่อที่กำหนด เช่น รหัสผลิตภัณฑ์หรือรหัสคำสั่งซื้อ หากคำขอแรกสำเร็จจริง การทำซ้ำจะถูกปฏิเสธเนื่องจากมีชื่อย่ออยู่แล้ว และแอปพลิเคชันของคุณสามารถดึงลิงก์ที่สร้างไว้แล้วแทนที่จะสร้างลิงก์ใหม่

มีไลบรารี่อย่างเป็นทางการสำหรับ PHP หรือ Python หรือไม่?

Kencang.in API เป็น REST ธรรมดาที่มี JSON ดังนั้นไลบรารี HTTP มาตรฐานในแต่ละภาษาจึงเพียงพอแล้ว: cURL หรือ Guzzle ใน PHP, คำขอใน Python และดึงข้อมูลใน Node.js ตัวอย่างในบทความนี้สามารถคัดลอกไปยังโปรเจ็กต์ของคุณได้โดยตรง

กำหนดเวลาที่แนะนำสำหรับคำขอคือเท่าใด

สิบวินาทีก็เพียงพอสำหรับสภาวะปกติ โดยทั่วไปการสร้างการเปลี่ยนเส้นทางและลิงก์จะเสร็จสิ้นภายในหลายร้อยมิลลิวินาที ดังนั้นคำขอที่เกินระยะหมดเวลาจึงมีแนวโน้มมากขึ้นเนื่องจากปัญหาเครือข่าย และควรลองอีกครั้งโดยมีความล่าช้า

Tim Kencang.in

Ditulis oleh tim produk dan marketing Kencang.in, pemendek link, QR code dinamis, dan bio page buatan Indonesia yang dioperasikan oleh PT Kode Digital Solusindo. Kami menulis berdasarkan pengalaman mengelola kampanye klien dan membangun fitur yang dibahas.

Tentang Kencang.in ติดต่อเรา