URL Base
No campo URL Base, insira o endereço base da API externa (ex:https://api.exemplo.com). A URL final de cada requisição é composta pela URL Base + o caminho do endpoint:
Endpoint de Envio de Texto
Este é o endpoint principal e obrigatório. Configure os seguintes campos:| Campo | Descrição |
|---|---|
| Método | Método HTTP da requisição (GET, POST, PUT, PATCH ou DELETE) |
| Caminho | Caminho relativo à URL Base (suporta variáveis). Ex: /v1/messages |
| Template do Body | Template JSON do corpo da requisição com variáveis dinâmicas |
| Headers | Headers customizados adicionais (pares chave-valor) |
| Parâmetros de Query | Parâmetros de query string (pares chave-valor) |
| Content-Type | Tipo do conteúdo da requisição (padrão: application/json) |
| Timeout (ms) | Tempo limite em milissegundos (padrão: 30000) |
Exemplo de preenchimento
- Método:
POST - Caminho:
/v1/messages - Template do Body:
⚠️ Importante: Se uma mensagem com anexo não encontrar um endpoint específico (ex: endpoint de mídia não configurado), o endpoint de texto será usado como fallback.
Variáveis de interpolação
Os templates suportam variáveis dinâmicas com a sintaxe${variavel}. Elas podem ser usadas nos campos Caminho, Template do Body, Headers e Parâmetros de Query.
Variáveis de mensagem
| Variável | Descrição | Exemplo |
|---|---|---|
${message.body} | Conteúdo da mensagem | Olá, tudo bem? |
${message.id} | ID interno da mensagem | 507f1f77bcf86cd799439011 |
Variáveis de contato
| Variável | Descrição | Exemplo |
|---|---|---|
${contact.contactId} | ID do contato na plataforma externa | 123456789 |
${contact.name} | Nome do contato | João Silva |
Variáveis de anexo
Disponíveis apenas nos endpoints de mídia, documento e áudio.| Variável | Descrição | Exemplo |
|---|---|---|
${attachment.url} | URL pública do anexo | https://cdn.exemplo.com/foto.jpg |
${attachment.mimeType} | Tipo MIME do anexo | image/jpeg |
${attachment.filename} | Nome do arquivo | foto.jpg |
Variáveis de credenciais
| Variável | Descrição |
|---|---|
${credentials.xxx} | Valor da credencial com chave xxx (configurada na seção Credenciais) |
⚠️ Nota: Valores de${message.body}e${contact.name}são automaticamente escapados para JSON (aspas, quebras de linha, tabulações). Isso garante que o template continue sendo um JSON válido mesmo com caracteres especiais.
Mapeamento de Resposta
A seção Mapeamento de Resposta define como extrair informações da resposta da API externa. Preencha os campos usando dot notation (notação de ponto) para acessar campos aninhados no JSON de resposta.| Campo | Obrigatório | Descrição |
|---|---|---|
| Caminho do ID da Mensagem | Sim | Caminho no JSON de resposta para o ID da mensagem enviada |
| Caminho do Sucesso | Sim | Caminho para o campo que indica se a operação foi bem-sucedida |
| Caminho da Mensagem de Erro | Não | Caminho para a mensagem de erro (quando a operação falha) |
Exemplo
Se a API externa retorna:- Caminho do ID da Mensagem:
result.message_id - Caminho do Sucesso:
ok - Caminho da Mensagem de Erro:
description
Notação de ponto e arrays
| Caminho | Descrição |
|---|---|
id | Campo direto na raiz |
result.data.messageId | Campo aninhado |
items[0].id | Primeiro elemento de um array |
items[-1].id | Último elemento de um array |
Avaliação de sucesso
O campo indicado em Caminho do Sucesso é avaliado da seguinte forma:| Valor retornado | Resultado |
|---|---|
true (boolean) | Sucesso |
| Número > 0 | Sucesso |
"true" ou "ok" (string, case-insensitive) | Sucesso |
false, 0, null, undefined | Falha |
Endpoints Adicionais
Para APIs que possuem endpoints específicos para diferentes tipos de anexo, use a seção Endpoints Adicionais. Clique em Adicionar Endpoint para criar um novo. Cada endpoint adicional possui os mesmos campos do endpoint de texto, mais:| Campo | Descrição |
|---|---|
| Nome do Endpoint | Nome identificador (ex: Enviar Foto) |
| Tipos de Anexo | Tipos de anexo que esse endpoint trata |
Tipos de Anexo disponíveis
| Tipo | Descrição |
|---|---|
IMAGE | Imagens (MIME: image/*) |
VIDEO | Vídeos (MIME: video/*) |
AUDIO | Áudios (MIME: audio/*) |
FILE | Documentos e outros arquivos |
Todos | Qualquer tipo de anexo |
⚠️ Nota: Endpoints adicionais têm prioridade sobre os endpoints padrão. Se um endpoint adicional com tipo Todos estiver configurado, ele será usado para todos os anexos.
Testar Conexão
Após configurar os endpoints, clique no botão Testar Conexão na parte inferior da tela. O teste envia uma mensagem de prova para o endpoint de texto com dados fictícios. O resultado exibe:| Campo | Descrição |
|---|---|
| Status | Código HTTP da resposta |
| Duração | Tempo de resposta em milissegundos |
| Resposta | Corpo da resposta da API |
| Erro | Mensagem de erro (se houver) |