API-dokumentation
Har du en fråga? Kontakta oss.
Alla API-förfrågningar måste göras via HTTPS och behöver api_key som en URL-queryparameter.
Exempel
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
Vid framgång, kommer du få ett http-svar med Status 200 och JSON-information i svarskroppen.
{"status":"success","file_url":"https://api.printfriendly.com/downloads/pdf_1531957353_e94df5Letter.pdf"}
API-version
Den aktuella versionen av API är 2.0.
Större API-version måste anges i URL som 'v' och nummer, t.ex. v1, v2, v3.
Exempel
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
API-metoder
Metod | Inmatning | Utdata |
|---|---|---|
PDF / skapa | URL / HTML | HTML |
html / skapa | URL / HTML |
Parametrar
Du måste ange parameter page_url eller html. Alla andra parametrar är valfria.
Parametrar | Värde |
|---|---|
Sid-URL | Målsidans URL |
HTML | HTML-innehåll för mål sidan |
Utmatningstyp | Ställ in det till "attachment" för att ta emot PDF-filen som output istället för JSON |
css_url | URL för anpassad CSS-fil |
header_image_url | URL för anpassad headerbild |
Rubriktext | Textsträng |
Alla exempel nedan tillhandahålls för metoden "pdf/create" och fungerar också för metoden "html/create".
Exempel med page_url-parameter
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-ingång
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>'
Fel
PrintFriendly använder konventionella statuskoder och JSON-svar för att tillhandahålla feldetaljer.
Statuskoder
Status | Beskrivning |
|---|---|
200 OK | Allt fungerar bra. |
400 Felaktig begäran | Ett fel har inträffat. Se detaljer i JSON. |
401 Ej auktoriserad | 401 Ej auktoriserad |
404 Hittades inte | 404 Hittades inte |
429 För många förfrågningar | 429 För många förfrågningar |
Alla inte framgång (inte Status 200) svar har JSON-kropp med felspecifikationer och innehåller feltyp och meddelande.
Felkategorier
Typ | Beskrivning |
|---|---|
Parametervalidering | Parameterverifiering misslyckades. |
Förbjudet domän | Den här domänen är tillfälligt avstängd. |
Misslyckades att parsa | Kan inte analysera sidan. Vi kan inte avgöra innehållet på den här sidan. |
Hämtningsfel | Kan inte hämta sidan. Kontrollera att URL är tillgänglig och försök igen. |
hög belastning | Parameterverifiering misslyckades. |
Ogiltig filändelse | Endast webbsidor stöds. Det är en PDF/TXT-fil eller bild (JPG, PNG, GIF). |
stor sida | Målsidan är över 2 MB. Stora sidor stöds inte. |
säkerhetsplattform | Säkerhetsplattformen hindrar oss från att hämta den här sidan. |
timeout | Timeout överskriden. Motorn kan inte behandla sidan under 30 sekunder. Försök igen senare. |
omfattande | Oväntat fel. Försök igen senare. |
Exempel
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-ingång
# 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"}
Begränsning av begärarfrekvens
API:n har en gräns på 60 förfrågningar per minut. Om du överskrider denna gräns får du ett svar med Status: 429 För många förfrågningar.
Rubrik | Beskrivning |
|---|---|
X-Hastighetsgräns | Totalt begäransgräns för aktuell period. |
X-Kvarvarande gräns | Återstående begäran för aktuell period. |
Återställ X-RateLimit | Antal sekunder till slutet av den aktuella perioden. |
Exempel med page_url-parameter
# 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