Integração de API com Workflows

Modificado em Ter, 11 Nov na (o) 3:15 PM

1. Componente de Instruções

O Componente de Instruções define como a IA (LLM) deve interpretar e executar o workflow, funcionando como uma tool (ferramenta interna) que o modelo pode chamar quando necessário.

Como Funciona

As instruções são convertidas internamente em uma função documentada com:

  • Descrição

  • Argumentos tipados (Args)

  • Retorno (Returns)

  • Exceções (Raises) — opcional

Isso orienta a IA sobre como processar dados e como responder.


Exemplo Básico

Processa pedidos de clientes e retorna o status da transação. Esta função analisa os dados do pedido, valida as informações do cliente, calcula o valor total e processa o pagamento. Args: cliente_id (str): ID único do cliente no sistema itens (list): Lista de produtos com quantidades metodo_pagamento (str): Forma de pagamento (cartao, pix, boleto) desconto (float, optional): Percentual de desconto (0-100) Returns: dict: Status do pedido com ID da transação e valor final

Exemplo com Validações

Realiza atendimento ao cliente com base no perfil e histórico. Args: cliente_id (str) tipo_solicitacao (str): suporte | vendas | financeiro urgencia (str): baixa | media | alta | critica mensagem (str) canal (str): chat | email | telefone Returns: dict: Resposta estruturada Raises: ValueError: cliente_id não encontrado PermissionError: sem permissão para o tipo de solicitação

Exemplo com Variáveis Dinâmicas (Mustache)

{{#eh_processo_automatico}} Executa processamento automatizado de {{tipo_documento}}… {{/eh_processo_automatico}} {{^eh_processo_automatico}} Realiza análise manual com supervisão humana… {{/eh_processo_automatico}}

Boas Práticas

✔ Escreva descrição objetiva
✔ Declare todos os argumentos com tipo
✔ Identifique opcionais
✔ Use Mustache para customização dinâmica
✔ Mantenha padrão de escrita claro


2. Componente de Código (JavaScript)

Permite adicionar lógica personalizada ao workflow.

Características

  • Executa JavaScript completo

  • Acessa variáveis do fluxo via *_vars*

  • Pode tomar decisões condicionais

  • console.log envia mensagens ao usuário


Variáveis Disponíveis

VariávelDescrição
_vars._useridID do usuário
_vars._platformOrigem (WhatsApp, Telegram…)
_vars._nameNome do usuário
_vars._historyHistórico de conversas
_vars._requestPayload da requisição
_vars.[nome]Variáveis definidas antes

Exemplos

1. Validação de CPF

let cpf = (_vars.cpf || "").replace(/[^0-9]/g, ''); if (cpf.length !== 11) { return false; } // ...continua com a validação... return true;

2. Formatação de Data

let data = new Date(); return `${data.getDate().toString().padStart(2,'0')}/${(data.getMonth()+1).toString().padStart(2,'0')}/${data.getFullYear()}`;

3. Fluxo por Plataforma

return _vars._platform === "whatsapp" ? "fluxo_whatsapp" : "fluxo_padrao";

Boas Práticas

✔ Sempre retorne um valor
✔ Utilize try/catch em lógicas complexas
✔ Verifique se variáveis existem antes de usar


3. Componente de Integração (API)

Permite consultar e enviar dados para APIs REST, GraphQL e SOAP.


REST

  • Métodos suportados: GET, POST, PUT, DELETE…

  • Suporta Headers, Query Parameters e Body

Exemplo – GET

GET https://api.exemplo.com/produtos Headers: Accept: application/json

Exemplo – POST

POST https://api.exemplo.com/pedidos Body (JSON): { "cliente": "123", "itens": [{"produto": "abc", "qtd": 2}] }

GraphQL

Sempre método POST
O corpo contém query e variables

{ "query": "query GetUser($id: ID!) { user(id:$id){id name}}", "variables": {"id": "{{usuario_id}}"} }

SOAP

Requisição POST com XML no corpo

<soapenv:Envelope> ... </soapenv:Envelope>

4. Componente de Retorno de Rota

Define o que a API vai retornar quando chamada externamente.

Configurações

  • Content-Type: json, xml, texto, html

  • Código HTTP: 200, 400, 401, 404, 500…

  • Corpo da Resposta: texto fixo ou Mustache dinâmico

Exemplo de Sucesso

{ "success": true, "mensagem": "Operação concluída", "dados": {{#tojson}}{{dados}}{{/tojson}} }

Exemplo com Condicional

{{#dados.pagamento_aprovado}} "status": "confirmado" {{/dados.pagamento_aprovado}}

Fluxo Completo – Exemplo de Uso

InícioInstruçõesCódigoIntegração APIRetorno de RotaFim

Resumo

ComponenteFunção
InstruçõesEnsina a IA como agir
CódigoRegras e cálculos personalizados
Integração APIConecta com sistemas externos
Retorno de RotaDefine o que sua API responde

Este artigo foi útil?

Que bom!

Obrigado pelo seu feedback

Desculpe! Não conseguimos ajudar você

Obrigado pelo seu feedback

Deixe-nos saber como podemos melhorar este artigo!

Selecione pelo menos um dos motivos
A verificação do CAPTCHA é obrigatória.

Feedback enviado

Agradecemos seu esforço e tentaremos corrigir o artigo