Requête exemple
Réponse exemple
Cet endpoint déclenche l'envoi d'un message de test vers une URL de webhook entrant Slack (incoming webhook). Il sert à vérifier qu'une intégration Slack est correctement configurée avant de l'utiliser pour des notifications réelles. Le message est posté sous le nom d'utilisateur Coffrify avec l'emoji :locked: et une pièce jointe colorée portant le pied de page Coffrify webhook test. Comportement notable : l'appel vers Slack est protégé par un délai d'expiration de 10 secondes et l'endpoint ne renvoie jamais une erreur si Slack répond mal. À la place, il retourne toujours 200 avec le détail de la tentative (statut HTTP de Slack, durée, aperçu du corps, message d'erreur éventuel).
Authentification
Requiert une clé API valide avec le scope notifications:manage. La clé se transmet via l'en-tête Authorization: Bearer cof_live_.... Une clé absente renvoie missing_api_key (401), une clé invalide invalid_api_key (401) et une clé sans le scope requis scope_missing (403).
Corps de la requête
| Champ | Type | Requis | Description |
|---|---|---|---|
| url | string | Oui | URL du webhook entrant Slack. Doit commencer par https://hooks.slack.com/. La valeur est nettoyée des espaces de début et de fin avant validation. |
| message | string | Non | Texte du message à publier. Si absent ou vide, la valeur par défaut ✅ Test from Coffrify est utilisée. |
Réponse
La réponse est un objet décrivant la tentative d'envoi. Le champ channel vaut toujours slack. Le champ status contient le code HTTP renvoyé par Slack (0 si la requête a échoué avant d'obtenir une réponse, par exemple en cas de délai d'expiration). Le booléen ok est true uniquement si status est compris entre 200 et 299. duration_ms mesure la durée totale de l'appel réseau en millisecondes. body_preview contient les 500 premiers caractères du corps renvoyé par Slack (typiquement ok en cas de succès). error contient le message d'erreur réseau si l'appel a échoué, sinon null.
Erreurs
| Code | Quand | Résolution |
|---|---|---|
| validation_error (400) | L'URL est absente, vide ou ne commence pas par https://hooks.slack.com/. | Fournissez une URL de webhook entrant Slack valide commençant par https://hooks.slack.com/. |
| missing_api_key (401) | En-tête Authorization absent. | Ajoutez l'en-tête Authorization: Bearer cof_live_.... |
| invalid_api_key (401) | Clé API malformée, inconnue, révoquée ou expirée. | Vérifiez la clé ou générez-en une nouvelle dans la console. |
| scope_missing (403) | La clé ne possède pas le scope notifications:manage. | Utilisez une clé disposant du scope notifications:manage. |
| rate_limited (429) | Quota de requêtes du workspace dépassé sur les endpoints d'écriture. | Patientez selon l'en-tête Retry-After puis réessayez. |
| internal_error (500) | Erreur interne inattendue côté Coffrify. | Réessayez plus tard ; communiquez le request_id au support si le problème persiste. |
Voir aussi
POST/v1/notifications/test/slackTester l'envoi vers un webhook entrant Slack (cet endpoint).- POST /v1/notifications — déclencher l'envoi d'une notification réelle.
- GET /v1/notifications — lister les notifications configurées du workspace.