API dokumentacija
Imate pitanje? Kontaktirajte nas.
Svi zahtjevi za API moraju biti napravljeni putem HTTPS i trebaju api_key kao URL upitni parametar.
Primjer
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
U slučaju uspjeha, dobit ćete http odgovor sa Statusom 200 i JSON informacije u tijelu odgovora.
{"status":"success","file_url":"https://api.printfriendly.com/downloads/pdf_1531957353_e94df5Letter.pdf"}
Verzija API-ja
Trenutna verzija API-ja je 2.0.
Glavna verzija API-ja mora biti navedena u URL-u kao 'v' i broj, npr. v1, v2, v3.
Primjer
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
API metode
Metoda | Unos | Izlaz |
|---|---|---|
PDF / stvori | URL / HTML | HTML |
html / izradi | URL / HTML |
Parametri
Morate navesti parametar page_url ili html. Svi ostali parametri su opcionalni.
Parametri | Vrijednost |
|---|---|
URL stranice | URL ciljne stranice |
HTML | HTML sadržaj ciljane stranice |
Vrsta izlaza | Postavite na "attachment" za primanje PDF datoteke kao izlaz umjesto JSON-a |
css_url | URL za prilagođenu CSS datoteku |
header_image_url | URL za prilagođenu sliku zaglavlja |
Tekst zaglavlja | Tekstni niz |
Svi primjeri ispod su dani za metodu "pdf/create" i također rade za metodu "html/create".
Primjer s parametrom 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 ulaz
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>'
Pogreške
PrintFriendly koristi konvencionalne statusne kodove i JSON odgovore za pružanje detalja pogreške.
Statusni kodovi
Status | Opis |
|---|---|
200 OK | Sve radi kako treba. |
400 Neispravan zahtjev | Dogodila se pogreška. Pogledajte detalje u JSON. |
401 Neautorizirano | 401 Neautorizirano |
404 Nije pronađeno | 404 Nije pronađeno |
429 Previše zahtjeva | 429 Previše zahtjeva |
Svi neuspješni (ne Status 200) odgovori imaju JSON tijelo s detaljima pogreške i sadržavaju vrstu pogreške i poruku.
Tipovi pogrešaka
Tip | Opis |
|---|---|
Validacija parametara | Validacija parametara nije uspjela. |
Zabranjena domena | Ova domena je privremeno zabranjena. |
Neuspio parsiranje | Ne možemo obraditi stranicu. Ne možemo odrediti sadržaj ove stranice. |
Pogreška dohvaćanja | Ne može se dohvatiti stranica. Provjerite je li URL dostupan i pokušajte ponovno. |
visoko opterećenje | Validacija parametara nije uspjela. |
Nevažeći datotečni nastavak | Podržane su samo web stranice. Ovo je PDF/TXT datoteka ili slika (JPG, PNG, GIF). |
velika stranica | Ciljana stranica je preko 2 MB. Velike stranice nisu podržane. |
sigurnosna platforma | Sigurnosna platforma nam blokira pristup ovoj stranici. |
vremensko ograničenje | Vrijeme je isteklo. Motor ne može obraditi stranicu u roku od 30 sekundi. Molimo pokušajte ponovno kasnije. |
sveobuhvatan | Neočekivana pogreška. Pokušajte ponovno kasnije. |
Primjer
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 ulaz
# 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"}
Ograničenje brzine zahtjeva
API ima ograničenje od 60 zahtjeva po minuti. Ako prekoračite ovo ograničenje, dobit ćete odgovor sa statusom: 429 Previše zahtjeva.
Zaglavlje | Opis |
|---|---|
X-Ograničenje brzine | Ukupno ograničenje zahtjeva za trenutni period. |
X-Preostalo ograničenje | Preostali zahtjev za trenutni period. |
Resetiraj X-RateLimit | Broj sekundi do kraja trenutnog razdoblja. |
Primjer 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