Dokumentace API
Máte otázku? Kontaktujte nás.
Všechny požadavky na API musí být provedeny přes HTTPS a vyžadují api_key jako parametr dotazu URL.
Příklad
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
V případě úspěchu obdržíte http odpověď se stavem 200 a informace JSON v těle odpovědi.
{"status":"success","file_url":"https://api.printfriendly.com/downloads/pdf_1531957353_e94df5Letter.pdf"}
Verze API
Aktuální verze API je 2.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 |
Typ výstupu | Nastavte to na "attachment" pro získání souboru PDF jako výstupu místo JSON |
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/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 input
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>'
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 neúspěšné (ne stav 200) odpovědi mají JSON tělo s podrobnostmi o chybě a obsahují 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/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 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