API Belgeleri
Bir sorunuz mu var? Bize Ulaşın.
Tüm API talepleri HTTPS üzerinden yapılmalı ve aşağıdaki kimlik bilgileriyle HTTP Basic Auth kullanmalıdır:
Username: API KEY
Password: Not needed
Örnek
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://en.wikipedia.org/wiki/Eclipse
Bayrak | Açıklama |
|---|---|
-u | Temel kimlik doğrulama kimlik bilgilerini iletin, API anahtarından sonraki iki nokta cURL'un şifre istemesini engeller. |
-d | POST isteğinde veri gönderin |
Başarı durumunda, Status 302 (Redirect) ile bir HTTP yanıtı alacak ve JSON bilgileri yanıt gövdesinde olacaktır.
# 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 Sürümü
API'nin mevcut sürümü 1.0.
Ana API sürümü URL'de 'v' ve numara olarak sağlanmalıdır, örneğin v1, v2, v3.
Örnek
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
API Yöntemleri
Yöntem | Girdi | Çıktı |
|---|---|---|
PDF / oluştur | URL / HTML | HTML |
html / oluştur | URL / HTML |
Parametreler
page_url veya html parametresini sağlamanız gerekiyor. Diğer tüm parametreler isteğe bağlıdır.
Parametreler | Değer |
|---|---|
Sayfa URL'si | Hedef sayfanın URL'si |
HTML | Hedef sayfanın HTML içeriği |
css_url | Özel CSS dosyası için URL |
header_image_url | Özel Başlık görüntüsü için URL |
Başlık metni | Metin Dizesi |
Aşağıdaki tüm örnekler "pdf/create" yöntemi için sağlanmıştır ve aynı zamanda "html/create" yöntemi için de çalışır.
page_url parametresi ile örnek
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'
Başarı durumunda, Status 302 (Redirect) ile bir HTTP yanıtı alacak ve JSON bilgileri yanıt gövdesinde olacaktır.
html parametreleri ile örnek
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>'
Başarı durumunda, Durum 200 ile bir HTTP yanıtı ve yanıt gövdesinde PDF/HTML içeriği alırsınız.
Hatalar
PrintFriendly hata detaylarını sağlamak için geleneksel durum kodlarını ve JSON yanıtını kullanır.
Durum Kodları
Durum | Açıklama |
|---|---|
200 Tamam | Her şey düzgün çalışıyor. |
400 Kötü İstek | Bir hata oluştu. Ayrıntıları JSON'de gör. |
401 Yetkisiz | 401 Yetkisiz |
404 Bulunamadı | 404 Bulunamadı |
429 Çok Fazla İstek | 429 Çok Fazla İstek |
Tüm başarısız (Durum 302 OK değil) yanıtlar, hata ayrıntılarını içeren bir JSON gövdesine sahiptir ve hata türü ve mesajı içerecektir.
Hata Türleri
Tür | Açıklama |
|---|---|
Parametre doğrulama | Parametre doğrulaması başarısız oldu. |
Yasaklı alan adı | Bu alan adı geçici olarak yasaklandı. |
Analiz başarısız | Sayfa çözümlenemiyor. Bu sayfanın içeriğini belirleyemiyoruz. |
Getirme hatası | Sayfa getirilemiyor. URL'nin erişilebilir olduğundan emin olun ve tekrar deneyin. |
yüksek yük | Parametre doğrulama başarısız oldu. |
Geçersiz dosya uzantısı | Yalnızca web sayfaları desteklenir. Bu bir PDF/TXT dosyası veya Görüntü (JPG, PNG, GIF). |
büyük sayfa | Hedef sayfa 2MB'den büyük. Büyük sayfalar desteklenmez. |
güvenlik platformu | Güvenlik platformu bu sayfayı almamızı engelliyor. |
zaman aşımı | Zaman aşımı. Motor sayfayı 30 saniye içinde işleyemiyor. Lütfen daha sonra tekrar deneyin. |
her şeyi kapsayan | Beklenmeyen bir hata meydana geldi. Lütfen daha sonra tekrar deneyin. |
Örnek
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://test.test
HTML girişi
# 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"}
İstek Hızını Sınırlama
API'nin dakika başına 60 istek sınırı vardır. Bu sınırı aşarsanız, Durum: 429 Çok Fazla İstek içeren bir yanıt alırsınız.
Başlık | Açıklama |
|---|---|
X-Oran Sınırı | Mevcut dönem için toplam istek sınırı. |
X-Kalan Sınır | Mevcut dönem için kalan istek. |
X-RateLimit'i Sıfırla | Mevcut dönemin sonuna kadar saniye miktarı. |
page_url parametresi ile örnek
# 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