Entrada e Saída
Na Hablla, toda entrada e saída de um componente é feita em formato JSON. Isso significa que cada ação dentro do fluxo de automação recebe informações (entrada), processa esses dados e retorna um resultado (saída). Vamos entender melhor como isso funciona e como você pode utilizar essas informações no seu dia a dia.
🏗 Fluxo de Dados na Hablla
1️⃣ Entrada → O componente recebe um conjunto de dados em JSON, vindos de outras etapas do fluxo. 2️⃣ Processamento → O componente manipula os dados e faz requisições internas ou externas. 3️⃣ Saída → O componente retorna um JSON com as informações processadas, incluindo status, detalhes da requisição e resultados obtidos.
📌 Exemplo real na Hablla: Imagine que um componente recebe dados de um contato do WhatsApp e precisa criar um cartão de atendimento no sistema.
📥 Entrada de Dados
A entrada contém todas as informações disponíveis para o componente. Essas informações vêm de componentes anteriores no fluxo.
Exemplo de entrada (JSON):
{
"whatsapp": {
"name": "Marcus Barboza",
"phone_number": "5517997275046"
},
"person": {
"name": "Marcus Barboza",
"customer_status": "lead",
"id": "675c7667dc2708736e804575"
},
"service": {
"type": "whatsapp",
"status": "in_bot",
"id": "67c7503f15788872a1f61328"
},
"content": {
"body": "Hablla, boa tarde!"
}
}
Os dados na Hablla são gerados a partir de interações do usuário, capturados de sistemas externos ou adicionados por componentes anteriores no fluxo de automação. As automações na Hablla podem ser iniciadas por eventos disparados a partir de componentes receptivos como WhatsApp, Instagram, Messenger, Telegram, Email, Telefone, além de integrações via Webhooks, CRON e Trigger.
Esses eventos (trigger) podem ser acionados por diferentes tipos de ações dentro da plataforma, como: ✅ Interações com Pessoas → Leads, clientes ou usuários realizando ações no sistema. ✅ Organizações → Atualizações em empresas cadastradas. ✅ Cards → Movimentações dentro de quadros e pipelines. ✅ Bot e Chat → Mensagens enviadas ou recebidas por IA ou operadores humanos. ✅ Chamadas Telefônicas e Emails → Registros e atualizações de comunicações. ✅ Campos Personalizados (Custom Fields) → Mudanças em dados específicos dentro do CRM. ✅ Eventos de Sessão → Login, logout, sessão expirada, status online/offline. ✅ Serviços e Transferências → Atribuições de atendimentos e movimentação entre setores. ✅ Tags e Usuários → Ações relacionadas a segmentação e permissões de usuários. ✅ Tarefas e Dicionário de Dados → Atualizações em tarefas ou informações estruturadas. ✅ Conversões e Alterações de Status → Mudanças em estágios do funil de vendas e atendimento.
Sempre que um desses eventos é ativado na Hablla, ele dispara uma trigger que recebe os dados do evento e executa ações configuradas, como: Criar, Atualizar, Excluir, Mesclar, entre outras. 🚀
⚙ Processamento de Dados
Entre a entrada e a saída, o componente manipula os dados recebidos. Ele pode: ✅ Consultar um banco de dados → Buscar informações de clientes, pedidos, etc. ✅ Fazer uma chamada para uma API externa → Como integrar um ERP ou outro sistema de API aberta. ✅ Aplicar regras de automação → Criar, atualizar ou excluir registros na Hablla conforme regras do fluxo.
📤 Saída de Dados
A saída contém o resultado da operação do componente. Ela segue sempre o mesmo formato e inclui:
1️⃣ value → Resultado da operação (exemplo: sucesso ou erro). 2️⃣ headers → Cabeçalhos da requisição (útil para depuração e segurança). 3️⃣ config → Configuração da requisição, como URL e tempo de resposta. 4️⃣ request → Caminho da chamada feita pelo componente. 5️⃣ data → O resultado final da operação.
Exemplo de saída (JSON):
{
"status": "fulfilled",
"value": {
"status": 200,
"statusText": "OK",
"headers": {
"content-type": "application/json; charset=utf-8",
"date": "Tue, 04 Mar 2025 19:10:56 GMT"
},
"config": {
"method": "GET",
"url": "https://api.hablla.com/v3/workspaces/643d802021b6aa9234eb9797/cards"
},
"request": {
"method": "GET",
"path": "/v3/workspaces/643d802021b6aa9234eb9797/cards?person=675c7667dc2708736e804575"
},
"data": {
"results": [],
"count": 0,
"totalItems": 0
}
}
}
🔹 O que esses dados significam?
✅ status: Indica se a operação foi bem-sucedida (fulfilled
) ou se houve erro.
✅ value.status: O código de resposta HTTP (200
significa sucesso, 400
erro de requisição, etc.).
✅ config.url: A URL utilizada na requisição.
✅ request.path: O caminho exato da API chamada.
✅ data: O resultado da requisição (neste caso, não encontrou nenhum cartão para essa pessoa).
🛠 Como Usar Esses Dados no Fluxo
💡 Você pode acessar qualquer valor da entrada ou da saída do componente dentro do fluxo usando a sintaxe:
{{$data?.codigoDoComponente?.caminhoVariavel}}
📌 Existem exemplos em Usando variáveis
🚀 Conclusão
🔹 A entrada contém os dados disponíveis antes do componente ser executado. 🔹 O componente processa esses dados, faz requisições e aplica regras de automação. 🔹 A saída mostra o resultado da operação, permitindo que o fluxo continue automaticamente.
💡 Dica: Sempre analise a entrada e a saída para entender como os dados estão fluindo dentro da automação. Isso facilita identificar erros e configurar suas regras corretamente! 🚀
Atualizado
Isto foi útil?