API документација
Имате питање? Контактирајте нас.
Svi API zahtevi moraju biti izvršeni putem HTTPS i zahtevaju api_key kao URL parametar upita.
Пример
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
У случају успеха, добићете http одговор са статусом 200 и JSON информацијама у телу одговора.
{"status":"success","file_url":"https://api.printfriendly.com/downloads/pdf_1531957353_e94df5Letter.pdf"}
Верзија API-ја
Trenutna verzija API-a je 2.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 садржај циљне странице |
Тип излазa | Подесите на „attachment“ да бисте примили PDF фајл као излаз уместо JSON-а |
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/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 unos
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>'
Грешке
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 Превише захтева |
Свe неуспешнe (није статус 200) одговори имају JSON тело са детаљима грешке и садрже врсту грешке и поруку.
Типови грешака
Тип | Опис |
|---|---|
Валидација параметара | Валидација параметара није успела. |
Забрањен домен | Овај домен је привремено забрањен. |
Неуспешно рашчлањивање | Не може се анализирати страница. Не можемо одредити садржај ове странице. |
Грешка при преузимању | Не може се учитати страница. Проверите да ли је 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/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 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