Documentation de l'API HTML to PDF

Aperçu

Cette API permet de convertir du contenu HTML en fichiers PDF. Elle offre plusieurs options de personnalisation et de stockage.

Endpoint

POST https://prism-os.1pourcent.tech/convert

Paramètres

Paramètre Type Description
url string URL de la page HTML à convertir
htmlContent string Contenu HTML à convertir
webhookUrl string URL pour recevoir le résultat de la conversion
folderName string Nom du dossier dans le bucket GCS pour stocker le PDF
pdfName string Nom personnalisé pour le fichier PDF généré
returnBase64 boolean Si true, retourne le PDF en Base64 dans la réponse

Exemples d'utilisation

1. Conversion d'une URL

curl -X POST https://prism-os.1pourcent.tech/convert \
     -H "Content-Type: application/json" \
     -d '{
       "url": "https://example.com",
       "webhookUrl": "https://votre-webhook.com/callback",
       "folderName": "mes-pdfs",
       "pdfName": "exemple.pdf",
       "returnBase64": false
     }'
    

2. Conversion de contenu HTML direct

curl -X POST https://prism-os.1pourcent.tech/convert \
     -H "Content-Type: application/json" \
     -d '{
       "htmlContent": "<html><body><h1>Mon contenu HTML</h1></body></html>",
       "webhookUrl": "https://votre-webhook.com/callback",
       "folderName": "html-direct",
       "pdfName": "contenu-html.pdf",
       "returnBase64": true
     }'
    

Réponse

La réponse immédiate de l'API inclut un ID de job :

{
  "message": "Conversion en attente",
  "jobId": "12345"
}
    

Le résultat final est envoyé à l'URL de webhook spécifiée avec la structure suivante :

{
  "jobId": "12345",
  "state": "completed",
  "result": {
    "message": "Conversion réussie",
    "pdfUrl": "https://storage.googleapis.com/votre-bucket/dossier/fichier.pdf",
    "pdfFile": "fichier.pdf",
    "pdfBase64": "base64_encoded_string" // Si returnBase64 est true
  }
}
    

Gestion des erreurs

En cas d'erreur, le webhook recevra une réponse avec l'état "failed" et un message d'erreur :

{
  "jobId": "12345",
  "state": "failed",
  "error": "Description de l'erreur"
}
    

Notes importantes