Référence APITester un webhook Microsoft Teams
POST/v1/notifications/test/teams

Tester un webhook Microsoft Teams

Envoie une carte de test (MessageCard) vers une URL de webhook entrant Microsoft Teams pour valider la configuration de notification.

2 min de lectureTélécharger en PDF

Requête exemple

{
"url": "https://evorax.webhook.office.com/webhookb2/abc123-def4-5678-90ab-cdef12345678@tenant-id/IncomingWebhook/aaaa1111bbbb2222cccc3333dddd4444/eeee5555-ffff-6666-7777-888899990000",
"message": "Test depuis l'espace de travail Coffrify"
}

Réponse exemple

{
"ok": true,
"error": null,
"status": 200,
"channel": "teams",
"duration_ms": 342,
"body_preview": "1"
}

Cette route envoie un message de test vers une URL de webhook entrant Microsoft Teams afin de vérifier qu'une intégration de notification est correctement configurée avant de l'utiliser en production. Le message est formaté en MessageCard (format historique des connecteurs Office 365), ce qui le rend compatible à la fois avec les webhooks Office 365 classiques et avec les workflows Power Automate. La requête côté Teams est bornée par un délai d'expiration de 10 secondes : la route capture le statut HTTP, la durée et un extrait de la réponse, et ne lève jamais d'erreur si l'envoi vers Teams échoue (le résultat est simplement reflété dans le corps de réponse).

Authentification

Requiert une clé API valide portant le scope notifications:manage. Présentez-la via l'en-tête Authorization: Bearer cof_live_... (ou cof_test_...). Le scope coarse workspace:manage (god-mode de l'espace de travail) ou un scope notifications:* satisfont également cette exigence grâce à la résolution d'alias. Une clé sans ce scope reçoit une erreur scope_missing.

Corps de la requête

ChampTypeRequisDescription
urlstringOuiURL du webhook entrant Teams. Doit correspondre à https://*.webhook.office.com/... ou https://*.logic.azure.com/.... La chaîne est trimée puis validée par une expression régulière de domaine.
messagestringNonTexte affiché comme titre de la carte. Si absent ou vide, la valeur par défaut Test from Coffrify est utilisée.

La carte envoyée à Teams contient un themeColor violet (7c3aed), un summary (Coffrify webhook test), le title issu de message, et un texte fixe This is a test message from your Coffrify workspace.

Réponse

Retourne un objet JSON décrivant le résultat de l'appel sortant vers Teams. Le champ channel vaut toujours teams. status est le code HTTP renvoyé par Teams (ou 0 si l'appel a échoué avant de recevoir une réponse). ok est true uniquement si status est compris entre 200 et 299. duration_ms mesure le temps total de l'appel sortant. body_preview contient les 500 premiers caractères de la réponse de Teams. error contient le message d'exception si la requête sortante a échoué (timeout, DNS, etc.), sinon null.

ChampTypeDescription
channelstringToujours teams.
statusnumberCode HTTP renvoyé par Teams, ou 0 si l'appel a échoué.
okbooleantrue si status est dans la plage 200-299.
duration_msnumberDurée de l'appel sortant vers Teams en millisecondes.
body_previewstring500 premiers caractères de la réponse de Teams (souvent 1 en cas de succès).
errorstring | nullMessage d'erreur de l'appel sortant, ou null.

Erreurs

CodeQuandRésolution
400 validation_errorLe champ url est absent, vide, ou ne correspond pas à un domaine de webhook Teams (*.webhook.office.com ou *.logic.azure.com).Copiez l'URL exacte du webhook entrant depuis le connecteur Teams ou le workflow Power Automate.
401 missing_api_keyAucun en-tête Authorization fourni et aucune session valide.Ajoutez l'en-tête Authorization: Bearer cof_live_....
401 invalid_api_keyClé API au préfixe invalide, introuvable ou inactive.Vérifiez la clé ou régénérez-en une sur app.coffrify.com/developer.
403 scope_missingLa clé est valide mais ne porte pas le scope notifications:manage.Régénérez une clé incluant notifications:manage (ou workspace:manage).
429 rate_limitedQuota de requêtes par minute de l'espace de travail dépassé (endpoint de classe write).Respectez l'en-tête Retry-After puis réessayez.
500 internal_errorErreur serveur inattendue (par ex. RPC de validation indisponible).Réessayez ; si le problème persiste, contactez le support avec le request_id.

Voir aussi