Documentation de l'API
Vous avez une question ? Contactez-nous.
Toutes les requêtes API doivent être effectuées via HTTPS et utiliser HTTP Basic Auth avec les identifiants suivants :
Username: API KEY
Password: Not needed
Exemple
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://en.wikipedia.org/wiki/Eclipse
Drapeau | Description |
|---|---|
-u | Passez les identifiants d'authentification de base, deux-points après la clé API empêchent cURL de demander un mot de passe. |
-d | envoyer des données dans une requête POST |
En cas de succès, vous recevrez une réponse HTTP avec le statut 302 (Redirection), et les informations JSON se trouveront dans le corps de la réponse.
# 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"}
Version de l'API
La version actuelle de l'API est 1.0.
La version majeure de l'API doit être indiquée dans l'URL sous forme de 'v' et de numéro, par exemple v1, v2, v3.
Exemple
https://api.printfriendly.com/v2/pdf/create
https://api.printfriendly.com/v2/html/create
Méthodes API
Méthode | Entrée | Sortie |
|---|---|---|
PDF / créer | URL / HTML | HTML |
html / créer | URL / HTML |
Paramètres
Vous devez fournir le paramètre page_url ou html. Tous les autres paramètres sont facultatifs.
Paramètres | Valeur |
|---|---|
URL de la page | URL de la page cible |
HTML | Contenu HTML de la page cible |
css_url | URL pour le fichier CSS personnalisé |
header_image_url | URL pour l’image d’en-tête personnalisée |
Texte d'en-tête | Chaîne de texte |
Tous les exemples ci-dessous sont fournis pour la méthode "pdf/create" et fonctionnent également pour la méthode "html/create".
Exemple avec le paramètre 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'
En cas de succès, vous recevrez une réponse HTTP avec le statut 302 (Redirection), et les informations JSON se trouveront dans le corps de la réponse.
Exemple avec des paramètres 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>'
En cas de succès, vous recevrez une réponse http avec le statut 200 et un contenu PDF/HTML dans le corps de la réponse.
Erreurs
PrintFriendly utilise des codes de statut conventionnels et des réponses JSON pour fournir des détails sur les erreurs.
Codes de statut
Statut | Description |
|---|---|
200 OK | Tout fonctionne bien. |
400 Mauvaise requête | Une erreur s'est produite. Voir les détails dans JSON. |
401 Non autorisé | 401 Non autorisé |
404 Introuvable | 404 Introuvable |
429 Trop de requêtes | 429 Trop de requêtes |
Toutes les réponses non réussies (pas Statut 302 OK) ont un corps JSON avec les détails de l'erreur, incluant le type d'erreur et le message.
Types d'erreur
Type | Description |
|---|---|
Validation des paramètres | Échec de la validation des paramètres. |
Domaine interdit | Ce domaine est temporairement banni. |
Échec de l'analyse | Impossible d'analyser la page. Nous ne pouvons pas déterminer le contenu de cette page. |
Erreur de récupération | Impossible de récupérer la page. Vérifiez que l'URL est accessible et réessayez. |
charge élevée | La validation des paramètres a échoué. |
Extension de fichier invalide | Seules les pages web sont prises en charge. C'est un fichier PDF/TXT ou une image (JPG, PNG, GIF). |
grande page | La page cible dépasse 2 Mo. Les grandes pages ne sont pas prises en charge. |
plateforme de sécurité | La plateforme de sécurité nous empêche de récupérer cette page. |
délai d'attente | Délai dépassé. Le moteur ne peut pas traiter la page en 30 secondes. Veuillez réessayer plus tard. |
général | Erreur inattendue. Veuillez réessayer plus tard. |
Exemple
curl https://api.printfriendly.com/v1/pdfs/create /
-u your_api_key: /
-d page_url=https://test.test
Saisie 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"}
Limitation du taux de requêtes
L'API a une limite de 60 requêtes par minute. Si vous dépassez cette limite, vous recevrez une réponse avec Statut : 429 Trop de demandes.
En-tête | Description |
|---|---|
Limite de taux-X | Limite totale des demandes pour la période en cours. |
X-Limite de taux restant | Demande restante pour la période en cours. |
Réinitialiser X-RateLimit | Nombre de secondes jusqu'à la fin de la période en cours. |
Exemple avec le paramètre 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