Документация 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