En esta página

Referencia de API: Webhooks

Los Webhooks salientes notifican a sus propios sistemas cuando ocurren eventos dentro de ProcessMind. Cada entrega es una solicitud JSON POST firmada con el secreto de su Webhook: el encabezado X-ProcessMind-Signature contiene sha256=<hex>, un HMAC-SHA256 del cuerpo sin procesar de la solicitud. Verifique la firma con los bytes exactos que recibió, antes de analizar el JSON, y rechace las entregas cuya firma no coincida. Cada cuerpo también incluye un deliveryId que puede utilizar para deduplicar las entregas realizadas al menos una vez.

Enumerar Webhooks salientes

Endpoint: GET /v1/tenant/{tenantId}/webhooks

Autenticación: Clave de API con alcance de inquilino · read alcance

Parámetros:

Nombre Tipo Ubicación Obligatorio Descripción
tenantId string ruta Formato: uuid
limit integer consulta No Número máximo de elementos que se devolverán
offset integer consulta No Número de elementos que se omitirán

Respuesta (200):

Lista de Webhooks

[
	{
		"id": "00000000-0000-0000-0000-000000000000",
		"url": "string",
		"events": [
			"process.created"
		],
		"description": "string",
		"isActive": true,
		"createdAt": "2024-03-15T16:30:00Z"
	}
]

Errores:

  • 401 Falta la clave de API, no es válida, está deshabilitada o ha caducado

Crear un Webhook saliente (devuelve el secreto de firma una sola vez)

Endpoint: POST /v1/tenant/{tenantId}/webhooks

Autenticación: Clave de API con alcance de inquilino · write alcance

Parámetros:

Nombre Tipo Ubicación Obligatorio Descripción
tenantId string ruta Formato: uuid

Cuerpo de la solicitud:

{
	"url": "string",
	"events": [
		"process.created"
	],
	"description": "string"
}
Campo Tipo Obligatorio Descripción
url string Endpoint público https que recibe entregas POST firmadas, sin direcciones privadas ni de loopback
events process.created | process.updated | process.deleted | mapping.created | data.ready | simulation.completed | webhook.test[] Eventos que activan una entrega a este Webhook
description string No Descripción opcional
Longitud máxima: 500

Respuesta (201):

Webhook creado (incluye el secreto de firma)

{
	"id": "00000000-0000-0000-0000-000000000000",
	"url": "string",
	"events": [
		"process.created"
	],
	"description": "string",
	"isActive": true,
	"createdAt": "2024-03-15T16:30:00Z",
	"secret": "string"
}
Campo Tipo Obligatorio Descripción
id string Formato: uuid
url string Formato: uri
events process.created | process.updated | process.deleted | mapping.created | data.ready | simulation.completed | webhook.test[]
description string Longitud máxima: 500
isActive boolean Predeterminado: true
createdAt string Formato: date-time
secret string Secreto de firma; solo se devuelve aquí, durante la creación

Errores:

  • 400 Solicitud incorrecta: por ejemplo, una expresión de filtro no válida, un proceso sin modelo, un tipo de carga no compatible o la falta de un campo obligatorio
  • 401 Falta la clave de API, no es válida, está deshabilitada o ha caducado

Obtener un Webhook saliente específico

Endpoint: GET /v1/tenant/{tenantId}/webhooks/{webhookId}

Autenticación: Clave de API con alcance de inquilino · read alcance

Parámetros:

Nombre Tipo Ubicación Obligatorio Descripción
tenantId string ruta Formato: uuid
webhookId string ruta Formato: uuid

Respuesta (200):

Webhook

{
	"id": "00000000-0000-0000-0000-000000000000",
	"url": "string",
	"events": [
		"process.created"
	],
	"description": "string",
	"isActive": true,
	"createdAt": "2024-03-15T16:30:00Z"
}
Campo Tipo Obligatorio Descripción
id string Formato: uuid
url string Formato: uri
events process.created | process.updated | process.deleted | mapping.created | data.ready | simulation.completed | webhook.test[]
description string Longitud máxima: 500
isActive boolean Predeterminado: true
createdAt string Formato: date-time

Errores:

  • 401 Falta la clave de API, no es válida, está deshabilitada o ha caducado
  • 404 Recurso no encontrado

Actualizar un Webhook saliente

Endpoint: PUT /v1/tenant/{tenantId}/webhooks/{webhookId}

Autenticación: Clave de API con alcance de inquilino · write alcance

Parámetros:

Nombre Tipo Ubicación Obligatorio Descripción
tenantId string ruta Formato: uuid
webhookId string ruta Formato: uuid

Cuerpo de la solicitud:

{
	"url": "string",
	"events": [
		"process.created"
	],
	"description": "string",
	"isActive": true
}
Campo Tipo Obligatorio Descripción
url string No Endpoint público https que recibe entregas POST firmadas
events process.created | process.updated | process.deleted | mapping.created | data.ready | simulation.completed | webhook.test[] No Eventos que activan una entrega a este webhook
description string No Descripción opcional
Longitud máxima: 500
isActive boolean No Indica si el webhook está habilitado

Respuesta (200):

Webhook actualizado

{
	"id": "00000000-0000-0000-0000-000000000000",
	"url": "string",
	"events": [
		"process.created"
	],
	"description": "string",
	"isActive": true,
	"createdAt": "2024-03-15T16:30:00Z"
}
Campo Tipo Obligatorio Descripción
id string Formato: uuid
url string Formato: uri
events process.created | process.updated | process.deleted | mapping.created | data.ready | simulation.completed | webhook.test[]
description string Longitud máxima: 500
isActive boolean Valor predeterminado: true
createdAt string Formato: date-time

Errores:

  • 401 Falta la clave de API, es no válida, está deshabilitada o ha caducado
  • 404 Recurso no encontrado

Eliminar un webhook saliente

Endpoint: DELETE /v1/tenant/{tenantId}/webhooks/{webhookId}

Autenticación: Clave de API con alcance de inquilino · write alcance

Parámetros:

Nombre Tipo Ubicación Obligatorio Descripción
tenantId string ruta Formato: uuid
webhookId string ruta Formato: uuid

Respuesta (200):

Webhook eliminado

{
	"deleted": true
}
Campo Tipo Obligatorio Descripción
deleted boolean

Errores:

  • 401 Falta la clave de API, es no válida, está deshabilitada o ha caducado
  • 404 Recurso no encontrado

Activar una entrega de prueba al webhook

Endpoint: POST /v1/tenant/{tenantId}/webhooks/{webhookId}/test

Autenticación: Clave de API con alcance de inquilino · write alcance

Parámetros:

Nombre Tipo Ubicación Obligatorio Descripción
tenantId string ruta Formato: uuid
webhookId string ruta Formato: uuid

Respuesta (200):

Entrega de prueba activada

{
	"message": "string"
}
Campo Tipo Obligatorio Descripción
message string

Errores:

  • 401 Falta la clave de API, es no válida, está deshabilitada o ha caducado
  • 404 Recurso no encontrado