Documentație API
Aveți o întrebare? Contactați-ne.
Toate cererile API trebuie să fie efectuate prin HTTPS și necesită api_key ca parametru de interogare URL.
Exemplu
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
În cazul succesului, veți primi un răspuns http cu statusul 200 și informații JSON în corpul răspunsului.
{"status":"success","file_url":"https://api.printfriendly.com/downloads/pdf_1531957353_e94df5Letter.pdf"}
Versiunea API
Versiunea curentă a API este 2.0.
Versiunea principală a API trebuie indicată în URL ca 'v' și număr, de exemplu, v1, v2, v3.
Exemplu
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
Metode API
Metodă | Intrare | Ieșire |
|---|---|---|
PDF / creează | URL / HTML | HTML |
html / creează | URL / HTML |
Parametri
Trebuie să furnizați parametrul page_url sau html. Toți ceilalți parametri sunt opționali.
Parametri | Valoare |
|---|---|
URL-ul paginii | URL-ul paginii țintă |
HTML | Conținut HTML al paginii țintă |
Tip de ieșire | Setați-l la "attachment" pentru a primi fișierul PDF ca ieșire în loc de JSON |
css_url | URL pentru fișierul CSS personalizat |
header_image_url | URL pentru imaginea personalizată a antetului |
Text antet | Șir de text |
Toate exemplele de mai jos sunt furnizate pentru metoda "pdf/create" și funcționează și pentru metoda "html/create".
Exemplu cu parametrul 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>'
Erori
PrintFriendly utilizează coduri de stare convenționale și răspunsuri JSON pentru a oferi detalii despre erori.
Coduri de stare
Stare | Descriere |
|---|---|
200 OK | Totul funcționează bine. |
400 Cerere eronată | A apărut o eroare. Vezi detalii în JSON. |
401 Neautorizat | 401 Neautorizat |
404 Nu s-a găsit | 404 Nu s-a găsit |
429 Prea multe cereri | 429 Prea multe cereri |
Toate răspunsurile nereușite (nu Status 200) au un corp JSON cu detalii despre eroare și conțin tipul de eroare și mesajul.
Tipuri de erori
Tip | Descriere |
|---|---|
Validarea parametrilor | Validarea parametrilor a eșuat. |
Domeniu interzis | Acest domeniu este temporar interzis. |
Eșec la analizare | Nu se poate analiza pagina. Nu putem determina conținutul acestei pagini. |
Eroare la preluare | Nu se poate încărca pagina. Verificați dacă URL-ul este accesibil și încercați din nou. |
încărcare mare | Validarea parametrilor a eșuat. |
Extensie de fișier nevalidă | Sunt acceptate doar paginile web. Este un fișier PDF/TXT sau o imagine (JPG, PNG, GIF). |
pagină mare | Pagina țintă depășește 2 MB. Paginile mari nu sunt acceptate. |
platformă de securitate | Platforma de securitate ne blochează accesul la această pagină. |
pauză | Timpul de așteptare a fost depășit. Motorul nu poate procesa pagina în 30 de secunde. Vă rugăm să încercați din nou mai târziu. |
general | Eroare neașteptată. Vă rugăm să încercați din nou mai târziu. |
Exemplu
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"}
Limitarea ritmului de cereri
API-ul are o limită de 60 de cereri pe minut. Dacă depășiți această limită, veți primi un răspuns cu Stare: 429 Prea multe cereri.
Antet | Descriere |
|---|---|
Limită de rata-X | Limită totală de cereri pentru perioada actuală. |
X-Limită rămasă | Solicitare rămasă pentru perioada curentă. |
Resetează X-RateLimit | Numărul de secunde până la sfârșitul perioadei curente. |
Exemplu cu parametrul 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