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

PDF

Параметры

Вы должны предоставить параметр 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

Начните бесплатно

Попробуйте бесплатно, и кредитная карта не требуется. Свяжитесь с нами, если у вас есть вопросы.