Документация за API
Имате въпрос? Свържете се с нас.
Всички API заявки трябва да бъдат изпълнени чрез HTTPS и изискват api_key като параметър за заявка в 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://en.wikipedia.org/wiki/Eclipse
В случай на успех, ще получите http отговор със статус 200 и информация JSON в тялото на отговора.
{"status":"success","file_url":"https://api.printfriendly.com/downloads/pdf_1531957353_e94df5Letter.pdf"}
Версия на API
Текущата версия на API е 2.0.
Основната версия на API трябва да бъде посочена в URL като 'v' и номер, например 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 |
Параметри
Трябва да предоставите параметър page_url или html. Всички други параметри са незадължителни.
Параметри | Стойност |
|---|---|
URL на страницата | URL на целевата страница |
HTML | HTML съдържание на целевата страница |
Тип на изхода | Задайте го на "attachment", за да получите PDF файла като резултат вместо JSON |
css_url | URL за персонализиран CSS файл |
header_image_url | URL за изображение на персонализиран хедър |
Текст на заглавието | Текстова връзка |
Всички примери по-долу са предоставени за метода "pdf/create" и работят също и за метода "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 input
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 използва конвенционални кодове за статус и JSON отговор за предоставяне на подробности за грешки.
Кодове за статус
Статус | Описание |
|---|---|
200 ОК | Всичко работи добре. |
400 Невалидна заявка | Възникна грешка. Вижте подробности в JSON. |
401 Неразрешено | 401 Неразрешено |
404 Не е намерено | 404 Не е намерено |
429 Твърде много заявки | 429 Твърде много заявки |
Всички неуспешни (не статус 200) отговори имат JSON тяло с подробности за грешката и съдържат типа на грешката и съобщението.
Типове грешки
Тип | Описание |
|---|---|
Валидиране на параметри | Неуспешна проверка на валидността на параметрите. |
Забранен домейн | Този домейн е временно забранен. |
Синтактична грешка | Не може да се анализира страницата. Не можем да определим съдържанието на тази страница. |
Грешка при извличане | Не можа да се зареди страницата. Проверете дали URL адресът е достъпен и опитайте отново. |
високо натоварване | Валидиране на параметрите не беше успешно. |
Невалидно файлово разширение | Поддържат се само уеб страници. Това е PDF/TXT файл или изображение (JPG, PNG, GIF). |
голяма страница | Целевата страница е над 2MB. Големите страници не се поддържат. |
платформа за сигурност | Платформата за сигурност ни блокира достъпа до тази страница. |
тайм-аут | Времето изтече. Двигателят не може да обработи страницата за 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 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"}
Ограничение на честотата на заявките
API има ограничение от 60 заявки на минута. Ако надвишите този лимит, ще получите отговор със статус: 429 Твърде много заявки.
Заглавие | Описание |
|---|---|
X-Ограничение за скорост | Общ лимит на заявките за текущия период. |
X-Оставащ лимит | Оставащи заявки за текущия период. |
Нулиране на 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