Ferndesk

Webhooks

Obtener un endpoint de webhook

Devuelve un único endpoint junto con sus 20 entregas más recientes. Requiere el scope webhooks:manage.

Scope requerido: webhooks:manage

GET /webhooks/{id}

Obtener un endpoint de 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 con entregas recientes

Authorizations

  • Authorization string obligatorio header

    Todas las solicitudes requieren un token Bearer en el encabezado Authorization. Las claves de API tienen el prefijo fdsk_ y deben mantenerse secretas. Puedes generar y administrar claves desde la página de configuración de desarrolladores.

    Las claves pueden restringirse a cualquier subconjunto de estos scopes (cada endpoint indica el scope que requiere mediante x-required-scopes):

    • content:read: Leer y buscar artículos, colecciones, secciones y traducciones del centro de ayuda
    • content:write: Crear y editar borradores de artículos, usuarios y tareas; mover artículos y colecciones
    • content:publish: Publicar, despublicar, restaurar y enviar contenido a la papelera (hacer efectivos los cambios)
    • analytics:read: Leer informes, análisis y comentarios sobre artículos del centro de ayuda
    • conversations:read: Leer conversaciones y transcripciones del asistente de IA
    • webhooks:manage: Crear y administrar suscripciones a webhooks salientes

    Conceder content:write o content:publish implica content:read. Las claves creadas antes de la asignación de scopes tienen scopes nulos = acceso total (modo heredado).

Path Parameters

  • id string obligatorio

    ID del endpoint de webhook (whep_...). Ejemplo: whep_01JXY9AZK4KV

Response

application/json
  • id string

    ID del endpoint de webhook (whep_...).

  • url string

    URL HTTPS que recibe cargas útiles de webhook mediante POST.

  • events[] string array

    Tipos de eventos suscritos (o *).

  • enabled boolean

    Indica si el endpoint recibe entregas actualmente. Los endpoints se desactivan automáticamente después de fallos continuos.

  • description string | null

    Etiqueta opcional legible para humanos.

  • failureCount integer

    Fallos consecutivos de entrega. Se restablece a 0 tras cualquier éxito o al volver a habilitarse.

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

    Cuándo se deshabilitó automáticamente el endpoint, si corresponde.

  • createdAt string

    Marca de tiempo ISO 8601 en UTC.

  • updatedAt string

    Marca de tiempo ISO 8601 en UTC.

  • deliveries[] object array

    Hasta las 20 entregas más recientes de este endpoint, comenzando por la más nueva. Registro de un único intento de entrega de webhook.

    + Show Child Attributes
    • id string

      ID de entrega (whdl_...).

    • eventType string

      Tipo de evento entregado.

    • status string enum enum

      Estado del ciclo de vida de la entrega. Allowed values: pending, success, failed.

    • responseStatus integer | null

      Estado HTTP devuelto por el endpoint, o null antes del primer intento o en caso de error de red.

    • attempts integer

      Intentos de entrega realizados hasta el momento.

    • error string | null

      Último mensaje de error, si el intento más reciente falló.

    • createdAt string

      Marca de tiempo ISO 8601 en UTC.

    • deliveredAt string | null

      Cuándo la entrega tuvo éxito por primera vez, si lo ha tenido.

    • nextRetryAt string | null

      Cuándo está programado el siguiente reintento, para entregas fallidas pendientes.