Pular para o conteúdo principal

telegram

O nó telegram fornece integração com a API do Telegram Bot. Com ele, o fluxo pode enviar mensagens para chats e canais, exibir botões Inline, processar cliques em botões e mostrar notificações pop-up para o usuário.


Configurações do nó telegram

Edit

1. botToken

O token do seu bot do Telegram, obtido do @BotFather.

Suporta Mustache — o token pode ser armazenado em uma variável de fluxo e inserido através de {{variável}}.

Exemplo:

{{flow.telegramToken}}

2. chat_id

O identificador do chat ou canal para o qual a mensagem será enviada.

Suporta Mustache. Se o campo for deixado em branco, o backend automaticamente pegará o valor de msg.payload.message.chat.id — isso é conveniente ao responder a uma mensagem recebida do usuário.

Exemplo:

{{payload.message.chat.id}}

3. text

O texto da mensagem a ser enviada.

Suporta Mustache — é possível inserir dinamicamente dados de msg.

Exemplo:

Seu pedido nº{{payload.orderId}} foi realizado com sucesso!

4. parseMode

O modo de formatação do texto da mensagem. Opções disponíveis:

  • none — sem formatação, o texto é enviado como está.
  • Markdown — Markdown básico do Telegram (v1).
  • MarkdownV2 — versão avançada do Markdown com suporte a spoilers e outros elementos.
  • HTML — formatação HTML (<b>, <i>, <code>, <a> etc.).

5. replyMarkup

Construtor de botões Inline abaixo da mensagem. Os botões são organizados em linhas: cada linha contém um ou mais botões.

Para cada botão, são definidos:

  • Texto — rótulo do botão que o usuário vê.
  • callback_data — valor que será enviado no webhook no campo msg.payload.callback_query.data ao clicar no botão. Com esse valor, é possível determinar qual botão foi pressionado e direcionar o fluxo para o ramo correto através do nó Switch.

Exemplo de estrutura:

Linha 1: [Confirmar | callback_data: confirm]  [Cancelar | callback_data: cancel]
Linha 2: [Mais detalhes | callback_data: details]

6. callbackQueryId

O identificador da solicitação de callback — necessário para responder ao clique no botão Inline.

Suporta Mustache. Se o campo for deixado em branco, o valor é automaticamente obtido de msg.payload.callback_query.id.

Exemplo:

{{payload.callback_query.id}}

7. showAlert

Caixa de seleção. Define o tipo de notificação ao responder ao clique no botão:

  • Desligado — exibe um breve pop-up de notificação (desaparece automaticamente).
  • Ligado — exibe uma janela modal com a notificação, que o usuário deve fechar manualmente.

8. notificationText

O texto da notificação que aparecerá ao responder ao clique no botão Inline.

O campo é exibido no formulário apenas quando showAlert está ativado.
Suporta Mustache.

Exemplo:

Sua escolha foi registrada: {{payload.callback_query.data}}

Exemplos de uso

Exemplo 1: Envio de mensagem sobre um novo pedido

Fluxo:

[events: order_created] ---> [telegram]

Configurações do nó:

  • botToken: {{flow.telegramToken}}
  • chat_id: {{flow.adminChatId}}
  • text: Novo pedido nº{{payload.order.id}} de {{payload.order.userName}}. Total: {{payload.order.totalPrice}} R$
  • parseMode: none

Resultado:
Ao criar um novo pedido, o bot enviará uma notificação no chat do administrador.


Exemplo 2: Mensagem com botões de confirmação

Configurações do nó:

  • chatId: {{payload.message.chat.id}}
  • text: Confirmar a realização do pedido?
  • replyMarkup:
    Linha 1: [Sim, confirmar | confirm]  [Cancelar | cancel]

Resultado:
O usuário receberá uma mensagem com dois botões. Clicar no botão enviará callback_data para o webhook, onde pode ser processado pelo nó Switch.


Exemplo 3: Resposta ao clique no botão com notificação

Fluxo:

[http in] ---> [switch: callback_data == "confirm"] ---> [telegram: resposta com notificação]

Configurações do nó:

  • callbackQueryId: (deixar em branco — será obtido de msg.payload.callback_query.id)
  • showAlert: ativado
  • notificationText: Pedido confirmado!

Resultado:
O usuário verá um pop-up com o texto "Pedido confirmado!", que deve ser fechado manualmente.