Dokumentacja API
Masz pytanie? Skontaktuj się z nami.
Wszystkie żądania API muszą być realizowane przez HTTPS i wymagają api_key jako parametru zapytania URL.
Przykład
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
W przypadku sukcesu, otrzymasz odpowiedź http ze statusem 200 i informacje JSON w treści odpowiedzi.
{"status":"success","file_url":"https://api.printfriendly.com/downloads/pdf_1531957353_e94df5Letter.pdf"}
Wersja API
Aktualna wersja API to 2.0.
Główna wersja API musi być podana w URL jako 'v' i liczba, np. v1, v2, v3.
Przykład
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
Metody API
Metoda | Wejście | Wynik |
|---|---|---|
PDF / utwórz | URL / HTML | HTML |
html / utwórz | URL / HTML |
Parametry
Musisz podać parametr page_url lub html. Wszystkie inne parametry są opcjonalne.
Parametry | Wartość |
|---|---|
Adres URL strony | URL strony docelowej |
HTML | Zawartość HTML strony docelowej |
Typ wyjścia | Ustaw na „attachment”, aby otrzymać plik PDF jako wynik zamiast JSON |
css_url | URL dla niestandardowego pliku CSS |
header_image_url | URL dla niestandardowego obrazu nagłówka |
Tekst nagłówka | Łańcuch tekstowy |
Wszystkie poniższe przykłady są podane dla metody "pdf/create" i działają również dla metody "html/create".
Przykład z parametrem 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'
Wprowadzanie 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>'
Błędy
PrintFriendly używa konwencjonalnych kodów statusów i odpowiedzi JSON do podawania szczegółów błędów.
Kody statusu
Status | Opis |
|---|---|
200 OK | Wszystko działa dobrze. |
400 Niepoprawne żądanie | Wystąpił błąd. Zobacz szczegóły w JSON. |
401 Niedozwolony | 401 Niedozwolony |
404 Nie znaleziono | 404 Nie znaleziono |
429 Za dużo żądań | 429 Za dużo żądań |
Wszystkie nieudane (nie Status 200) odpowiedzi zawierają ciało JSON z szczegółami błędu i zawierają typ błędu oraz wiadomość.
Rodzaje błędów
Typ | Opis |
|---|---|
Walidacja parametrów | Weryfikacja parametrów nie powiodła się. |
Zabroniona domena | Ta domena jest tymczasowo zablokowana. |
Niepowodzenie parsowania | Nie można przeanalizować strony. Nie możemy określić zawartości tej strony. |
Błąd pobierania | Nie można pobrać strony. Sprawdź, czy URL jest dostępny, i spróbuj ponownie. |
wysokie obciążenie | Walidacja parametrów zakończyła się niepowodzeniem. |
Nieprawidłowe rozszerzenie pliku | Obsługiwane są tylko strony internetowe. Jest to plik PDF/TXT lub obraz (JPG, PNG, GIF). |
duża strona | Docelowa strona ma ponad 2 MB. Duże strony nie są obsługiwane. |
platforma bezpieczeństwa | Platforma bezpieczeństwa blokuje pobranie tej strony. |
limit czasu | Limit czasu został przekroczony. Silnik nie może przetworzyć strony w ciągu 30 sekund. Spróbuj ponownie później. |
wszechstronny | Nieoczekiwany błąd. Proszę spróbować ponownie później. |
Przykład
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
Wprowadzanie 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"}
Ograniczenie szybkości żądań
API ma limit 60 żądań na minutę. Jeśli przekroczysz ten limit, otrzymasz odpowiedź ze statusem: 429 Zbyt wiele żądań.
Nagłówek | Opis |
|---|---|
Ograniczenie-X-Stawka | Całkowity limit żądań na bieżący okres. |
X-Pozostały limit | Pozostałe żądania na bieżący okres. |
Zresetuj X-RateLimit | Ilość sekund do końca bieżącego okresu. |
Przykład z parametrem 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