Dokumentasi API
Ada pertanyaan? Hubungi Kami.
Semua permintaan API harus dilakukan melalui HTTPS dan menggunakan HTTP Basic Auth dengan kredensial berikut:
Username: API KEY
Password: Not needed
Contoh
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://en.wikipedia.org/wiki/Eclipse
Bendera | Deskripsi |
|---|---|
-u | Lewatkan kredensial autentikasi dasar, titik dua setelah kunci API mencegah cURL meminta kata sandi. |
-d | kirim data dalam permintaan POST |
Dalam kasus berhasil, Anda akan mendapatkan respons HTTP dengan Status 302 (Redirect) dan informasi JSON akan berada di badan respons.
# HTTP RESPONSE
# HEADERS (some of headers are ommited)
Content-Type: application/json; charset=utf-8
Status: 302 Found
Location: https://v.printfriendly.com/system/pdfs/pdf_1480936999_755625A4.pdf
# BODY
{"success":"Redirect to https://v.printfriendly.com/system/pdfs/pdf_1480947535_6e7ecaA4.pdf"}
Versi API
Versi terkini API adalah 1.0.
Versi utama API harus disertakan dalam URL sebagai 'v' dan nomor, contohnya v1, v2, v3.
Contoh
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
Metode API
Metode | Masukan | Output |
|---|---|---|
PDF / buat | URL / HTML | HTML |
html / buat | URL / HTML |
Parameter
Anda harus menyediakan parameter page_url atau html. Semua parameter lainnya bersifat opsional.
Parameter | Nilai |
|---|---|
URL halaman | URL halaman target |
HTML | Konten HTML halaman target |
css_url | URL untuk file CSS kustom |
header_image_url | URL untuk gambar Header Kustom |
Teks header | String Teks |
Semua contoh di bawah ini disediakan untuk metode "pdf/create" dan juga bekerja untuk metode "html/create".
Contoh dengan parameter page_url
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://test.test /
-d css_url=https://my-site.com/pdf_style.css /
-d header_text='My Custom Header'
Dalam kasus berhasil, Anda akan mendapatkan respons HTTP dengan Status 302 (Redirect) dan informasi JSON akan berada di badan respons.
Contoh dengan parameter html
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d html='<html><body><h1>Title</h1><p>Text text text text text text text text text</p></body></html>'
Dalam kasus berhasil, Anda akan mendapatkan respons HTTP dengan Status 200 dan konten PDF/HTML di badan respons.
Kesalahan
PrintFriendly menggunakan kode status konvensional dan respons JSON untuk memberikan detail kesalahan.
Kode Status
Status | Deskripsi |
|---|---|
200 OK | Semuanya bekerja dengan baik. |
400 Permintaan Buruk | Terjadi kesalahan. Lihat detail di JSON. |
401 Tidak diizinkan | 401 Tidak diizinkan |
404 Tidak Ditemukan | 404 Tidak Ditemukan |
429 Terlalu Banyak Permintaan | 429 Terlalu Banyak Permintaan |
Semua respons tidak berhasil (bukan Status 302 OK) memiliki badan JSON dengan detail kesalahan, yang mencakup jenis kesalahan dan pesan.
Jenis Kesalahan
Jenis | Deskripsi |
|---|---|
Validasi parameter | Validasi parameter gagal. |
Domain terlarang | Domain ini sementara diblokir. |
Gagal parsing | Tidak dapat memproses halaman. Kami tidak dapat menentukan konten halaman ini. |
Kesalahan pengambilan | Tidak dapat mengambil halaman. Periksa bahwa URL dapat diakses dan coba lagi. |
beban tinggi | Validasi parameter gagal. |
Ekstensi file tidak valid | Hanya halaman web yang didukung. Ini adalah file PDF/TXT atau Gambar (JPG, PNG, GIF). |
halaman besar | Halaman target lebih dari 2MB. Halaman besar tidak didukung. |
platform keamanan | Platform keamanan mencegah kami mengambil halaman ini. |
waktu habis | Waktu habis. Mesin tidak dapat memproses halaman dalam 30 detik. Silakan coba lagi nanti. |
serba guna | Kesalahan tak terduga. Silakan coba lagi nanti. |
Contoh
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://test.test
Masukan 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"}
Pembatasan Tingkat Permintaan
API memiliki batas 60 permintaan per menit. Jika Anda melebihi batas ini, Anda akan mendapatkan respons dengan Status: 429 Terlalu Banyak Permintaan.
Header | Deskripsi |
|---|---|
Batas X-RateLimit | Batas total permintaan untuk periode saat ini. |
X-Batas Tersisa | Permintaan yang tersisa untuk periode saat ini. |
Reset X-RateLimit | Jumlah detik hingga akhir periode saat ini. |
Contoh dengan parameter 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