1000 FAQ, 500 tutoriales y vídeos explicativos. ¡Aquí sólo hay soluciones!
Conectar aplicaciones externas a kChat
Esta guía le permite acceder a la gestión de aplicaciones externas a kChat.
Requisitos previos
- no ser un usuario externo (no verá el menú Integraciones)
Acceder a la interfaz
Para configurar un webhook, encontrar aplicaciones e integraciones autohospedadas o de terceros:
- abrir la app kChat (en su dispositivo o desde un navegador en la URL kchat.infomaniak.com)
- hacer clic en la flecha a la derecha del nombre de su organización kChat
- hacer clic en Integraciones
- acceder a las categorías:
Ejemplo de integración
Crear un Webhook entrante simple
Para ello:
- hacer clic en la categoría Webhooks entrantess
- hacer clic en el botón azul Agregar webhooks entrantes
- agregar un nombre y una descripción (máx. 500 caracteres) para el webhook
- seleccionar el canal que recibirá los mensajes
- guardar para obtener la URL (no revelar públicamente) del tipo:
https://your-kchat-server.xyz/hooks/xxx-generatedkey-xxx
Usar el Webhook
En la aplicación que debe publicar en kChat:
- adaptar el siguiente código según la URL obtenida:
POST /hooks/xxx-generatedkey-xxx HTTP/1.1
Host: your-kchat-server.xyz
Content-Type: application/json
Content-Length: 63
{
"text": "Hola, este es un texto\nEste es otro texto."
} - usar opcionalmente la misma solicitud pero en curl (para probar desde una Terminal en macOS, por ejemplo):
curl -i -X POST -H 'Content-Type: application/json' -d '{"text": "Hola, este es un texto\nEste es otro texto."}' https://your-kchat-server.xyz/hooks/xxx-generatedkey-xxx
Si no se establece ninguna cabecera Content-Type, el cuerpo de la solicitud debe estar precedido por payload= de la siguiente manera:
payload={"text": "Hola, este es un texto\nEste es otro texto."}
Una solicitud exitosa recibirá la siguiente respuesta:
HTTP/1.1 200 OK
Content-Type: text/plain
X-Request-Id: hoan69ws7rp5xj7wu9rmystry
X-Version-Id: 4.7.1.dev.12799dvd77e172e8a2eba0f4041ec1471.false
Date: Sun, 01 Jun 2023 17:00:00 GMT
Content-Length: 2
ok
Parámetros
Además del campo text
, aquí está la lista completa de parámetros admitidos:
Parámetro | Descripción | Requerido |
---|---|---|
text | Mensaje en formato Markdown que se mostrará en la publicación. Para activar notificaciones, utilice @<nombredeusuario> , @channel y @here como lo haría en otros mensajes de kChat. | Sí, si attachments no está definido |
channel | Reemplaza el canal en el que se publica el mensaje. Utilice el nombre del canal, no el nombre de visualización, por ejemplo, use town-square , no Town Square .Utilice "@" seguido de un nombre de usuario para enviar un mensaje directo. Por defecto, utiliza el canal establecido durante la creación del webhook. El webhook puede publicar en cualquier canal público y privado en el que el creador del webhook esté presente. Las publicaciones en mensajes directos aparecerán en el mensaje directo entre el usuario objetivo y el creador del webhook. | No |
username | Reemplaza el nombre de usuario bajo el cual se publica el mensaje. Por defecto, utiliza el nombre de usuario establecido durante la creación del webhook; si no se estableció ningún nombre de usuario durante la creación, utiliza webhook .La configuración Permitir integraciones para reemplazar nombres de usuario debe estar activada para que el reemplazo de nombre de usuario tenga efecto. | No |
icon_url | Reemplaza la imagen de perfil con la que se publica el mensaje. Por defecto, utiliza la URL establecida durante la creación del webhook; si no se definió ningún icono durante la creación, se muestra el icono estándar del webhook (). La configuración Permitir integraciones para reemplazar iconos de fotos de perfil debe estar activada para que el reemplazo de icono tenga efecto. | No |
icon_emoji | Reemplaza la imagen de perfil y el parámetro icon_url .Por defecto, ninguno está definido durante la creación del webhook. El valor esperado es el nombre de un emoji tal como se escribe en un mensaje, con o sin dos puntos ( : ).La configuración Permitir integraciones para reemplazar iconos de fotos de perfil debe estar activada para que el reemplazo tenga efecto. | No |
attachments | Adjuntos del mensaje utilizados para opciones de formato más rico. | Sí, si text no está definido |
type | Define el type de la publicación, principalmente para uso por complementos.Si no está vacío, debe comenzar con " custom_ ". | No |
Ejemplo de código con parámetros
Así es como generar un mensaje más completo con parámetros, algunos de los cuales pueden sobrescribir cualquier parámetro ya establecido durante la creación del webhook (nombre de usuario, canal preferido, avatar...) como se indica en la tabla anterior:
POST /hooks/xxx-generatedkey-xxx HTTP/1.1
Host: your-kchat-server.xyz
Content-Type: application/json
Content-Length: 630
{
"channel": "kchatemp",
"username": "test-automation",
"icon_url": "https://domain.xyz/wp-content/uploads/2023/06/icon.png",
"text": "#### Resultados de prueba para el 27 de julio de 2023\n@channel por favor revisar pruebas fallidas.\n\n| Componente | Pruebas Realizadas | Pruebas Fallidas |\n|:-----------|:-----------:|:-----------------------------------------------|\n| Servidor | 948 | 0 |\n| Cliente Web | 123 | 2 [(ver detalles)](https://linktologs) |\n| Cliente iOS | 78 | 3 [(ver detalles)](https://linktologs) |"
}
Esto resultará en mostrar este mensaje en el canal kchatemp de la organización: