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-emailLe 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.