Документація 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 введення
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). |
велика сторінка | Цільова сторінка більше 2 МБ. Великі сторінки не підтримуються. |
платформа безпеки | Платформа безпеки блокує доступ до цієї сторінки. |
перерва | Час очікування перевищено. Двигун не може обробити сторінку протягом 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 введення
# 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