API REST FactPulse
Project description
FactPulse SDK Python
Client Python officiel pour l'API FactPulse - Facturation électronique française.
🎯 Fonctionnalités
- Factur-X : Génération et validation de factures électroniques (profils MINIMUM, BASIC, EN16931, EXTENDED)
- Chorus Pro : Intégration avec la plateforme de facturation publique française
- AFNOR PDP/PA : Soumission de flux conformes à la norme XP Z12-013
- Signature électronique : Signature PDF (PAdES-B-B, PAdES-B-T, PAdES-B-LT)
- Traitement asynchrone : Support Celery pour opérations longues
🚀 Installation
pip install factpulse
📖 Démarrage rapide
1. Authentification
from factpulse import ApiClient, Configuration
# Configuration du client
config = Configuration(host='https://factpulse.fr/api/facturation/')
config.access_token = 'votre_token_jwt'
client = ApiClient(configuration=config)
2. Générer une facture Factur-X
from factpulse.api.processing_endpoints_unifis_api import ProcessingEndpointsUnifisApi
api = ProcessingEndpointsUnifisApi(client)
# Données de la facture
facture_data = {
"numero_facture": "FAC-2025-001",
"date_facture": "2025-01-15",
"montant_total_ht": "1000.00",
"montant_total_ttc": "1200.00",
"fournisseur": {
"nom": "Mon Entreprise SAS",
"siret": "12345678901234",
"adresse_postale": {
"ligne_un": "123 Rue Example",
"code_postal": "75001",
"nom_ville": "Paris",
"pays_code_iso": "FR"
}
},
"destinataire": {
"nom": "Client SARL",
"siret": "98765432109876",
"adresse_postale": {
"ligne_un": "456 Avenue Test",
"code_postal": "69001",
"nom_ville": "Lyon",
"pays_code_iso": "FR"
}
},
"lignes_de_poste": [{
"numero": 1,
"denomination": "Prestation de conseil",
"quantite": "10.00",
"montant_unitaire_ht": "100.00",
"montant_ligne_ht": "1000.00"
}]
}
# Générer le PDF Factur-X
pdf_bytes = api.api_v1_traitement_generer_facturx_post(
donnees_facture=facture_data,
profil='EN16931',
format_sortie='pdf'
)
# Sauvegarder
with open('facture.pdf', 'wb') as f:
f.write(pdf_bytes)
3. Soumettre une facture à Chorus Pro
from factpulse.api.chorus_pro_api import ChorusProApi
chorus_api = ChorusProApi(client)
# Soumettre une facture
response = chorus_api.api_v1_chorus_pro_factures_soumettre_post(
body={
"facture": facture_data,
"destination": {
"type": "chorus_pro",
"credentials": {
"login": "votre_login",
"password": "votre_password"
}
}
}
)
print(f"Facture soumise : {response.id_facture_chorus}")
🔑 Obtention du token JWT
Via l'API
import requests
response = requests.post(
'https://factpulse.fr/api/token/',
json={
'username': 'votre_email@example.com',
'password': 'votre_mot_de_passe'
}
)
token = response.json()['access']
Via le Dashboard
- Connectez-vous sur https://factpulse.fr/dashboard/
- Générez un token API
- Copiez et utilisez le token dans votre configuration
📚 Ressources
- Documentation API : https://factpulse.fr/api/facturation/documentation
- Code source : https://github.com/factpulse/sdk-python
- Issues : https://github.com/factpulse/sdk-python/issues
- Support : contact@factpulse.fr
📄 Licence
MIT License - Copyright (c) 2025 FactPulse
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
factpulse-1.0.2.tar.gz
(146.7 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
factpulse-1.0.2-py3-none-any.whl
(474.9 kB
view details)
File details
Details for the file factpulse-1.0.2.tar.gz.
File metadata
- Download URL: factpulse-1.0.2.tar.gz
- Upload date:
- Size: 146.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1cff26d89dcf2178b42c14476605774b59a9af446abd7d1dd13e5e48bbb734f5
|
|
| MD5 |
98a79fe9533e65c8a3678dbc9d489582
|
|
| BLAKE2b-256 |
d77ef874b148b8a4435be9b6c0d2fb3753afd71851358334e7a2ebea380b3d8d
|
File details
Details for the file factpulse-1.0.2-py3-none-any.whl.
File metadata
- Download URL: factpulse-1.0.2-py3-none-any.whl
- Upload date:
- Size: 474.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b49e378d78dc26d7ce9c2b4ab9de12c0984ccfc74866527c692e6174f0eddd07
|
|
| MD5 |
26f0f9e20409622f0b0ceb68d1c4c264
|
|
| BLAKE2b-256 |
312013e6732578cbbf000427a9c774975f7796787410184c2172a2a5c2c94549
|