Aller au contenu principal

Frameworks

Flask — Intégration Scell.io

Sync via requests + extension Flask

Scell.io ne publie PAS de SDK Python officiel. Pour Flask, utiliser `requests.Session()` (sync) initialisé dans `app.config` et accessible via `current_app`. Pour les workloads lourds, déléguer à Celery. Pas de magie : appel HTTP direct vers `https://api.scell.io/api/v1/invoices` avec `X-API-Key`.

À retenir

  • `requests.Session()` partagée dans `app.config`
  • Pas de SDK Python — appel HTTP direct
  • Pour async/queue : Celery + broker Redis
  • `SCELL_API_KEY` via `os.environ` (pas dans le code)
  • Compatible Flask 2.x et 3.x

Exemple de code

import os, requests
from flask import Flask, request, jsonify, current_app

app = Flask(__name__)
app.config['SCELL'] = requests.Session()
app.config['SCELL'].headers.update({'X-API-Key': os.environ['SCELL_API_KEY']})

@app.post('/invoice')
def create_invoice():
    body = request.get_json()
    r = current_app.config['SCELL'].post(
        'https://api.scell.io/api/v1/invoices',
        json={'format': 'factur-x', 'lines': [{'description': body['label'], 'quantity': 1, 'unit_price': body['amount'], 'vat_rate': 20.0}]},
        timeout=30,
    )
    return jsonify(r.json()), r.status_code

Voir aussi

Vos préférences cookies

Nous utilisons des cookies pour améliorer votre expérience. Les cookies essentiels sont toujours actifs. Politique cookies.