Dokumentacija API
Imate vprašanje? Kontaktirajte nas.
Vse zahteve za API je treba izvesti prek HTTPS in uporabljati HTTP Basic Auth z naslednjimi poverilnicami:
Username: API KEY
Password: Not needed
Primer
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://en.wikipedia.org/wiki/Eclipse
Zastava | Opis |
|---|---|
-u | Posredujte osnovne poverilnice za overjanje, dvopičje za ključem API prepreči cURL, da zahteva geslo. |
-d | pošljite podatke v zahtevi POST |
V primeru uspeha boste prejeli HTTP odziv s statusom 302 (Preusmeritev), podatki JSON pa bodo v telesu odziva.
# 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"}
Različica API
Trenutna različica API-ja je 1.0.
Glavna različica API mora biti podana v URL kot 'v' in številka, na primer v1, v2, v3.
Primer
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
Metode API
Metoda | Vnos | Izhod |
|---|---|---|
PDF / ustvari | URL / HTML | HTML |
html / ustvari | URL / HTML |
Parametri
Navedite parameter page_url ali html. Vsi ostali parametri so izbirni.
Parametri | Vrednost |
|---|---|
URL strani | URL ciljne strani |
HTML | HTML vsebina ciljne strani |
css_url | URL za prilagojeno datoteko CSS |
header_image_url | URL za sliko prilagojenega glave |
Besedilo glave | Besedilni niz |
Vsi spodnji primeri so na voljo za metodo "pdf/create" in delujejo tudi za metodo "html/create".
Primer s parametrom 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'
V primeru uspeha boste prejeli HTTP odziv s statusom 302 (Preusmeritev), podatki JSON pa bodo v telesu odziva.
Primer s html parametri
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>'
V primeru uspeha boste prejeli odziv HTTP s statusom 200 in vsebino PDF/HTML v telo odziva.
Napake
PrintFriendly uporablja običajne statusne kode in JSON odzive za zagotavljanje podrobnosti o napakah.
Statusne kode
Stanje | Opis |
|---|---|
200 OK | Vse deluje dobro. |
400 Neveljavna zahteva | Prišlo je do napake. Oglejte si podrobnosti v JSON. |
401 Neavtorizirano | 401 Neavtorizirano |
404 Ni bilo mogoče najti | 404 Ni bilo mogoče najti |
429 Preveč zahtev | 429 Preveč zahtev |
Vsi neuspešni (ne Status 302 OK) odzivi imajo JSON telo s podrobnostmi o napaki, vključno z vrsto napake in sporočilom.
Vrste napak
Vrsta | Opis |
|---|---|
Validacija parametrov | Validacija parametrov ni uspela. |
Prepovedana domena | Ta domena je začasno prepovedana. |
Neuspešno razčlenjevanje | Strani ni mogoče razčleniti. Ne moremo določiti vsebine te strani. |
Napaka pri pridobivanju | Strani ni mogoče naložiti. Preverite, ali je URL dostopen, in poskusite znova. |
visoka obremenitev | Validacija parametrov ni uspela. |
Neveljavna pripona datoteke | Podprte so samo spletne strani. Gre za datoteko PDF/TXT ali sliko (JPG, PNG, GIF). |
velika stran | Ciljna stran je več kot 2 MB. Velike strani niso podprte. |
varnostna platforma | Varnostna platforma nam blokira dostop do te strani. |
časovna omejitev | Časovna omejitev je bila presežena. Motor ne more obdelati strani v 30 sekundah. Poskusite znova pozneje. |
vseobčesten | Nepričakovana napaka. Poskusite znova kasneje. |
Primer
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://test.test
HTML vnos
# 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"}
Omejitev stopnje zahtevkov
API ima omejitev 60 zahtevkov na minuto. Če presežete to omejitev, boste prejeli odgovor s stanjem: 429 Preveč zahtevkov.
Glava | Opis |
|---|---|
X-Omejitev hitrosti | Skupna omejitev zahtev za trenutno obdobje. |
X-Preostala omejitev | Preostala zahteva za trenutno obdobje. |
Ponastavi X-RateLimit | Število sekund do konca trenutnega obdobja. |
Primer s parametrom 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