Документація API
Є питання? Зв'яжіться з нами.
Всі запити API повинні здійснюватися через HTTPS і використовувати HTTP Basic Auth із наступними даними:
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
Поточна версія API — 1.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 вміст цільової сторінки |
css_url | URL для власного файлу CSS |
header_image_url | URL для зображення настроюваної шапки |
Текст заголовка | Текстовий рядок |
Усі наведені нижче приклади надані для методу "pdf/create" і також працюють для методу "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 використовує стандартні коди стану та відповіді JSON для надання деталей про помилки.
Коди статусу
Статус | Опис |
|---|---|
200 Добре | Все працює добре. |
400 Неправильний запит | Сталася помилка. Перегляньте подробиці у JSON. |
401 Несанкціоновано | 401 Несанкціоновано |
404 Не знайдено | 404 Не знайдено |
429 Забагато запитів | 429 Забагато запитів |
Усі не успішні (не статус 302 OK) відповіді містять JSON тіло з деталями помилки, яке включає тип помилки та повідомлення.
Типи помилок
Тип | Опис |
|---|---|
Перевірка параметрів | Перевірка параметрів не вдалася. |
Заборонений домен | Цей домен тимчасово заборонено. |
Помилка аналізу | Не вдалося розібрати сторінку. Ми не можемо визначити зміст цієї сторінки. |
Помилка отримання | Не вдалося завантажити сторінку. Переконайтеся, що URL доступний, і спробуйте ще раз. |
високе навантаження | Перевірка параметрів не вдалася. |
Недійсне розширення файлу | Підтримуються лише веб-сторінки. Це файл PDF/TXT або зображення (JPG, PNG, GIF). |
велика сторінка | Цільова сторінка більше 2 МБ. Великі сторінки не підтримуються. |
платформа безпеки | Платформа безпеки блокує доступ до цієї сторінки. |
перерва | Час очікування перевищено. Двигун не може обробити сторінку протягом 30 секунд. Будь ласка, спробуйте пізніше. |
загальний | Неочікувана помилка. Будь ласка, спробуйте ще раз пізніше. |
Приклад
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-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