Ferndesk

Webhooks

Obtenir un endpoint webhook

Renvoie un endpoint unique ainsi que ses 20 livraisons les plus récentes. Nécessite la portée webhooks:manage.

Portée requise : webhooks:manage

GET /webhooks/{id}

Obtenir un endpoint webhook

curl --request GET \
  --url 'https://api.ferndesk.com/v1/webhooks/{ID}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "id": "<string>",
  "url": "<string>",
  "events": [
    "<string>"
  ],
  "enabled": true,
  "description": "<string>",
  "failureCount": 1,
  "lastSuccessAt": "<string>",
  "lastFailureAt": "<string>",
  "disabledAt": "<string>",
  "createdAt": "<string>",
  "updatedAt": "<string>",
  "deliveries": [
    {
      "id": "<string>",
      "eventType": "<string>",
      "status": "pending",
      "responseStatus": 1,
      "attempts": 1,
      "error": "<string>",
      "createdAt": "<string>",
      "deliveredAt": "<string>",
      "nextRetryAt": "<string>"
    }
  ]
}

Endpoint avec les livraisons récentes

Authorizations

  • Authorization string requis header

    Toutes les requêtes nécessitent un token Bearer dans l’en-tête Authorization. Les clés API sont préfixées par fdsk_ et doivent rester secrètes. Vous pouvez générer et gérer les clés depuis la page paramètres développeur.

    Les clés peuvent être limitées à n’importe quel sous-ensemble de ces portées (chaque endpoint indique la portée requise via x-required-scopes) :

    • content:read : Lire et rechercher les articles, collections, sections et traductions du centre d’aide
    • content:write : Créer et modifier les brouillons d’articles, les utilisateurs et les tâches ; déplacer les articles et les collections
    • content:publish : Publier, dépublier, restaurer et mettre à la corbeille du contenu (rendre les modifications visibles)
    • analytics:read : Lire les rapports, analyses et retours sur les articles du centre d’aide
    • conversations:read : Lire les conversations et transcriptions de l’assistant IA
    • webhooks:manage : Créer et gérer les abonnements aux webhooks sortants

    L’attribution de content:write ou content:publish implique content:read. Les clés créées avant la mise en place des portées ont des portées nulles = accès complet (mode hérité).

Path Parameters

  • id string requis

    ID de l’endpoint webhook (whep_...). Exemple: whep_01JXY9AZK4KV

Response

application/json
  • id string

    ID de l’endpoint webhook (whep_...).

  • url string

    URL HTTPS qui reçoit les payloads webhook envoyés via POST.

  • events[] string array

    Types d’événements abonnés (ou *).

  • enabled boolean

    Indique si l’endpoint reçoit actuellement des livraisons. Les endpoints sont automatiquement désactivés après des échecs persistants.

  • description string | null

    Libellé lisible facultatif.

  • failureCount integer

    Nombre d’échecs consécutifs de livraison. Réinitialisé à 0 en cas de succès ou de réactivation.

  • lastSuccessAt string | null
  • lastFailureAt string | null
  • disabledAt string | null

    Moment où l’endpoint a été automatiquement désactivé, le cas échéant.

  • createdAt string

    Horodatage ISO 8601 en UTC.

  • updatedAt string

    Horodatage ISO 8601 en UTC.

  • deliveries[] object array

    Jusqu’aux 20 livraisons les plus récentes de cet endpoint, de la plus récente à la plus ancienne. Enregistrement d’une tentative de livraison webhook.

    + Show Child Attributes
    • id string

      ID de livraison (whdl_...).

    • eventType string

      Type d’événement livré.

    • status string enum enum

      Statut du cycle de vie de la livraison. Allowed values: pending, success, failed.

    • responseStatus integer | null

      Statut HTTP renvoyé par l’endpoint, ou null avant la première tentative / en cas d’erreur réseau.

    • attempts integer

      Nombre de tentatives de livraison effectuées jusqu’à présent.

    • error string | null

      Dernier message d’erreur, si la tentative la plus récente a échoué.

    • createdAt string

      Horodatage ISO 8601 en UTC.

    • deliveredAt string | null

      Moment où la livraison a réussi pour la première fois, si c’est le cas.

    • nextRetryAt string | null

      Moment où la prochaine nouvelle tentative est planifiée, pour les livraisons échouées en attente.