SDK Python

Le client Python est généré depuis le contrat de l’API Spore. Les modèles Pydantic, les erreurs et les signatures restent donc alignés avec le backend.

Installation

pip install spore-email

Le package supporte Python 3.9 et versions suivantes.

Configuration

Stockez la clé hors du code, puis configurez le préfixe Bearer une fois au démarrage de l’application.

import os
import spore_email
 
configuration = spore_email.Configuration(
    api_key={"BearerAuth": os.environ["SPORE_API_KEY"]},
    api_key_prefix={"BearerAuth": "Bearer"},
)

L’URL de production est déjà configurée sur https://api.sporee.fr. Pour un environnement local, assignez configuration.host = "http://localhost:4110".

Envoyer un email

from uuid import uuid4
 
from spore_email.api.messaging_api import MessagingApi
from spore_email.models.send_email_send_email_request import SendEmailSendEmailRequest
 
message = SendEmailSendEmailRequest(
    var_from="hello@votredomaine.fr",
    to=["alex@example.com"],
    subject="Bienvenue",
    html="<p>Votre compte est prêt.</p>",
)
 
with spore_email.ApiClient(configuration) as client:
    result = MessagingApi(client).send_email(
        message,
        idempotency_key=str(uuid4()),
    )
 
print(result.message_id, result.status)

La clé d’idempotence permet de rejouer la requête après une coupure réseau sans envoyer deux emails. Spore conserve la première réponse pendant 24 heures.

Gérer les erreurs

from spore_email.exceptions import ApiException
 
try:
    result = MessagingApi(client).send_email(message)
except ApiException as error:
    print(error.status, error.body)

Un 202 signifie que Spore a accepté et mis le message en file. Consultez GET /emails/{id} ou les webhooks pour connaître le résultat de livraison.

Aller plus loin