Skip to main content
A aba Envio é onde você configura como o Datacrazy envia mensagens para a API externa. Aqui você define a URL base, os endpoints para cada tipo de mensagem, e como interpretar a resposta.

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:
https://api.exemplo.com + /messages/send = https://api.exemplo.com/messages/send

Endpoint de Envio de Texto

Este é o endpoint principal e obrigatório. Configure os seguintes campos:
CampoDescrição
MétodoMétodo HTTP da requisição (GET, POST, PUT, PATCH ou DELETE)
CaminhoCaminho relativo à URL Base (suporta variáveis). Ex: /v1/messages
Template do BodyTemplate JSON do corpo da requisição com variáveis dinâmicas
HeadersHeaders customizados adicionais (pares chave-valor)
Parâmetros de QueryParâmetros de query string (pares chave-valor)
Content-TypeTipo 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:
{
  "to": "${contact.contactId}",
  "text": "${message.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ávelDescriçãoExemplo
${message.body}Conteúdo da mensagemOlá, tudo bem?
${message.id}ID interno da mensagem507f1f77bcf86cd799439011

Variáveis de contato

VariávelDescriçãoExemplo
${contact.contactId}ID do contato na plataforma externa123456789
${contact.name}Nome do contatoJoão Silva

Variáveis de anexo

Disponíveis apenas nos endpoints de mídia, documento e áudio.
VariávelDescriçãoExemplo
${attachment.url}URL pública do anexohttps://cdn.exemplo.com/foto.jpg
${attachment.mimeType}Tipo MIME do anexoimage/jpeg
${attachment.filename}Nome do arquivofoto.jpg

Variáveis de credenciais

VariávelDescriçã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.
CampoObrigatórioDescrição
Caminho do ID da MensagemSimCaminho no JSON de resposta para o ID da mensagem enviada
Caminho do SucessoSimCaminho para o campo que indica se a operação foi bem-sucedida
Caminho da Mensagem de ErroNãoCaminho para a mensagem de erro (quando a operação falha)

Exemplo

Se a API externa retorna:
{
  "ok": true,
  "result": {
    "message_id": 456
  },
  "description": "mensagem de erro aqui"
}
Preencha:
  • Caminho do ID da Mensagem: result.message_id
  • Caminho do Sucesso: ok
  • Caminho da Mensagem de Erro: description

Notação de ponto e arrays

CaminhoDescrição
idCampo direto na raiz
result.data.messageIdCampo aninhado
items[0].idPrimeiro 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 retornadoResultado
true (boolean)Sucesso
Número > 0Sucesso
"true" ou "ok" (string, case-insensitive)Sucesso
false, 0, null, undefinedFalha

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:
CampoDescrição
Nome do EndpointNome identificador (ex: Enviar Foto)
Tipos de AnexoTipos de anexo que esse endpoint trata

Tipos de Anexo disponíveis

TipoDescrição
IMAGEImagens (MIME: image/*)
VIDEOVídeos (MIME: video/*)
AUDIOÁudios (MIME: audio/*)
FILEDocumentos e outros arquivos
TodosQualquer 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:
CampoDescrição
StatusCódigo HTTP da resposta
DuraçãoTempo de resposta em milissegundos
RespostaCorpo da resposta da API
ErroMensagem de erro (se houver)