Primeros pasos
En Auco, para darte control total de la integración con cada uno de los procesos creados, contamos con un sistema webhook en el que podrás recibir notificaciones en cada etapa de cada uno de los flujos creados, de inicio a fin.
Para configurar el webhook existen dos caminos, desde el API y la plataforma web:
Creación desde app.auco.ai:
Es importante que para realizar esta configuración seas admin o tengas permisos admin, desde la plataforma solo podrás crear un webhook, que será el webhook 'default'.
- Ingresa con tu correo y contraseña.
- Dirígete al perfil www.auco.ai/profile
- ingresa a opciones de desarrollo
- En la parte inferior encontrarás las opciones para modificar tu webhook y headers de autenticación si requieres.
Creación desde Auco API
🆕 Si! Desde el API es posible crear diferentes webhook, cada webhook debe tener un id, tu primer webhook debe tener el id 'default', que es donde por defecto se van a enviar todas las notificaciones; los siguientes webhooks pueden tener el id que prefieras.
Para definir a qué webhooks se notificarán los estados del proceso, en la creación del documento, debes guardar la lista de ids de los webhooks a los que se debe notificar.
Autenticación
Incluye tu llave privada en el encabezado Authorization.
Authorization: prk_xxx...
Parámetros de creación de webhooks
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
id | String | Requerido | Nombre identificador del webhook, el primer webhook debe ser default. |
description | String | Opcional | Descripción del propósito del webhook. |
url | String | Requerido | URL (URI válida) a la que se enviarán las notificaciones del webhook. |
header | Object | Opcional | Objeto { key, value } con el header de autenticación a enviar. |
header.key | String | Condicional | Subcampo de header. Requerido si se envía header: clave del header. |
header.value | String | Condicional | Subcampo de header. Requerido si se envía header: valor del header. |
Ejemplo de uso:
Creación de multiples webhooks
- Curl
- Python
- NodeJs
curl --location --request PUT 'https://dev.auco.ai/v1.5/ext/company' \
--header 'Authorization: prk_private_key_company' \
--header 'Content-Type: application/json' \
--data '{"webhooks":[
{
"id": "default",
"description": "It'\''s my first webhook",
"url": "https://...",
"header": {
"key": "Authorization",
"value": "{Bearer ...}"
}
},
{
"id": "Billing",
"description": "It'\''s billing webhook",
"url": "https://...",
"header": {
"key": "Authorization",
"value": "Bearer ..."
}
}
]}'
import requests
import json
url = "https://dev.auco.ai/v1.5/ext/company"
payload = json.dumps({
"webhooks": [
{
"id": "default",
"description": "It's my first webhook",
"url": "https://...",
"header": {
"key": "Authorization",
"value": "{Bearer ...}"
}
},
{
"id": "Billing",
"description": "It's billing webhook",
"url": "https://...",
"header": {
"key": "Authorization",
"value": "Bearer ..."
}
}
]
})
headers = {
'Authorization': 'prk_private_key_company',
'Content-Type': 'application/json'
}
response = requests.request("PUT", url, headers=headers, data=payload)
print(response.text)
const axios = require('axios');
let data = JSON.stringify({
webhooks: [
{
id: 'default',
description: "It's my first webhook",
url: 'https://...',
header: {
key: 'Authorization',
value: '{Bearer ...}',
},
},
{
id: 'Billing',
description: "It's billing webhook",
url: 'https://...',
header: {
key: 'Authorization',
value: 'Bearer ...',
},
},
],
});
let config = {
method: 'put',
maxBodyLength: Infinity,
url: 'https://dev.auco.ai/v1.5/ext/company',
headers: {
Authorization: 'prk_private_key_company',
'Content-Type': 'application/json',
},
data: data,
};
axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
⚠️ Respuestas de error
| Código | Descripción |
|---|---|
| 400 | Faltan el webhook default |
| 401 | Autenticación inválida o ausente |