BunnyDoc
API

API

L'API publique de BunnyDoc : ce qui est disponible aujourd'hui, par où commencer et les conventions communes à tous les endpoints.

BunnyDoc propose aujourd'hui une seule API publique : l'API de signature électronique, servie sur https://api2.bunnydoc.com/v1. Elle couvre tout le parcours d'envoi à signature : modèles, contacts, envoi d'une enveloppe, récupération des liens de signature et webhooks pour tout ce qui suit.

Il n'existe pas encore d'API de facturation

Les factures, devis, avoirs, l'inventaire et les dépenses n'ont aucun endpoint public. Ils se gèrent dans l'application, et vous pouvez recevoir leurs événements via des webhooks configurés dans l'app. Voir API de facturation pour ce qui est possible aujourd'hui.

Commencez ici

Vérifiez que votre offre inclut l'accès à l'API

L'accès à l'API est vendu séparément. Sans lui, vous ne pouvez pas créer de clé et POST /v1/auth/token renvoie 403 forbidden. Cherchez Accès API et Demandes de signature API dans Paramètres → Facturation → Ressources.

Créez une clé d'API

Paramètres → Clés d'API, réservé aux propriétaires et administrateurs. Choisissez le jeu de scopes le plus restreint dont l'intégration a besoin. Voir Créer et gérer des clés d'API.

Échangez la clé contre un jeton, puis développez

POST /v1/auth/token renvoie un jeton bearer valable une heure. Suivez ensuite Envoyer depuis un modèle : l'appel autour duquel la plupart des intégrations sont construites.

Où s'arrête la signature électronique et où commence la facturation

La distinction qui déroute est la même que dans l'application : un tableau de facture inséré dans un document à signer relève de la signature électronique, pas de la facturation.

Ce que vous voulez faireOù cela se trouveAPI publique ?
Envoyer un document à signerSignature électronique✅ POST /v1/envelopes/from-template
Faire payer un signataire pendant la signatureSignature électronique✅ via le bloc de paiement du modèle
Ajouter un tableau de prix ou de facture à un document à signerSignature électronique✅ configuré sur le modèle
Être averti qu'un document est signéSignature électronique✅ webhooks
Créer une facture autonome avec son numéro et son statutFacturation❌ uniquement dans l'app
Envoyer un devis ou un avoirFacturation❌ uniquement dans l'app
Gérer les produits, le stock ou les dépensesFacturation❌ uniquement dans l'app
Être averti qu'une facture est payéeFacturation⚠️ webhooks uniquement, configurés dans l'app

Conventions

Tous les endpoints /v1 suivent les mêmes règles.

  • JSON en entrée, JSON en sortie : envoyez et attendez application/json.
  • Un seul jeton bearer : Authorization: Bearer <access_token> sur chaque requête sauf POST /v1/auth/token.
  • Limité à une entreprise : une clé appartient à une entreprise et les requêtes ne franchissent jamais la frontière d'une autre.
  • Les mêmes permissions que dans l'app : une clé ne peut faire que ce que le rôle de son propriétaire autorise, et ses scopes ne peuvent que restreindre davantage, jamais élargir. Voir Utilisateurs et rôles.
  • Pagination par décalage : les endpoints de liste acceptent page et per_page et renvoient un objet pagination.
  • Codes d'erreur stables : branchez sur error.code, jamais sur message. Voir la référence des erreurs.
  • Limitation de débit par clé, pas par IP : une adresse de sortie partagée ne fait donc jamais compter le trafic d'un client contre celui d'un autre.

Gardez les identifiants côté serveur

Une clé d'API agit au nom de toute votre entreprise. Ne la placez jamais dans un navigateur, une application mobile ou un client que vous ne maîtrisez pas.

Sur cette page