Base de conhecimento
1000 perguntas frequentes, 500 tutoriais e vídeos explicativos. Aqui, você encontra apenas soluções!
Conectar aplicações externas ao kChat
Este guia permite gerenciar aplicativos externos com o kChat usando webhooks.
Introdução
- Um webhook é um método que permite a uma aplicação ser notificada imediatamente quando um evento específico ocorre em outra aplicação, em vez de perguntar constantemente a essa aplicação se algo novo aconteceu ("polling").
- Webhook de saída: o kChat comunica informações a outras aplicações quando um evento ocorre no kChat.
- Webhook de entrada: o kChat recebe informações de outras aplicações para acionar ações no kChat.
- Não é possível importar o histórico das conversas de outra aplicação (Slack, Teams, Jabber, etc.) ou de outra Organização.
- Número máximo de Webhooks de entrada/saída:
- kSuite Free = 1 / 1
- kSuite Standard = 20 / 20
- kSuite Business = ilimitado
- kSuite Enterprise = ilimitado
Aceder à interface web do kChat
Pré-requisitos
- Não ser um utilizador externo (este não verá o menu Integrações).
Para configurar um webhook, encontre aplicações e integrações auto-hospedadas ou de terceiros:
- Clique aqui para aceder à aplicação web kChat (serviço online ksuite.infomaniak.com/kchat) ou abra a aplicação de ambiente de trabalho kChat (aplicação para macOS / Windows / Linux).
- Clique no ícone Novo ao lado do nome da sua organização kChat.
- Clique em Integrações:

- Aceda às categorias:

Guias específicos
Exemplos de integração no kChat:
- Calendário Infomaniak: exibir um lembrete de evento no kChat
- aplicativo n8n: ativar o envio de uma mensagem no kChat
Guias para outros usos
Para criar um webhook de entrada (para exibir um evento externo no kChat):
- Clique na categoria Webhooks de entrada.
- Clique no botão azul Adicionar webhooks de entrada:

- Adicione um nome e uma descrição para o webhook.
- Selecione o canal que receberá as mensagens.
- Clique no botão para Salvar:

- A URL a ser utilizada para seus desenvolvimentos é exibida (não a divulgue publicamente); exemplo: “
https://your-server-kchat.xyz/hooks/xxx-key-generated-xxx”:
Utilização do webhook
Exemplo rápido
- Um comando
curlespecífico (detalhado abaixo) é inserido em um terminal. - O comando contém a URL obtida no ponto 6 acima.
- O comando terá como resultado a publicação de uma mensagem no canal especificado no ponto 4 acima:

Detalhes
Na aplicação que deve publicar no kChat:
Ajuste o código abaixo de acordo com a URL obtida no kChat:
POST /hooks/xxx-key-generated-xxx HTTP/1.1 Host: your-server-kchat.xyz Content-Type: application/json Content-Length: 63 { "text": "Hello, text1\nText2." }Se necessário, use a mesma solicitação, mas com
curl(para testar a partir de um aplicativo do tipoTerminal(interface de linha de comando,CLI / Command Line Interface) no seu dispositivo), como no exemplo da imagem acima:curl -i -X POST -H 'Content-Type: application/json' -d '{"text": "Hello, text1\nText2."}' {{URL_12}}
A indicação BOT é adicionada ao lado do nome de usuário no kChat por motivos de segurança.
Se nenhum cabeçalho Content-Type for definido, o corpo da solicitação deve ser precedido por payload=, da seguinte forma:
payload={"text": "Hello, text1\nText2."}Uma solicitação bem-sucedida receberá a seguinte resposta:
HTTP/1.1 200 OK
Content-Type: application/json
X-Version-Id: 4.7.1.dev.12799dvd77e172e8a2eba0f4041ec1471.false
Date: Sun, 01 Jun 2023 17:00:00 GMT
Content-Length: 58
{
"id":"x",
"create_at":1713198308869,
"update_at":1713198308869,
"delete_at":0,
"user_id":"x",
"channel_id":"x",
"root_id":"",
"original_id":"",
"participants":null,
"message":"test",
"type":"",
"props":{
"override_username":"webhook",
"override_icon_url":null,
"override_icon_emoji":null,
"webhook_display_name":"test",
"attachments":[
],
"card":null,
"from_webhook":"true"
},
"hashtags":null,
"metadata":{
"embeds":[
{
"type":"message_attachment"
}
],
"files":[
],
"reactions":[
]
},
"file_ids":null,
"has_reactions":false,
"edit_at":0,
"is_pinned":false,
"remote_id":null,
"reply_count":0,
"pending_post_id":null,
"is_following":false
}
Se você deseja ter o mesmo formato de resposta que o Slack:
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
okvocê deve adicionar ?slack_return_format=true à URL do webhook.
Parâmetros
Além do campo text, aqui está a lista completa dos parâmetros suportados:
| Parâmetro | Descrição | Requisitos |
|---|---|---|
text | Mensagem em formato Markdown a ser exibida na publicação. Para acionar notificações, use “@<nome de usuário>”, “@canal” e “@aqui” como faria em outras mensagens do kChat. | Se attachments não for definido, sim |
channel | Substitui o canal no qual a mensagem é publicada. Utilize o nome do canal, e não o nome de exibição; por exemplo, utilize “town-square”, e não “Place de la ville”. Utilize “@” seguido de um nome de utilizador para enviar uma mensagem direta. Por defeito, utiliza o canal definido durante a criação do webhook. O webhook pode publicar em qualquer canal público ou privado onde o criador do webhook esteja presente. As publicações em mensagens diretas aparecerão na mensagem direta entre o utilizador-alvo e o criador do webhook. | Não |
username | Substitui o nome de usuário sob o qual a mensagem é publicada. Por padrão, utiliza o nome de usuário definido durante a criação do webhook; caso nenhum nome de usuário tenha sido definido durante a criação, utiliza webhook. | Não |
icon_url | Substitui a imagem de perfil com a qual a mensagem é publicada. Por padrão, utiliza a URL definida durante a criação do webhook; caso nenhum ícone tenha sido definido durante a criação, o ícone de webhook padrão () é exibido. O parâmetro de configuração Permitir que as integrações substituam os ícones de foto de perfil deve ser ativado para que a substituição do ícone tenha efeito. | Não |
icon_emoji | Substitui a imagem de perfil e o parâmetro icon_url.Por padrão, nada é definido durante a criação do webhook. O valor esperado é o nome de um emoji, tal como é digitado numa mensagem, com ou sem dois pontos ( :).O parâmetro de configuração Permitir que as integrações substituam os ícones da foto de perfil deve estar ativado para que a substituição entre em vigor. | Não |
anexos | Anexos da mensagem usados para opções de formatação mais avançadas. | Sim, se text não estiver definido. |
type | Define o tipo de publicação, principalmente para uso por plugins.Se não estiver vazio, deve começar com " custom_". | Não |
Exemplo de código com parâmetros
Veja como gerar uma mensagem mais completa com parâmetros, alguns dos quais podem substituir parâmetros já definidos durante a criação do webhook (nome de usuário, canal preferido, avatar, etc.), conforme indicado na tabela acima:
curl -i -X POST -H 'Content-Type: application/json' \
-d '{
"username": "System Monitor",
"icon_url": "{{URL_13}}",
"text": "### System Status Report\nEnvironment: PRODUCTION\nStatus: SUCCESSFUL\n\n---\n\n| Component | Version | Build ID | Status |\n|:----------|:-------:|:---------|:-------|\n| API-Core | 2.4.1 | #88421 | OK |\n| Web-UI | 1.9.0 | #88425 | OK |\n| Database | 14.5 | N/A | OK |\n\n---\n\n**Commit Reference:**\n`git-ref: a7f8e9c21b` \n\n**Summary:**\nAll automated integration tests passed successfully. No manual intervention is required. Please contact the DevOps team for further details regarding this release."
}' \
{{URL_14}}Resultado de um exemplo semelhante em imagem:
Link para esta FAQ: https://faq.infomaniak.com/2001
Esta seção de perguntas frequentes foi útil?