Dokumentace API
Máte otázku? Kontaktujte nás.
Všechny požadavky na API musí být provedeny přes HTTPS a použít HTTP Basic Auth s následujícími údaji:
Username: API KEY
Password: Not needed
Příklad
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://en.wikipedia.org/wiki/Eclipse
Vlajka | Popis |
|---|---|
-u | Předání základních autentizačních údajů, dvojtečka za klíčem API zabrání cURL v žádosti o heslo. |
-d | odeslat data v POST požadavku |
V případě úspěchu obdržíte HTTP odpověď se stavem 302 (Přesměrování) a informace JSON budou v těle odpovědi.
# 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"}
Verze API
Aktuální verze API je 1.0.
Hlavní verze API musí být uvedena v URL jako 'v' a číslo, například v1, v2, v3.
Příklad
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
Metody API
Metoda | Vstup | Výstup |
|---|---|---|
PDF / vytvořit | URL / HTML | HTML |
html / vytvořit | URL / HTML |
Parametry
Musíte zadat parametr page_url nebo html. Všechny ostatní parametry jsou nepovinné.
Parametry | Hodnota |
|---|---|
URL stránky | URL cílové stránky |
HTML | HTML obsah cílové stránky |
css_url | URL pro vlastní soubor CSS |
header_image_url | URL obrázku vlastního záhlaví |
Text záhlaví | Textový řetězec |
Všechny níže uvedené příklady jsou určeny pro metodu "pdf/create" a fungují také pro metodu "html/create".
Příklad s parametrem 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 případě úspěchu obdržíte HTTP odpověď se stavem 302 (Přesměrování) a informace JSON budou v těle odpovědi.
Příklad s html parametry
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 případě úspěchu obdržíte odpověď http se stavem 200 a obsahem PDF/HTML v těle odpovědi.
Chyby
PrintFriendly používá konvenční statusové kódy a JSON odpovědi k poskytování podrobností o chybách.
Kódy stavů
Stav | Popis |
|---|---|
200 OK | Všechno funguje správně. |
400 Špatný požadavek | Došlo k chybě. Podrobnosti najdete v JSON. |
401 Neoprávněné | 401 Neoprávněné |
404 Nenalezeno | 404 Nenalezeno |
429 Příliš mnoho požadavků | 429 Příliš mnoho požadavků |
Všechny odpovědi neúspěšné (ne Status 302 OK) mají JSON tělo s detaily chyby, které budou zahrnovat typ chyby a zprávu.
Typy chyb
Typ | Popis |
|---|---|
Validace parametrů | Ověření parametrů selhalo. |
Zakázaná doména | Tato doména je dočasně zakázána. |
Chyba při parsování | Nelze analyzovat stránku. Nemůžeme určit obsah této stránky. |
Chyba načítání | Nelze načíst stránku. Zkontrolujte, zda je URL přístupné, a zkuste to znovu. |
vysoké zatížení | Ověření parametrů selhalo. |
Neplatná přípona souboru | Jsou podporovány pouze webové stránky. Jedná se o soubor PDF/TXT nebo obrázek (JPG, PNG, GIF). |
velká stránka | Cílová stránka přesahuje 2 MB. Velké stránky nejsou podporovány. |
bezpečnostní platforma | Bezpečnostní platforma nám blokuje načítání této stránky. |
časový limit | Časový limit překročen. Engine nemůže zpracovat stránku během 30 vteřin. Zkuste to prosím znovu později. |
všehoúčelový | Neočekávaná chyba. Zkuste to prosím znovu později. |
Příklad
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://test.test
HTML input
# 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"}
Omezení rychlosti žádostí
API má omezení 60 požadavků za minutu. Pokud toto omezení překročíte, obdržíte odpověď se stavem: 429 Příliš mnoho požadavků.
Záhlaví | Popis |
|---|---|
X-Limit rychlosti | Celkový limit požadavků pro aktuální období. |
X-Zbývající limit | Zbývající požadavky na aktuální období. |
Obnovit X-RateLimit | Počet sekund do konce aktuálního období. |
Příklad s parametrem 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