Les SDK
TypeScript et Python : une méthode par opération, les reprises et l'idempotence faites pour vous.
TypeScript
@lidmeo/sdk : Node 18 et plus, Deno ou Bun (il lui faut fetch et node:crypto), sans aucune dépendance.Python
lidmeo : Python 3.8 et plus, la bibliothèque standard seulement.Les deux SDK sont générés depuis le contrat de l'API : chaque opération de la référence y a sa méthode, avec ses paramètres. Ils font pour vous ce qu'une bonne intégration doit faire :
- l'authentification : la clé dans
LIDMEO_API_KEY, ou passée au client ; - la version : chaque requête porte la version d'API avec laquelle le SDK a été généré, ses types correspondent donc aux réponses ;
- l'idempotence : chaque écriture porte une
Idempotency-Key, la même à chaque nouvelle tentative ; - la langue des erreurs : l'option
language("fr"ou"en") choisit celle dedetail(en-têteAccept-Language) ; sans elle, l'API répond en français ; - les reprises : coupure réseau,
408,429(aprèsRetry-After) et erreurs5xx, avec la mêmeIdempotency-Key; sur une écriture, aussi les refus passagers en409(idempotency_key_in_use,send_in_progress,import_in_progress,test_reset_in_progress,delivery_in_progress) ; deux reprises par défaut, avec une attente croissante. Jamais un envoi qui a échoué (502 send_failed) ni des envois coupés par Lidmeo (503 sends_disabled) : renvoyer reste votre décision ; - les erreurs : une seule classe,
LidmeoError, avec lecodestable du problème ; - la pagination : un parcours de toutes les pages ;
- les webhooks : la vérification de la signature.
Le SDK TypeScript est un module ESM : import partout ; require fonctionne à partir de Node 20.19 et 22.12. Il ne tourne ni dans un navigateur, ni sur un environnement edge sans compatibilité Node.
Pour un autre langage, générez un client depuis le contrat OpenAPI (https://developers.lidmeo.com/openapi.json).