Documentazione API
Hai una domanda? Contattaci.
Tutte le richieste API devono essere effettuate tramite HTTPS e richiedono api_key come parametro di query URL.
Esempio
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
In caso di successo, riceverai una risposta http con Stato 200 e informazioni JSON nel corpo della risposta.
{"status":"success","file_url":"https://api.printfriendly.com/downloads/pdf_1531957353_e94df5Letter.pdf"}
Versione API
La versione attuale dell'API è 2.0.
La versione principale dell'API deve essere indicata nell'URL come 'v' e numero, ad esempio v1, v2, v3.
Esempio
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
Metodi API
Metodo | Input | Output |
|---|---|---|
PDF / crea | URL / HTML | HTML |
html / crea | URL / HTML |
Parametri
È necessario fornire il parametro page_url o html. Tutti gli altri parametri sono opzionali.
Parametri | Valore |
|---|---|
URL della pagina | URL della pagina di destinazione |
HTML | Contenuto HTML della pagina di destinazione |
Tipo di output | Impostalo su "attachment" per ricevere il file PDF come risultato invece di JSON |
css_url | URL per il file CSS personalizzato |
header_image_url | URL per immagine intestazione personalizzata |
Testo intestazione | Stringa di testo |
Tutti gli esempi di seguito sono forniti per il metodo "pdf/create" e funzionano anche per il metodo "html/create".
Esempio con il parametro 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'
Input 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>'
Errori
PrintFriendly utilizza codici di stato convenzionali e risposte JSON per fornire dettagli sugli errori.
Codici di stato
Stato | Descrizione |
|---|---|
200 OK | Tutto funziona bene. |
400 Richiesta errata | Si è verificato un errore. Vedi i dettagli in JSON. |
401 Non autorizzato | 401 Non autorizzato |
404 Non trovato | 404 Non trovato |
429 Troppe richieste | 429 Troppe richieste |
Tutte le risposte non riuscite (non Status 200) contengono un corpo JSON con i dettagli dell'errore e includono il tipo di errore e il messaggio.
Tipi di errore
Tipo | Descrizione |
|---|---|
Validazione dei parametri | Validazione dei parametri non riuscita. |
Dominio vietato | Questo dominio è temporaneamente vietato. |
Analisi fallita | Impossibile analizzare la pagina. Non possiamo determinare il contenuto di questa pagina. |
Errore di recupero | Impossibile recuperare la pagina. Verifica che l'URL sia accessibile e riprova. |
carico alto | La validazione dei parametri non è riuscita. |
Estensione file non valida | Sono supportate solo le pagine web. È un file PDF/TXT o un'immagine (JPG, PNG, GIF). |
pagina grande | La pagina di destinazione supera i 2 MB. Le pagine grandi non sono supportate. |
piattaforma di sicurezza | La piattaforma di sicurezza ci impedisce di accedere a questa pagina. |
timeout | Timeout scaduto. Il motore non può elaborare la pagina in 30 secondi. Per favore prova di nuovo più tardi. |
onnicomprensivo | Errore imprevisto. Si prega di riprovare più tardi. |
Esempio
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
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"}
Limitazione della velocità delle richieste
L'API ha un limite di 60 richieste al minuto. Se superi questo limite, riceverai una risposta con Stato: 429 Troppe richieste.
Intestazione | Descrizione |
|---|---|
Limite di velocità-X | Limite totale delle richieste per il periodo corrente. |
X-Limite rimanente | Richiesta rimanente per il periodo corrente. |
Reimposta X-RateLimit | Numero di secondi fino alla fine del periodo corrente. |
Esempio con il parametro 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