API Bill — la prise universelle
Branchez votre caisse, votre DMS garage ou votre ancien logiciel à Bill. Une clé Bearer, des webhooks signés — et c'est tout : l'API est incluse dans votre plan.
API incluse dans votre plan
L'API ne coûte rien de plus : elle consomme les crédits de votre compte, exactement comme l'application (1 document = 1 crédit, même compteur). La sandbox de test est gratuite et illimitée ; la clé live s'ouvre dès que votre SIRET est vérifié. Créez vos clés depuis Paramètres → API & Développeurs ou depuis Mes connexions logiciels.
Endpoints
| Méthode | Chemin | Rôle |
|---|---|---|
| POST | /api/v1/invoices | Crée un brouillon de facture. |
| POST | /api/v1/invoices/<id>/finalize | Numérote, débite 1 crédit (même compteur que l'application), génère le Factur-X et (option) envoie à la PA. Supporte Idempotency-Key. |
| GET | /api/v1/invoices/<id> | Récupère l'état, le numéro et les statuts PA. |
| GET | /api/v1/credits | Solde de crédits du compte — à lire avant un envoi en lot. |
| POST | /api/v1/convert | Convertit un PDF (1 crédit en LIVE) — renvoie le texte extrait et l'aperçu. |
| POST | /api/v1/bills/<id>/validate | Applique les corrections, passe la facture en validated et génère le Factur-X. Aucun débit (déjà pris au convert). |
| POST | /api/v1/ereporting/days | Enregistre une journée B2C (caisse, boutique). Aucun crédit à l'enregistrement — la transmission PA reste manuelle (1 crédit). Connectez votre caisse ou votre boutique : vous ne changez rien. |
Exemples curl
curl -X POST https://monbill.fr/api/v1/invoices \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-d '{
"client": { "name": "ACME SAS", "siren": "552081317", "email": "compta@acme.fr" },
"lines": [
{ "description": "Prestation mensuelle", "qty": 1, "unit_price_ht": 1200, "vat_rate": 20 }
]
}'curl -X POST https://monbill.fr/api/v1/invoices/<id>/finalize \
-H "Authorization: Bearer sk_live_..." \
-H "Idempotency-Key: caisse-42-ticket-8137" \
-H "Content-Type: application/json" \
-d '{ "send_pa": true }'curl https://monbill.fr/api/v1/credits \
-H "Authorization: Bearer sk_live_..."curl -X POST https://monbill.fr/api/v1/convert \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{ "pdf_base64": "JVBERi0xLjQK...", "filename": "facture.pdf" }'curl -X POST https://monbill.fr/api/v1/bills/<id>/validate \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"invoice_number": "F-2026-0001",
"invoice_date": "2026-07-11",
"due_date": "2026-08-10",
"client": { "name": "ACME SAS", "siren": "552081317" },
"total_ht": 1200, "vat_amount": 240, "total_ttc": 1440
}'Boucle complète depuis un PDF : convert → validate (avec corrections éventuelles) → GET /invoices/<id>. Aucun redébit entre les étapes ; le crédit a déjà été pris au convert.
Crédits & bonnes pratiques
- L'API est incluse dans tous les plans : chaque document produit en live consomme 1 crédit du compte — le même compteur que l'application.
- À solde nul, l'API répond 429 avec le code credits_exhausted — rien n'est envoyé. Rechargez un pack ou attendez le renouvellement du plan.
- Idempotence : envoyez un en-tête Idempotency-Key unique par document sur finalize — un réessai après coupure renvoie le même document, sans re-débit.
- Avant un lot (caisse, export), lisez GET /api/v1/credits pour connaître le solde.
Sécurité
- Deux modes : sk_test_… (aucun débit, aucun envoi PA, factures marquées mode_test) et sk_live_… (nécessite un SIRET vérifié).
- La clé secrète n'est affichée qu'à la création. Bill n'en conserve que l'empreinte SHA-256 — nous ne pouvons pas vous la restituer.
- Rate limit : 60 requêtes / minute / clé. Réponse 429 au-delà.
- Webhooks sortants signés HMAC SHA-256 (header X-Bill-Signature: t=…,v1=…) — vérifiez la signature avant de traiter la charge utile.
- Journal d'audit intégral : chaque appel API est tracé (user, préfixe de clé, endpoint, code HTTP) sans jamais stocker vos payloads sensibles.
Gros volumes — offres à venir
Vous branchez un parc entier (caisses multi-magasins, réseau, très gros volumes de documents) ? Des offres volume dédiées arrivent. En attendant, l'API standard est ouverte et vos crédits gouvernent le volume — écrivez-nous pour préparer votre intégration : contact@storafix.com.