API dokumentacija
Turite klausimų? Susisiekite su mumis.
Visi API užklausimai turi būti vykdomi per HTTPS ir naudoti HTTP Basic Auth su šiomis autentifikavimo duomenimis:
Username: API KEY
Password: Not needed
Pavyzdys
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://en.wikipedia.org/wiki/Eclipse
Vėliava | Aprašymas |
|---|---|
-u | Perduokite pagrindinius autentifikavimo duomenis, po API rakto esančio kablelio cURL nereikalaus slaptažodžio. |
-d | siųsti duomenis POST užklausoje |
Sėkmės atveju jūs gausite HTTP atsakymą su 302 statusu (Peradresavimas), o JSON informacija bus atsakymo kūne.
# 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 versija
Dabartinė API versija yra 1.0.
Pagrindinė API versija turi būti nurodyta URL kaip 'v' ir skaičius, pvz., v1, v2, v3.
Pavyzdys
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
API metodai
Metodas | Įvestis | Išvestis |
|---|---|---|
PDF / kurti | URL / HTML | HTML |
html / sukurti | URL / HTML |
Parametrai
Privalote pateikti page_url arba html parametrą. Visi kiti parametrai yra pasirenkami.
Parametrai | Vertė |
|---|---|
Puslapio URL | Tikslinio puslapio URL |
HTML | Tikslinio puslapio HTML turinys |
css_url | URL pagal užsakymą CSS failui |
header_image_url | URL pasirinktinio antraštės vaizdo |
Antraštės tekstas | Teksto eilutė |
Visi žemiau pateikti pavyzdžiai yra skirti "pdf/create" metodui ir taip pat veikia "html/create" metodui.
Pavyzdys su page_url parametru
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'
Sėkmės atveju jūs gausite HTTP atsakymą su 302 statusu (Peradresavimas), o JSON informacija bus atsakymo kūne.
Pavyzdys su html parametrais
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>'
Sėkmės atveju gausite HTTP atsakymą su 200 būsena ir PDF/HTML turinį atsakymo kūne.
Klaidos
PrintFriendly naudoja įprastus būsenos kodus ir JSON atsakymus klaidos detalėms pateikti.
Būsenos kodai
Būsena | Aprašymas |
|---|---|
200 Gerai | Viskas veikia gerai. |
400 Klaidinga užklausa | Įvyko klaida. Žr. detales JSON. |
401 Neleistina | 401 Neleistina |
404 Nerasta | 404 Nerasta |
429 Per daug užklausų | 429 Per daug užklausų |
Visi nepavykę (ne Status 302 OK) atsakymai turi JSON turinį su klaidos informacija, įskaitant klaidos tipą ir pranešimą.
Klaidų tipai
Tipas | Aprašymas |
|---|---|
Parametrų patvirtinimas | Parametrų patvirtinimas nepavyko. |
Draudžiama domenas | Šis domenas laikinai uždraustas. |
Nepavyko išskirti | Nepavyksta analizuoti puslapio. Negalime nustatyti šio puslapio turinio. |
Gavimo klaida | Nepavyksta įkelti puslapio. Patikrinkite, ar URL yra prieinamas, ir bandykite dar kartą. |
didelė apkrova | Parametrų tikrinimas nepavyko. |
Neleistinas failo plėtinys | Palaikomi tik tinklalapiai. Tai yra PDF/TXT failas arba vaizdas (JPG, PNG, GIF). |
didelis puslapis | Tikslinis puslapis viršija 2 MB. Dideli puslapiai nepalaikomi. |
saugumo platforma | Saugumo platforma blokuoja mūsų prieigą prie šio puslapio. |
laiko pabaiga | Viršytas laiko limitas. Variklis negali apdoroti puslapio per 30 sekundžių. Bandykite dar kartą vėliau. |
viskas-apimančio | Netikėta klaida. Bandykite dar kartą vėliau. |
Pavyzdys
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://test.test
HTML įvestis
# 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"}
Užklausų dažnio ribojimas
API turi apribojimą – 60 užklausų per minutę. Jei viršysite šį apribojimą, gausite atsakymą, kurio būsenos kodas: 429 Per daug užklausų.
Antraštė | Aprašymas |
|---|---|
X-Didelės spartos limitas | Bendras užklausų limitas dabartiniam laikotarpiui. |
X-Liko limitas | Likęs prašymas dabartiniam periodui. |
Iš naujo nustatyti X-RateLimit | Sekundžių skaičius iki dabartinio laikotarpio pabaigos. |
Pavyzdys su page_url parametru
# 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