API-dokumentation
Har du et spørgsmål? Kontakt os.
Alle API-anmodninger skal foretages via HTTPS og bruge HTTP Basic Auth med følgende legitimationsoplysninger:
Username: API KEY
Password: Not needed
Eksempel
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://en.wikipedia.org/wiki/Eclipse
Flag | Beskrivelse |
|---|---|
-u | Videregiv grundlæggende godkendelsesoplysninger, et kolon efter API-nøglen forhindrer cURL i at anmode om en adgangskode. |
-d | send data i en POST-anmodning |
I tilfælde af succes får du et HTTP svar med status 302 (Omdirigering), og JSON oplysningerne vil være i svar kroppen.
# 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"}
API-version
Den nuværende version af API er 1.0.
Primær API-version skal angives i URL'en som 'v' og nummer, f.eks. v1, v2, v3.
Eksempel
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
API-metoder
Metode | Input | Output |
|---|---|---|
PDF / opret | URL / HTML | HTML |
html / opret | URL / HTML |
Parametre
Du skal angive enten page_url eller html parameteren. Alle andre parametre er valgfrie.
Parametre | Værdi |
|---|---|
Side-URL | URL for målsiden |
HTML | HTML-indhold på målside |
css_url | URL til brugerdefineret CSS-fil |
header_image_url | URL til brugerdefineret headerbillede |
Overskrift tekst | Tekststreng |
Alle eksempler nedenfor er givet for "pdf/create"-metoden og fungerer også for "html/create"-metoden.
Eksempel med page_url-parameter
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'
I tilfælde af succes får du et HTTP svar med status 302 (Omdirigering), og JSON oplysningerne vil være i svar kroppen.
Eksempel med html-parametre
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>'
I tilfælde af succes modtager du en HTTP-respons med status 200 og PDF/HTML-indhold i svarkroppen.
Fejl
PrintFriendly bruger konventionelle statuskoder og JSON-svar til at levere fejloplysninger.
Statuskoder
Status | Beskrivelse |
|---|---|
200 OK | Alting fungerer fint. |
400 Forkert anmodning | Der er opstået en fejl. Se detaljer i JSON. |
401 Uautoriseret | 401 Uautoriseret |
404 Ikke fundet | 404 Ikke fundet |
429 For mange forespørgsler | 429 For mange forespørgsler |
Alle ikke succesfulde (ikke Status 302 OK) svar har en JSON-krop med fejloplysninger, som vil inkludere fejlkategori og meddelelse.
Fejltyper
Type | Beskrivelse |
|---|---|
Parameter-validering | Validering af parametre mislykkedes. |
Forbudt domæne | Dette domæne er midlertidigt blokeret. |
Parse mislykkedes | Kan ikke analysere siden. Vi kan ikke bestemme indholdet på denne side. |
Fetch-fejl | Kan ikke hente siden. Tjek, om URL'en er tilgængelig, og prøv igen. |
høj belastning | Validering af parametre mislykkedes. |
Ugyldig filtypenavn | Kun websider understøttes. Det er en PDF/TXT-fil eller et billede (JPG, PNG, GIF). |
stor side | Målside er over 2 MB. Store sider understøttes ikke. |
sikkerhedsplatform | Sikkerhedsplatformen forhindrer os i at hente denne side. |
tidsgrænse | Tidsgrænsen overskredet. Motoren kan ikke behandle siden inden for 30 sekunder. Prøv venligst igen senere. |
altomfattende | Uventet fejl. Prøv igen senere. |
Eksempel
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"}
Begrænsning af anmodningshastighed
API'et har en grænse på 60 forespørgsler pr. minut. Hvis du overskrider denne grænse, får du et svar med Status: 429 For mange forespørgsler.
Overskrift | Beskrivelse |
|---|---|
X-Antalsgrænse | Samlet anmodningsgrænse for den nuværende periode. |
X-RateLimit-Tilbage | Resterende anmodning for den aktuelle periode. |
Nulstil X-RateLimit | Antal sekunder til slutningen af den nuværende periode. |
Eksempel med page_url-parameteren
# 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