เอกสารการใช้งาน API
มีคำถามใช่ไหม? ติดต่อเรา.
คำขอ API ทั้งหมดต้องดำเนินการผ่าน HTTPS และต้องใช้ api_key เป็นพารามิเตอร์การค้นหา URL
ตัวอย่าง
curl https://api.printfriendly.com/v2/pdf/create?api_key=YOUR_API_KEY /
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' /
-d page_url=https://en.wikipedia.org/wiki/Eclipse
ในกรณีที่ สำเร็จ คุณจะได้รับการตอบกลับ http พร้อมสถานะ 200 และข้อมูล JSON ในเนื้อหาการตอบกลับ
{"status":"success","file_url":"https://api.printfriendly.com/downloads/pdf_1531957353_e94df5Letter.pdf"}
เวอร์ชัน API
เวอร์ชันปัจจุบันของ API คือ 2.0
ต้องระบุเวอร์ชันหลักของ API ใน URL เป็น 'v' และหมายเลข เช่น v1, v2, v3.
ตัวอย่าง
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
วิธี API
วิธี | ข้อมูลนำเข้า | ผลลัพธ์ |
|---|---|---|
PDF / สร้าง | URL / HTML | HTML |
html / สร้าง | URL / HTML |
พารามิเตอร์
คุณต้องระบุพารามิเตอร์ page_url หรือ html พารามิเตอร์อื่น ๆ ทั้งหมดเป็นตัวเลือก
พารามิเตอร์ | ค่า |
|---|---|
URL หน้า | URL ของหน้าเป้าหมาย |
HTML | เนื้อหา HTML ของหน้าเป้าหมาย |
ประเภทผลลัพธ์ | ตั้งค่าเป็น "attachment" เพื่อรับไฟล์ PDF เป็นผลลัพธ์แทนที่ JSON |
css_url | URL สำหรับไฟล์ CSS ที่กำหนดเอง |
header_image_url | URL สำหรับภาพส่วนหัวแบบกำหนดเอง |
ข้อความส่วนหัว | สตริงข้อความ |
ตัวอย่างทั้งหมดด้านล่างนี้ถูกจัดเตรียมสำหรับวิธีการ "pdf/create" และยังใช้งานได้กับวิธีการ "html/create".
ตัวอย่างพร้อมพารามิเตอร์ page_url
curl https://api.printfriendly.com/v2/pdf/create?api_key=YOUR_API_KEY /
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' /
-d page_url=https://test.test /
-d css_url=https://my-site.com/pdf_style.css /
-d header_text='My Custom Header'
ป้อนข้อมูล HTML
curl https://api.printfriendly.com/v2/pdf/create?api_key=YOUR_API_KEY /
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' /
-d html='<html><body><h1>Title</h1><p>Text text text text text text text text text</p></body></html>'
ข้อผิดพลาด
PrintFriendly ใช้รหัสสถานะทั่วไปและการตอบสนอง JSON เพื่อให้รายละเอียดข้อผิดพลาด.
รหัสสถานะ
สถานะ | คำอธิบาย |
|---|---|
200 ตกลง | ทุกอย่างทำงานได้ดี |
400 คำขอไม่ถูกต้อง | เกิดข้อผิดพลาด ดูรายละเอียดใน JSON |
401 ไม่ได้รับอนุญาต | 401 ไม่ได้รับอนุญาต |
404 ไม่พบ | 404 ไม่พบ |
429 คำขอมากเกินไป | 429 คำขอมากเกินไป |
การตอบกลับทั้งหมด ไม่สำเร็จ (ไม่ใช่สถานะ 200) มี JSON body พร้อมรายละเอียดข้อผิดพลาดและประกอบด้วยประเภทและข้อความข้อผิดพลาด
ประเภทข้อผิดพลาด
ประเภท | คำอธิบาย |
|---|---|
การตรวจสอบพารามิเตอร์ | การตรวจสอบความถูกต้องของพารามิเตอร์ล้มเหลว. |
โดเมนที่ห้าม | โดเมนนี้ถูกแบนชั่วคราว |
การวิเคราะห์ผิดพลาด | ไม่สามารถวิเคราะห์หน้าได้ เราไม่สามารถกำหนดเนื้อหาของหน้านี้ได้ |
ข้อผิดพลาดในการดึงข้อมูล | ไม่สามารถดึงหน้าเว็บได้ ตรวจสอบว่า URL สามารถเข้าถึงได้และลองอีกครั้ง |
โหลดสูง | การตรวจสอบความถูกต้องของพารามิเตอร์ล้มเหลว |
นามสกุลไฟล์ไม่ถูกต้อง | รองรับเฉพาะเว็บเพจเท่านั้น ไฟล์นี้เป็น PDF/TXT หรือรูปภาพ (JPG, PNG, GIF) |
หน้าใหญ่ | หน้าที่กำหนดเป้าหมายเกิน 2MB หน้าใหญ่ไม่รองรับ |
แพลตฟอร์มความปลอดภัย | แพลตฟอร์มรักษาความปลอดภัยบล็อกเราไม่ให้ดึงข้อมูลหน้านี้ |
หมดเวลา | หมดเวลา. ระบบไม่สามารถประมวลผลหน้าได้ภายใน 30 วินาที กรุณาลองใหม่อีกครั้งในภายหลัง. |
ครอบคลุมทั้งหมด | เกิดข้อผิดพลาดที่ไม่คาดคิด กรุณาลองใหม่อีกครั้งในภายหลัง |
ตัวอย่าง
curl https://api.printfriendly.com/v2/pdf/create?api_key=YOUR_API_KEY /
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' /
-d page_url=https://test.test
ป้อนข้อมูล HTML
# HTTP RESPONSE
# HEADERS (some of headers were ommited)
Content-Type: application/json; charset=utf-8/
Status: 400 Bad Request
# BODY (JSON)
{"status":"failed","message":"Print technology unable to download or parse content"}
การจำกัดอัตราคำขอ
API มีการจำกัดที่ 60 คำขอต่อหนึ่งนาที ถ้าคุณเกินข้อจำกัดนี้ คุณจะได้รับการตอบกลับพร้อมสถานะ: 429 คำขอมากเกินไป
ส่วนหัว | คำอธิบาย |
|---|---|
X-จำกัดอัตรา | จำกัดคำขอทั้งหมดสำหรับช่วงเวลาในปัจจุบัน. |
X-ขีดจำกัดที่เหลือ | คำขอที่เหลือสำหรับช่วงเวลาปัจจุบัน |
รีเซ็ต X-RateLimit | จำนวนวินาทีจนสิ้นสุดช่วงเวลาปัจจุบัน |
ตัวอย่างพร้อมพารามิเตอร์ page_url
# HEADERS (some of headers were ommited)
Status: 429 Too Many Requests
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 20
# BODY (JSON)Empty