API документација
Имате питање? Контактирајте нас.
Svi API zahtevi moraju biti napravljeni putem HTTPS i koristiti HTTP Basic Auth sa sledećim kredencijalima:
Username: API KEY
Password: Not needed
Пример
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://en.wikipedia.org/wiki/Eclipse
Застава | Опис |
|---|---|
-u | Проследите основне податке за аутентификацију, двотачка после API кључа спречава cURL да тражи лозинку. |
-д | пошаљите податке у POST захтеву |
У случају успеха, добићете HTTP одговор са статусом 302 (Преусмеравање) и информације JSON ће бити у телу одговора.
# 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-ја
Trenutna verzija API-ja je 1.0.
Glavna verzija API-ja mora biti navedena u URL-u kao 'v' i broj, npr. v1, v2, v3.
Пример
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
API методе
Метод | Улаз | Излаз |
|---|---|---|
PDF / креирај | URL / HTML | HTML |
html / креирај | URL / HTML |
Параметри
Morate dostaviti parametar page_url ili html. Svi drugi parametri su opcioni.
Параметри | Вредност |
|---|---|
URL stranice | URL ciljne stranice |
HTML | HTML садржај циљне странице |
css_url | URL za prilagođeni CSS fajl |
header_image_url | URL za prilagođenu sliku zaglavlja |
Текст заглавља | Текстуални низ |
Svi primeri dole su dati za metodu "pdf/create" i takođe rade za metodu "html/create".
Пример са параметром 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'
У случају успеха, добићете HTTP одговор са статусом 302 (Преусмеравање) и информације JSON ће бити у телу одговора.
Пример са html параметрима
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>'
У случају успеха, добићете HTTP одговор са статусом 200 и садржајем PDF/HTML у телу одговора.
Грешке
PrintFriendly koristi konvencionalne statusne kodove i JSON odgovore za pružanje detalja o grešci.
Кодови статуса
Статус | Опис |
|---|---|
200 У реду | Sve funkcioniše dobro. |
400 Неисправан захтев | Дошло је до грешке. Погледајте детаље у JSON. |
401 Неовлашћено | 401 Неовлашћено |
404 Није пронађено | 404 Није пронађено |
429 Превише захтева | 429 Превише захтева |
Sve neuspešne (ne Status 302 OK) odgovori imaju JSON telo sa detaljima greške, koji uključuju tip greške i poruku.
Типови грешака
Тип | Опис |
|---|---|
Валидација параметара | Валидација параметара није успела. |
Забрањен домен | Овај домен је привремено забрањен. |
Неуспешно рашчлањивање | Не може се анализирати страница. Не можемо одредити садржај ове странице. |
Грешка при преузимању | Не може се учитати страница. Проверите да ли је URL доступан и покушајте поново. |
велико оптерећење | Validacija parametara nije uspela. |
Неважећа екстензија фајла | Подржане су само веб странице. Ово је PDF/TXT датотека или слика (JPG, PNG, GIF). |
велика страница | Циљна страница је већа од 2 MB. Велике странице нису подржане. |
безбедносна платформа | Platforma za bezbednost nas sprečava da preuzmemo ovu stranicu. |
истек времена | Време је истекло. Мотор не може да обради страницу за 30 секунди. Молимо покушајте поново касније. |
свеобухватан | Неочекивана грешка. Молимо вас да покушате поново касније. |
Пример
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://test.test
HTML unos
# 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"}
Ограничење брзине захтева
API има ограничење од 60 захтева по минуту. Ако прекорачите ово ограничење, добићете одговор са статусом: 429 Превише захтева.
Заглавље | Опис |
|---|---|
X-Гранична брзина | Ukupni limit zahteva za trenutni period. |
X-ПрЕостала граница | Preostali zahtev za trenutni period. |
Ресетуј X-RateLimit | Количина секунди до краја тренутног периода. |
Пример са параметром 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