Configurar rutas
Establezca la configuración enplugins.entries.webhooks.config:
secret acepta una cadena de texto sin formato o una SecretRef: { source: "env" | "file" | "exec", provider: "default", id: "..." }.
Las SecretRefs se resuelven en la instantánea de configuración de inicio del Gateway. Cuando
el secreto de una ruta no se puede resolver, el Gateway continúa ejecutándose y esa ruta
específica permanece registrada pero inactiva: las solicitudes reciben un error genérico
de autenticación (401). Las demás rutas permanecen disponibles. Corrija el
origen de la SecretRef y, después, recargue o reinicie el Gateway para activar la nueva
instantánea. Los valores de SecretRef nunca se resuelven en la ruta pública de solicitudes.
Modelo de seguridad
Cada ruta actúa con la autoridad de TaskFlow de susessionKey configurada: puede
inspeccionar y modificar cualquier TaskFlow que pertenezca a esa sesión. El acceso a TaskFlow
siempre pasa por api.runtime.tasks.managedFlows.bindSession(...), por lo que una
ruta nunca puede actuar fuera de su sesión vinculada. Para limitar el alcance de los daños:
- Utilice un secreto seguro y único para cada ruta.
- Prefiera una SecretRef a un secreto de texto sin formato insertado directamente.
- Vincule las rutas a la sesión más restringida que sea adecuada para el flujo de trabajo.
- Exponga únicamente la ruta de Webhook específica que necesite.
POST) y de Content-Type: application/json; después, limitación de frecuencia con ventana
fija (120 solicitudes por cada ventana de 60 segundos por clave de ruta+IP del cliente, con
hasta 4,096 claves registradas); después, limitación de solicitudes en curso (8 solicitudes
simultáneas por clave, con hasta 4,096 claves registradas); después, autenticación mediante
secreto compartido; y, por último, lectura de un cuerpo JSON de 256 KB / 15 segundos. Las
solicitudes que no superan una comprobación anterior nunca llegan a las posteriores.
Formato de solicitud
Envíe solicitudesPOST con Content-Type: application/json y
Authorization: Bearer <secret> o x-openclaw-webhook-secret: <secret>:
Acciones compatibles
Las acciones de modificación (
set_waiting, resume_flow, finish_flow, fail_flow,
request_cancel) requieren flowId y expectedRevision para la concurrencia
optimista; una revisión obsoleta devuelve 409 revision_conflict.
create_flow
run_task
Valores permitidos de runtime: subagent, acp. startedAt, lastEventAt y
progressSummary solo son válidos cuando status es "running"; enviarlos
con cualquier otro estado devuelve 400 invalid_request.
Estructura de la respuesta
sessionKey vinculada a la ruta. Los valores
de code incluyen not_found, not_managed, revision_conflict,
persist_failed, cancel_requested, cancel_pending, terminal,
invalid_request, request_rejected y códigos de reserva específicos de cada acción
(mutation_rejected, create_rejected, task_not_created, cancel_rejected) cuando
una modificación se rechaza por un motivo que no cubren los códigos con nombre anteriores.
Contenido relacionado
- Hooks: hooks internos basados en eventos frente a este puente de TaskFlow basado en HTTP
- Webhooks del Gateway (configuración de
hooks.*): funcionalidad independiente de puntos de conexión HTTP genéricos del Gateway; no es lo mismo que las rutas de este plugin - SDK de tiempo de ejecución de plugins
- Webhooks de la CLI