Aller au contenu
📢 Kafinea est une solution compatible pour la facturation électronique ! En savoir plus ➔
kafinea logo svg

Kafinea

  • Fonctionnalités
        • Finances
          • Achats
          • Audits & KPI
          • Comptabilité
          • Facturation
        • Gestion
          • Documents
          • Gestion de projet
          • Gestion des stocks
          • Maintenance
        • RH
          • Employés
          • Feuilles de temps
          • Gestion des absences
          • Recrutement
        • Service client
          • Contrats de service
          • Interventions
          • Suivi de garanties
          • Tickets
        • Ventes
          • Abonnements
          • Automatisation des ventes
          • CRM
          • Points de vente
        • Fonctionnalités transversales
          • API
          • Extranet
          • Signature électronique
          • Workflows
  • Tarifs
  • Se connecter
  • Découvrir la démo
📢 Kafinea est compatible facturation électronique ! ➔
kafinea logo svg
Kafinea

Marketing

6
  • Les prospects
  • Les affaires
  • L’envoi d’emails et de SMS
  • Campagnes
    • Les campagnes marketing
    • Le paramétrage de campagnes email et SMS
    • Le calcul de marge prévisionnelle d’une campagne

Ventes

17
  • Les bons de commande client
  • Les comptes client
  • Les contacts
  • Les avoirs client
  • Recherche d’Entreprises (Sirene)
  • Les marges dans les devis
  • Les devis client
  • Facturation
    • La facturation classique
    • La facturation d’avancement
    • La facturation de consommations d’articles
    • Émettre une facture électronique
    • La facturation récurrente
  • Paiements
    • Les paiements client
    • L’association d’un paiement à une ou plusieurs factures
  • Grille tarifaire
    • L’utilisation d’une grille tarifaire
    • Les stratégies de tarification
    • Guide administrateur grille tarifaire

Achats

6
  • Les fournisseurs
  • Les bons de commande fournisseur
  • Les factures fournisseur
  • Recevoir une facture électronique
  • Les avoirs fournisseur
  • Les paiements fournisseur

Catalogue

9
  • Les produits
  • Les services
  • Les familles d’articles
  • Les unités de mesure
  • La gestion du sourcing
  • Les produits génériques
  • Les kits de produits
  • L’assistant de commandes fournisseurs
  • L’analyse des marges du catalogue

Finances

18
  • Les comptes bancaires
  • Les comptes bancaires tiers
  • Les transactions bancaires
  • Les mandats SEPA
  • Les prélèvements bancaires
  • Les saisies manuelles
  • Comptabilité
    • La comptabilité
    • Les écritures comptables
    • Les stratégies comptables
    • Les états financiers
    • Les rapprochements bancaires
    • Les relevés bancaires
    • Les outils pour vérifier sa comptabilité
    • Le paramétrage de la déclaration de TVA
    • La déclaration de TVA
    • L’export de comptabilité au format FEC
  • Exercices comptables
    • Les exercices comptables
    • La comptabilité de trésorerie

Ressources Humaines

16
  • Les personnes
  • Les services
  • Les activités
  • Les affectations de service
  • Les feuilles de temps
  • Les demandes de congés
  • Les natures des absences
  • Les notes de frais
  • Les formations
  • Les lieux de travail
  • Les matrices de polyvalence
  • Les modèles de contrats de travail
  • Les bulletins de paie
  • Extranet collaborateur
    • Le portail collaborateur
    • La carte espace collaborateur
    • La gestion des congés

Gestion de projet

7
  • Les projets
  • Les tâches de projet
  • Les jalons de projet
  • Les participations aux projets
  • Cockpit chef de projet
  • L’espace intervenant : voir et accepter mes interventions
  • Sécuriser les interventions par liste de personnes

Support client

7
  • Les tickets
  • Les contrats de service
  • Les équipements client
  • Les instances client
  • Le suivi de garanties
  • Les FAQ
  • Le portail client

Maintenance

4
  • Les établissements
  • Les sites de maintenance
  • Les équipements
  • Les opérations de maintenance

Gestion des stocks

8
  • Les bons de réception
  • Les bons de livraison
  • Les demandes de transfert de stock
  • Les emplacements de stockage
  • Les mouvements de stock
  • Les modes de livraison
  • Valorisation des Stocks
  • Les sites de stockage

Points de vente

5
  • Les points de vente physiques
  • Les mouvements de caisse
  • Les boutiques e-commerce
  • Caisse enregistreuse
    • Les caisses enregistreuses
    • Le paramétrage de votre caisse enregistreuse

Gestion documentaire

6
  • La gestion électronique des documents
  • La signature électronique
  • L’envoi de documents par email
  • Modèles
    • Les modèles de documents
    • Les modèles d’emails
    • Les shortcodes

Automatisation

3
  • Les formulaires
  • Les flux de travail (workflows)
  • Le planificateur

Intelligence artificielle

5
  • L’assistant de texte IA
  • Le chat IA
  • Les workflows IA
  • Connecter une IA externe (MCP)
  • L’OCR de factures assisté par IA

Intégrations

8
  • API
    • API REST – Introduction
    • API REST – Relations entre entités
    • API REST – Gestion des fichiers
    • API REST – Requêtes et interrogation
    • API REST – Listes déroulantes (Picklist)
    • API REST – Opérations CRUD
    • API REST – Authentification
    • API REST – Récupérer le PDF d’un document

Interface Kafinea

11
  • La navigation
  • Les listes
  • Les enregistrements
  • L’enregistrement automatique
  • Les étiquettes (tags)
  • Les rapports
  • Les tableaux de bord
  • Le gestionnaire d’agencement
  • L’import / export de données
  • Les lignes de documents
  • Liens entre éléments

Paramétrage

16
  • Les sociétés
  • Les utilisateurs
  • Les droits d’accès
  • Les préférences utilisateur
  • Les langues et traductions
  • Les formats de numérotation
  • Le paramétrage SMTP
  • La recherche globale
  • Le filtrage des popups catalogue
  • Le verrouillage permanent
  • Le journal d’événements
  • La configuration des taxes
  • Les agents IA
  • Le serveur MCP
  • Mappage de données
    • Le mappage de conversion de prospect
    • Le mappage d’affaire en projet

Guides métier

2
  • Permettre aux collaborateurs de compléter leur dossier RH en autonomie
  • Mobiliser des milliers d’intervenants terrain à grande échelle
  • Kafinea
  • Documentation
  • Intégrations
  • API
  • API REST – Récupérer le PDF d’un document
View Categories

API REST – Récupérer le PDF d’un document

5 minutes

Cette page décrit comment récupérer, depuis une application tierce, le PDF d’un document commercial (facture, avoir, devis, commande, bon de livraison, bulletin de paie…) exactement tel qu’il est généré par Kafinea, avec le modèle d’impression de votre choix.

Par défaut, lorsque le document est une facture ou un avoir et que les conditions sont réunies, le PDF renvoyé contient automatiquement le fichier Factur-X : aucun paramètre supplémentaire n’est nécessaire (voir la section « Facture électronique » plus bas).

Une seule opération est nécessaire :

Opération Méthode Description
mds_document_pdf GET Récupérer le PDF d’un document

Elle nécessite une session valide (voir Authentification).


mds_document_pdf – Récupérer le PDF #

Génère le PDF d’un enregistrement et le renvoie, soit encodé en base64 dans la réponse JSON, soit directement sous forme de fichier PDF.

GET https://apps.kafinea.com/{instance}/webservice.php

Paramètre Type Requis Description
operation string oui Doit être mds_document_pdf
sessionName string oui Identifiant de session
id string oui Identifiant Webservice de l’enregistrement (6x54325), tel que renvoyé par query ou retrieve
templateId string non Identifiant Webservice du modèle d’impression (57x1088). Si absent, le modèle par défaut du module est utilisé
download string non 1 pour recevoir directement le fichier PDF au lieu de la réponse JSON

Convention des identifiants : comme pour toutes les opérations de l’API, id et templateId attendent l’identifiant Webservice complet (6x54325), celui que renvoient query, retrieve ou describe. Un identifiant brut (54325) est refusé avec le code INVALID_ID_ATTRIBUTE.

Réponse JSON (par défaut) #

curl "https://apps.kafinea.com/YourKafinea/webservice.php?operation=mds_document_pdf&sessionName=YOUR_SESSION_ID&id=6x54325&templateId=57x1088"
{
  "success": true,
  "result": {
    "id": "6x54325",
    "module": "Invoice",
    "templateId": "57x1088",
    "filename": "Facture - 0053 - 2026-06-29.pdf",
    "mime": "application/pdf",
    "size": 970618,
    "base64": "JVBERi0xLjQKJeLjz9MK..."
  }
}

Le champ base64 contient les octets du PDF. Décodez-le pour reconstituer le fichier :

$pdfBytes = base64_decode($response['result']['base64']);
file_put_contents($response['result']['filename'], $pdfBytes);

Téléchargement direct du fichier #

Avec download=1, la réponse n’est plus du JSON : le fichier PDF est renvoyé tel quel, avec les en-têtes Content-Type: application/pdf et Content-Disposition: attachment.

curl -o facture.pdf "https://apps.kafinea.com/YourKafinea/webservice.php?operation=mds_document_pdf&sessionName=YOUR_SESSION_ID&id=6x54325&download=1"

Astuce : Le mode download=1 évite le surcoût de l’encodage base64 (environ +33 % de volume) : privilégiez-le lorsque vous archivez ou réexpédiez le fichier tel quel.


Trouver l’identifiant d’un modèle d’impression #

Le paramètre templateId est facultatif : sans lui, Kafinea utilise le modèle par défaut du module. Si vous souhaitez imposer un modèle précis, récupérez son identifiant.

Rappel : Les modèles d’impression sont un module Kafinea à part entière, donc accessibles via les opérations génériques de l’API (describe, query, retrieve…). Aucune opération dédiée n’est nécessaire.

curl --get "https://apps.kafinea.com/YourKafinea/webservice.php" \
  --data-urlencode "operation=query" \
  --data-urlencode "sessionName=YOUR_SESSION_ID" \
  --data-urlencode "query=SELECT id, templatename, basemodule, active FROM MdsPrintTemplate WHERE basemodule = 'Invoice';"
{
  "success": true,
  "result": [
    { "id": "57x1088", "templatename": "Facture client", "basemodule": "Invoice", "active": "1" },
    { "id": "57x1093", "templatename": "Facture d'avancement client", "basemodule": "Invoice", "active": "1" }
  ]
}

Le champ basemodule indique le module auquel le modèle s’applique. L’identifiant renvoyé (57x1088) s’utilise tel quel dans le paramètre templateId.

Un résultat vide signifie que le module ne dispose d’aucun modèle d’impression : l’export PDF n’est alors pas possible pour ce module.


Modules concernés #

L’opération fonctionne pour tout module disposant d’au moins un modèle d’impression, notamment :

  • les documents de gestion commerciale : devis, commandes client, factures, avoirs, commandes fournisseur ;
  • les documents logistiques : bons de livraison, bons de réception ;
  • les bulletins de paie ;
  • tout module pour lequel vous avez créé vos propres modèles d’impression.

Pour savoir si un module est éligible, interrogez les modèles d’impression associés à ce module (voir ci-dessus) : s’il en existe au moins un, l’export PDF est disponible.


Facture électronique (Factur-X) #

Le PDF renvoyé est identique à celui produit depuis l’interface : il contient donc automatiquement, et sans aucun paramètre à ajouter à votre appel, le fichier factur-x.xml lorsque toutes les conditions ci-dessous sont réunies.

Condition Détail
Type de document Facture client ou avoir client
Verrouillage Le document doit être verrouillé définitivement (document définitif)
Paramétrage de l’instance Le format de facturation électronique doit être configuré sur Factur-X

Le fichier obtenu est alors un PDF/A-3 : lisible comme un PDF ordinaire, il embarque en pièce jointe le fichier XML normalisé exploitable par la comptabilité du destinataire.

Note : Un document non verrouillé est considéré comme un brouillon : son PDF porte un filigrane et ne contient pas de fichier Factur-X. C’est le comportement attendu – une facture non définitive n’a pas de valeur légale.

Vérifier la présence du fichier Factur-X :

curl -o facture.pdf "https://apps.kafinea.com/YourKafinea/webservice.php?operation=mds_document_pdf&sessionName=YOUR_SESSION_ID&id=6x54325&download=1"
strings facture.pdf | grep factur-x.xml

Droits d’accès #

L’opération applique les droits de l’utilisateur du compte d’intégration : si cet utilisateur n’a pas le droit de consulter le document, l’appel est refusé. Créez un utilisateur dédié à l’intégration et attribuez-lui un profil donnant accès aux seuls modules nécessaires.


Codes d’erreur #

Code Signification
INVALID_ID_ATTRIBUTE Paramètre id ou templateId manquant, mal formé, ou ne correspondant pas au bon module
ACCESS_DENIED L’utilisateur connecté n’a pas le droit de consulter ce document (ou le document n’existe pas)
RECORD_NOT_FOUND Le document n’existe pas (ou a été supprimé)
PDF_NOT_SUPPORTED Le module ne dispose d’aucun modèle d’impression
INVALID_TEMPLATE Le modèle demandé n’appartient pas au module du document
PDF_GENERATION_FAILED La génération du PDF a échoué (le message précise la cause)

Exemple de réponse en erreur :

{
  "success": false,
  "error": {
    "message": "Print template 57x1093 does not belong to module \"Invoice\".",
    "code": "INVALID_TEMPLATE"
  }
}

Questions fréquentes #

Comment obtenir l’identifiant d’une facture à partir de son numéro ?

Utilisez l’opération query (voir Requêtes et interrogation) :

SELECT id FROM Invoice WHERE invoice_no = 'FA-2026-0053';

L’identifiant renvoyé (6x54325) est directement utilisable comme paramètre id.

Note : Le préfixe de l’identifiant Webservice (le nombre avant le x) est propre à chaque instance : ne le codez jamais en dur, récupérez-le toujours via query ou describe.

Puis-je récupérer plusieurs PDF en une seule requête ?

Non : un appel renvoie un document. Enchaînez les appels avec la même session – la génération d’un PDF étant coûteuse, prévoyez un traitement séquentiel plutôt que massivement parallèle.

Le PDF renvoyé porte un filigrane « Brouillon ». Pourquoi ?

Le document n’est pas verrouillé définitivement. Verrouillez-le dans Kafinea, puis relancez l’appel.

Puis-je récupérer uniquement le fichier XML de la facture électronique ?

Oui, l’opération mds_invoice_facturx renvoie le XML seul pour une facture verrouillée :

curl "https://apps.kafinea.com/YourKafinea/webservice.php?operation=mds_invoice_facturx&sessionName=YOUR_SESSION_ID&id=6x54325"

Références associées 🔗 #

  • Introduction
  • Authentification
  • Requêtes et interrogation
  • Gestion des fichiers
Index
  • mds_document_pdf – Récupérer le PDF
    • Réponse JSON (par défaut)
    • Téléchargement direct du fichier
  • Trouver l'identifiant d'un modèle d'impression
  • Modules concernés
  • Facture électronique (Factur-X)
  • Droits d'accès
  • Codes d'erreur
  • Questions fréquentes
  • Références associées 🔗

Un logiciel tout-en-un conçu pour les PME. Profitez des capacités d’automatisation et de la flexibilité de notre plateforme de gestion d’entreprise pour faciliter le travail de tous vos collaborateurs.

RESSOURCES

Blog
Charte graphique
Distributeurs
Documentation
Sécurité

Portail clients
À PROPOS

CGU
Foire Aux Questions
Mentions légales
Nous contacter
Politique de confidentialité
Politique de cookies
Qui sommes-nous ?

FINANCES

Achats
Audits & KPI
Comptabilité
Facturation

GESTION

Documents
Gestion de projet
Gestion des stocks
Maintenance

RH

Employés
Feuilles de temps
Gestion des absences
Recrutement

SERVICE CLIENT

Contrats de service
Interventions
Suivi de garanties
Tickets

VENTES

Abonnements
Automatisation des ventes
CRM
Points de vente

© 2026 Madiasoft - Kafinea

24 rue Louis Blanc, 75010 PARIS

01 70 06 05 41

Facebook Linkedin
kafinea logo svg
Gérer le consentement aux cookies
Pour offrir les meilleures expériences, nous utilisons des cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces cookies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’internaute, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou la personne utilisant le service.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques. Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’internaute sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.
  • Gérer les options
  • Gérer les services
  • Gérer {vendor_count} fournisseurs
  • En savoir plus sur ces finalités
Voir les préférences
  • {title}
  • {title}
  • {title}
  • Fonctionnalités
    • Finances
      • Achats
      • Audits & KPI
      • Comptabilité
      • Facturation
    • Gestion
      • Documents
      • Interventions
      • Gestion de projet
      • Gestion des stocks
    • RH
      • Employés
      • Feuilles de temps
      • Gestion des absences
      • Recrutement
    • Service client
      • Contrats de service
      • Suivi de garanties
      • Maintenance
      • Tickets
    • Ventes
      • Abonnements
      • Automatisation des ventes
      • CRM
      • Points de vente
    • Fonctionnalités transversales
      • API
      • Extranet
      • Signature électronique
      • Workflows
  • Tarifs
  • Se connecter
  • Découvrir la démo