Documentație API
Aveți o întrebare? Contactați-ne.
Toate cererile API trebuie să fie făcute prin HTTPS și să utilizeze HTTP Basic Auth cu următoarele acreditive:
Username: API KEY
Password: Not needed
Exemplu
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://en.wikipedia.org/wiki/Eclipse
Steag | Descriere |
|---|---|
-u | Treceți acreditările de bază, un colon după cheia API împiedică cURL să solicite o parolă. |
-d | trimite date în cerere POST |
În cazul succesului, veți primi un răspuns HTTP cu Status 302 (Redirecționare), iar informațiile JSON vor fi în corpul răspunsului.
# 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"}
Versiunea API
Versiunea curentă a API-ului este 1.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ă |
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/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'
În cazul succesului, veți primi un răspuns HTTP cu Status 302 (Redirecționare), iar informațiile JSON vor fi în corpul răspunsului.
Exemplu cu parametri 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>'
În cazul succesului, veți primi un răspuns http cu Status 200 și conținut PDF/HTML în corpul răspunsului.
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 302 OK) au corp JSON cu detaliile erorii, care vor include 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/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"}
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