Dokumentasi API
Ada soalan? Hubungi Kami.
Semua permintaan API mesti 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 | Penerangan |
|---|---|
-u | Berikan kelayakan asli pengesahan, dua titik selepas kunci API menghalang cURL daripada meminta kata laluan. |
-d | hantar data dalam permintaan POST |
Sekiranya berjaya, anda akan mendapat respons http dengan Status 302 (Redirect) dan maklumat JSON akan berada dalam tubuh 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 semasa API ialah 1.0.
Versi utama API mesti disediakan dalam URL sebagai 'v' dan nombor, iaitu v1, v2, v3.
Contoh
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
Kaedah API
Kaedah | Input | Output |
|---|---|---|
PDF / buat | URL / HTML | HTML |
html / cipta | URL / HTML |
Parameter
Anda mesti menyediakan parameter page_url atau html. Semua parameter lain adalah pilihan.
Parameter | Nilai |
|---|---|
URL halaman | URL halaman sasaran |
HTML | Kandungan HTML halaman sasaran |
css_url | URL untuk fail CSS tersuai |
header_image_url | URL untuk imej Header Tersuai |
Teks pengepala | Rangkaian Teks |
Semua contoh di bawah disediakan untuk kaedah "pdf/create" dan juga berfungsi untuk kaedah "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'
Sekiranya berjaya, anda akan mendapat respons http dengan Status 302 (Redirect) dan maklumat JSON akan berada dalam tubuh 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 kes kejayaan, anda akan menerima respons HTTP dengan Status 200 dan kandungan PDF/HTML dalam badan respons.
Ralat
PrintFriendly menggunakan kod status konvensional dan respons JSON untuk menyediakan butiran ralat.
Kod Status
Status | Penerangan |
|---|---|
200 OK | Segala-galanya berfungsi dengan baik. |
400 Permintaan Tidak Baik | Berlaku ralat. Lihat butiran dalam JSON. |
401 Tidak Dibolehkan | 401 Tidak Dibolehkan |
404 Tidak Dijumpai | 404 Tidak Dijumpai |
429 Terlalu Banyak Permintaan | 429 Terlalu Banyak Permintaan |
Semua tidak berjaya (bukan Status 302 OK) tindakbalas mempunyai badan JSON dengan butiran ralat, yang akan termasuk jenis ralat dan mesej.
Jenis Ralat
Jenis | Penerangan |
|---|---|
Pengesahan parameter | Pengesahan parameter gagal. |
Domain yang dilarang | Domain ini telah diharamkan buat sementara. |
Gagal memberikan hasil | Tidak dapat mentafsir halaman. Kami tidak dapat menentukan kandungan halaman ini. |
Ralat pengambilan | Tidak dapat mengambil halaman. Periksa bahawa URL boleh diakses dan cuba lagi. |
beban tinggi | Pengesahan parameter gagal. |
Sambungan fail tidak sah | Hanya halaman web disokong. Ia adalah fail PDF/TXT atau Imej (JPG, PNG, GIF). |
halaman besar | Halaman sasaran melebihi 2MB. Halaman besar tidak disokong. |
platform keselamatan | Platform keselamatan menyekat kami daripada mengambil halaman ini. |
masa tamat | Masa tamat. Enjin tidak dapat memproses halaman dalam masa 30 saat. Sila cuba lagi kemudian. |
serba lengkap | Ralat tidak dijangka. Sila cuba lagi kemudian. |
Contoh
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://test.test
Input 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"}
Penyekatan Kadar Permintaan
API mempunyai had sebanyak 60 permintaan seminit. Jika anda melebihi had ini, anda akan mendapat respons dengan Status: 429 Terlalu Banyak Permintaan.
Pengepala | Penerangan |
|---|---|
Had-X-RateLimit | Had permintaan keseluruhan untuk tempoh semasa. |
X-Batas yang Tinggal | Permintaan yang tinggal untuk tempoh semasa. |
Tetapkan semula X-RateLimit | Jumlah saat sehingga akhir tempoh semasa. |
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