## Authentification Apprenez comment obtenir et utiliser les clés API ## Obtenir une clé API Avant d'utiliser l'API, vous devez obtenir une clé API. Vous pouvez créer votre clé API sur la page Profil. ### Utilisation de la clé API Incluez votre clé API dans les en-têtes de requête pour toutes les requêtes API : [Code (bash)] X-API-Key: Bearer VOTRE_CLE_API [/Code] ### Notes importantes - Gardez votre clé API sécurisée et ne l'exposez pas dans des endroits publics - La clé API a les mêmes permissions que votre compte, utilisez-la avec précaution - Si votre clé API est compromise, régénérez-en immédiatement une nouvelle dans votre page Profil --- ## API Email Créer et gérer les emails ## Obtenir les domaines disponibles Obtenez tous les domaines email disponibles dans le système. ### Requête [Code (bash)] GET /api/email/domains [/Code] ### Exemple de requête [Code (bash)] curl https://chat-tempmail.com/api/email/domains \ -H "X-API-Key: VOTRE_CLE_API" [/Code] ### Paramètres de réponse Paramètre | Type | Description ----------- | ------ | ------------- domains | array | Liste des domaines email disponibles ### Exemple de réponse [Code (json)] { "domains": [ "chat-tempmail.com", "example.com", "other-domain.com" ] } [/Code] ## Créer un email Créez une nouvelle adresse email temporaire. ### Requête [Code (bash)] POST /api/emails/generate [/Code] ### Paramètres de requête Paramètre | Type | Requis | Description ----------- | ------ | -------- | ------------- name | string | Oui | Préfixe de l'email expiryTime | number | Oui | Temps d'expiration (millisecondes)
Valeurs disponibles :
- 3600000 (1 heure)
- 86400000 (1 jour)
- 259200000 (3 jours)
- 0 (permanent) domain | string | Oui | Domaine de l'email ### Exemple de requête [Code (bash)] curl -X POST https://chat-tempmail.com/api/emails/generate \ -H "X-API-Key: VOTRE_CLE_API" \ -H "Content-Type: application/json" \ -d '{ "name": "test", "expiryTime": 3600000, "domain": "chat-tempmail.com" }' [/Code] ### Paramètres de réponse Paramètre | Type | Description ----------- | ------ | ------------- id | string | Identifiant unique de l'email (format UUID) email | string | Adresse email créée (adresse email complète) ### Exemple de réponse [Code (json)] { "id": "c2c4f894-c672-4d5b-a918-abca95aff1f7", "email": "test@chat-tempmail.com" } [/Code] ## Obtenir la liste des emails Obtenez toutes les adresses email sous votre compte. ### Requête [Code (bash)] GET /api/emails [/Code] ### Paramètres de requête Paramètre | Type | Requis | Description ----------- | ------ | -------- | ------------- cursor | string | Non | Curseur de pagination, obtenez nextCursor de la réponse précédente ### Exemple de requête [Code (bash)] curl https://chat-tempmail.com/api/emails \ -H "X-API-Key: VOTRE_CLE_API" [/Code] ### Paramètres de réponse Paramètre | Type | Description ----------- | ------ | ------------- emails | array | Liste des emails (max 20 éléments par requête) nextCursor | string | Curseur de page suivante pour obtenir plus de données total | number | Nombre total d'emails ### Objets Email dans le tableau emails Paramètre | Type | Description ----------- | ------ | ------------- id | string | Identifiant unique de l'email (format UUID) address | string | Adresse email (adresse email complète) userId | string | ID de l'utilisateur propriétaire de l'email (format UUID) createdAt | string | Heure de création de l'email (format ISO 8601) expiresAt | string | Heure d'expiration de l'email (format ISO 8601) ### Exemple de réponse [Code (json)] { "emails": [ { "id": "e4ff5c14-8a72-48c5-bd13-b5347fb944da", "address": "6Tg3VT@chat-tempmail.com", "userId": "bd08008d-e944-44b2-a0d0-67f2b528ee6d", "createdAt": "2025-04-21T08:30:45.084Z", "expiresAt": "2025-04-22T08:30:45.084Z" } ], "nextCursor": "fd13a8df-1465-4fbc-a612-ca7311c31ff2", "total": 20 } [/Code] ## Supprimer un email Supprimez l'adresse email spécifiée. ### Requête [Code (bash)] DELETE /api/emails/{emailId} [/Code] ### Paramètres de requête Paramètre | Type | Requis | Description ----------- | ------ | -------- | ------------- emailId | string | Oui | ID de l'email (paramètre de chemin) ### Exemple de requête [Code (bash)] curl -X DELETE "https://chat-tempmail.com/api/emails/99fadf12-6826-490a-9c6c-b0b528d4a8e0" \ -H "X-API-Key: VOTRE_CLE_API" [/Code] ### Paramètres de réponse Paramètre | Type | Description ----------- | ------ | ------------- success | boolean | Si la suppression a réussi ### Exemple de réponse [Code (json)] { "success": true } [/Code] --- ## API Messages Gérer les messages ## Obtenir la liste des messages Obtenez tous les messages dans l'adresse email spécifiée. ### Requête [Code (bash)] GET /api/emails/{emailId} [/Code] ### Paramètres de requête Paramètre | Type | Requis | Description ----------- | ------ | -------- | ------------- emailId | string | Oui | ID de l'email (paramètre de chemin) cursor | string | Non | Curseur de pagination (paramètre de requête), obtenez nextCursor de la réponse précédente ### Exemple de requête [Code (bash)] curl "https://chat-tempmail.com/api/emails/c2c4f894-c672-4d5b-a918-abca95aff1f7" \ -H "X-API-Key: VOTRE_CLE_API" [/Code] ### Paramètres de réponse Paramètre | Type | Description ----------- | ------ | ------------- messages | array | Liste des messages (max 20 éléments par requête) nextCursor | string | Curseur de page suivante pour obtenir plus de données total | number | Nombre total de messages ### Objets Message dans le tableau messages Paramètre | Type | Description ----------- | ------ | ------------- id | string | Identifiant unique du message (format UUID) from_address | string | Adresse de l'expéditeur subject | string | Objet du message received_at | number | Heure de réception (timestamp Unix en millisecondes) ### Exemple de réponse [Code (json)] { "messages": [ { "id": "fd13a8df-1465-4fbc-a612-ca7311c31ff2", "from_address": "sender1@example.com", "subject": "Message de test 1 - xJOK2h", "received_at": 1745224245084 } ], "nextCursor": "eyJ0aW1lc3RhbXAiOjE3NDUxNTU4NDUwODQsImlkIjoiNjNmNzFlODYtOGE1NC00ZDQ0LTk5ZWYtN2QzNTBhMTQ4M2JiIn0=", "total": 50 } [/Code] ## Obtenir les détails du message Obtenez le contenu détaillé du message spécifié. ### Requête [Code (bash)] GET /api/emails/{emailId}/{messageId} [/Code] ### Paramètres de requête Paramètre | Type | Requis | Description ----------- | ------ | -------- | ------------- emailId | string | Oui | ID de l'email (paramètre de chemin) messageId | string | Oui | ID du message (paramètre de chemin) ### Exemple de requête [Code (bash)] curl "https://chat-tempmail.com/api/emails/99fadf12-6826-490a-9c6c-b0b528d4a8e0/fd13a8df-1465-4fbc-a612-ca7311c31ff2" \ -H "X-API-Key: VOTRE_CLE_API" [/Code] ### Paramètres de réponse Paramètre | Type | Description ----------- | ------ | ------------- message | object | Détails du message ### Champs de l'objet message Paramètre | Type | Description ----------- | ------ | ------------- id | string | Identifiant unique du message (format UUID) from_address | string | Adresse de l'expéditeur subject | string | Objet du message content | string | Contenu texte brut du message html | string | Contenu HTML du message (peut être vide) received_at | number | Heure de réception (timestamp Unix en millisecondes) ### Exemple de réponse [Code (json)] { "message": { "id": "fd13a8df-1465-4fbc-a612-ca7311c31ff2", "from_address": "sender1@example.com", "subject": "Message de test 1 - xJOK2h", "content": "Message de test 1\n\nCeci est le contenu du message de test 1.\n\nMeilleures salutations,\nExpéditeur 1", "html": "
\n

Message de test 1

\n
", "received_at": 1745224245084 } } [/Code] ## Supprimer un message Supprimez le message spécifié. ### Requête [Code (bash)] DELETE /api/emails/{emailId}/{messageId} [/Code] ### Paramètres de requête Paramètre | Type | Requis | Description ----------- | ------ | -------- | ------------- emailId | string | Oui | ID de l'email (paramètre de chemin) messageId | string | Oui | ID du message (paramètre de chemin) ### Exemple de requête [Code (bash)] curl -X DELETE "https://chat-tempmail.com/api/emails/76d91ae5-822a-4fdd-8701-9de038ec86d7/20e77445-b0c3-4e8b-aa29-762ea423ac15" \ -H "X-API-Key: VOTRE_CLE_API" [/Code] ### Paramètres de réponse Paramètre | Type | Description ----------- | ------ | ------------- success | boolean | Si la suppression a réussi ### Exemple de réponse [Code (json)] { "success": true } [/Code] --- ## Push Webhook Configurer le webhook pour recevoir les notifications push de messages ## Obtenir la configuration du webhook Obtenez les informations de configuration actuelle du webhook. ### Requête [Code (bash)] GET /api/webhook [/Code] ### Exemple de requête [Code (bash)] curl https://chat-tempmail.com/api/webhook \ -H "X-API-Key: VOTRE_CLE_API" [/Code] ### Paramètres de réponse Paramètre | Type | Description ----------- | ------ | ------------- url | string | Adresse URL du webhook (peut être une chaîne vide) enabled | boolean | Si le webhook est activé ### Exemple de réponse [Code (json)] { "url": "https://votre-serveur.com/webhook", "enabled": true } [/Code] ## Configurer le webhook Définir ou mettre à jour la configuration du webhook. ### Requête [Code (bash)] POST /api/webhook [/Code] ### Paramètres de requête Paramètre | Type | Requis | Description ----------- | ------ | -------- | ------------- url | string | Oui | Adresse URL du webhook (doit être une URL HTTP/HTTPS valide) enabled | boolean | Oui | S'il faut activer le webhook ### Exemple de requête [Code (bash)] curl -X POST https://chat-tempmail.com/api/webhook \ -H "X-API-Key: VOTRE_CLE_API" \ -H "Content-Type: application/json" \ -d '{ "url": "https://votre-serveur.com/webhook", "enabled": true }' [/Code] ### Paramètres de réponse Paramètre | Type | Description ----------- | ------ | ------------- success | boolean | Si la configuration a réussi ### Exemple de réponse [Code (json)] { "success": true } [/Code] ## Événements webhook Lorsqu'un nouveau message arrive, le système enverra une requête POST à votre URL configurée. ### Format des données reçues En-têtes de requête : - Content-Type: application/json - X-Webhook-Event: new_message ### Données push du webhook Paramètre | Type | Description ----------- | ------ | ------------- emailId | string | ID de l'email qui a reçu le message (format UUID) messageId | string | ID du nouveau message (format UUID) fromAddress | string | Adresse de l'expéditeur subject | string | Objet du message content | string | Contenu texte brut du message html | string | Contenu HTML du message (peut être vide) receivedAt | string | Heure de réception du message (format ISO 8601) toAddress | string | Adresse email qui a reçu le message ### Exemple de données push [Code (json)] { "emailId": "c2c4f894-c672-4d5b-a918-abca95aff1f7", "messageId": "fd13a8df-1465-4fbc-a612-ca7311c31ff2", "fromAddress": "sender@example.com", "subject": "Message de test", "content": "Contenu texte brut du message", "html": "
Contenu HTML du message
", "receivedAt": "2025-01-21T08:30:45.084Z", "toAddress": "test@chat-tempmail.com" } [/Code] ### Exigences de réponse Votre serveur doit retourner un code de statut 2xx pour indiquer une réception réussie. Si un code de statut non-2xx est retourné, le système peut réessayer d'envoyer. Réponse recommandée : [Code (json)] HTTP/1.1 200 OK Content-Type: application/json { "received": true } [/Code] ### Notes importantes - Assurez-vous que votre URL de webhook est accessible - Il est recommandé de vérifier l'intégrité des données push côté serveur - Le système enverra les push webhook immédiatement lorsque les messages arrivent - Si les push échouent, le système peut réessayer, assurez-vous donc que votre interface est idempotente ---