API v1.0 — Production ready

ShazaMail API

Une API REST puissante pour créer et gérer des adresses email temporaires à la volée. Construisez des tests automatisés, protégez la vie privée de vos utilisateurs, ou intégrez ShazaMail dans votre application.

Quick Start

Intégrez ShazaMail en moins de 5 minutes.

1
1

Obtenez votre clé API

Créez un compte et générez votre clé API depuis le dashboard.

2
2

Créez une boîte mail

Appelez POST /api/v1/inboxes pour créer une adresse temporaire instantanément.

3
3

Lisez les messages

Interrogez GET /api/v1/inboxes/{address}/messages pour récupérer les emails reçus.

4
4

Configurez un webhook

Recevez les emails en temps réel en enregistrant votre endpoint via POST /api/v1/webhooks.

curl -X POST https://api.shazamail.tech/api/v1/inboxes \
  -H "X-Api-Key: sk_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"domain": "shazamail.tech"}'

Authentification

Toutes les requêtes doivent inclure votre clé API dans le header X-Api-Key.

X-Api-Key: sk_live_xxxxxxxxxxxxxxxxxxxx

Production

Préfixe sk_live_transactions réelles

Sandbox

Préfixe sk_test_tests sans frais

API Reference

Explorez et testez tous les endpoints directement depuis la documentation.

Webhooks

Recevez des notifications en temps réel lorsque de nouveaux emails arrivent.

Événements disponibles

message.receivedinbox.createdinbox.expiredinbox.deleted

Vérification de signature

import crypto from "crypto";

function verifySignature(payload: string, signature: string, secret: string) {
  const expected = crypto
    .createHmac("sha256", secret)
    .update(payload)
    .digest("hex");
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(`sha256=${expected}`)
  );
}

SDKs & Libraries

Bibliothèques officielles pour intégrer ShazaMail en quelques lignes.

JavaScript

shazamail-js
Stable

v1.2.0

Python

shazamail
Stable

v1.0.3

PHP

shazamail/php
Beta

v0.9.1

Go

shazamail-go
Beta

v0.5.0

Codes d'erreur

Toutes les erreurs retournent un JSON avec un champ code machine-readable.

StatusCodeDescription
400bad_requestParamètres manquants ou invalides
401unauthorizedClé API absente ou invalide
403forbiddenPlan insuffisant pour cette ressource
404not_foundRessource introuvable
429rate_limit_exceededTrop de requêtes — voir Retry-After
500server_errorErreur interne, réessayez plus tard

Rate Limits

Les limites sont retournées dans les headers X-RateLimit-* de chaque réponse.

PlanRateBoîtesWebhooks
Free10 req/min100/jourNon
Pro100 req/min10 000/jOui
EnterpriseIllimitéIllimitéesOui

En cas de dépassement, la réponse 429 inclut un header Retry-After indiquant le délai en secondes avant de réessayer.