Документация за 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). |
голяма страница | Целевата страница е над 2MB. Големите страници не се поддържат. |
платформа за сигурност | Платформата за сигурност ни блокира достъпа до тази страница. |
тайм-аут | Времето изтече. Двигателят не може да обработи страницата за 30 секунди. Моля, опитайте отново по-късно. |
всички | Неочаквана грешка. Моля, опитайте отново по-късно. |
Пример
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-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