Pular para o conteúdo principal

Templates

Sistema unificado de gerenciamento de templates para todos os canais (WhatsApp, Email, SMS, Carta, Voz).

⚠️ Importante: Atualmente, apenas os templates de WhatsApp estão funcionais. Os demais canais (Email, SMS, Carta, Voz) estarão disponíveis em breve.

Autenticação

Para consumir os recursos definidos abaixo é necessário enviar em TODA requisição o token no cabeçalho com o parâmetro Authorization e o Content-Type com o valor padrão de: application/json

Exemplo:

Authorization: eyJhbGciOiJIUzI1NiJ9.MjM3NTVkZjQxMzgwYzcyODBhYzU3MTM4YjNhYWI2Yjc6NWZkNzFjNzNiMTg3ZjNiMWI2N2QzZmYyNjA2NDU2YWRhM2QxNjE4MmZhYTQxMjdkYmE5ODZhZjgyZjUxMzZjNmU5NzAyMDIyZjk3MjEwNzAwZTMwY2Q0YTU4NWY2ODFiMmI3N2UzNWIwZTk2MDQxMmZlMDI0ZGU2OWQyZWJkMTg1N2RiNzM3MDQyZWUxY2NmMTNjZWUyMGVkZDI0NWY4MjFkZmQ2MzBjNWE2ZTgwMzNiMjRiZjAwYjJlNTY5ZDc4Yjg4ZGVlNjlhNWJjNzM4NzRiYjJhZDJkZTExNDBiZDc1MjY1MmY1NWU2YjZjNzA4ZGNhNGM4ZjI3OWIzN2Y2NjA0ZjIyOTQxNjxJlZjc1MDE4YmFmNzA5MzlkNWQ3MzUxM2U5N2ZhZGZlNThiYzE1YWU4NGFmNjQ0OWI3MzQ1MTA3NTE3YzhiYWU3NjBlZDM2YWM3Y2YwNWYzN2Y3NmY5MDY5NTEyZmMxMWEwOTBkY2VjNTBkMmU0ZTUyNDNhNWIxZjQ3YjA2OWM0M2UzZDY3N2U4OWZhZTRhNjhiMDczYTAyNjc1ZjQ4NzliYTZmZWFiZTJkNmU5ZGYwOGZkNTQxZTE1ZTMxOGQzODY4ODg4YWVkNDc5MzczMTllNjhlMzJmNDUxNjYwNDM4OGUwNzNkNWU5OTA4MTQ1ZDNiOGQwN2U5MDBkMDU3OTFhYzE1MzNlYzVjOWEwMjBlMThjMjA5MWE0YjcxNWE1ZDc1MWUwNzJkMzYyOTZhNmM0NjQ2ODJhNDVkNWJjNTg1YmY1OGJkNmU5ODMzM2NiYTM4NmVhNzY.9fOPGJ0fxg8xCwctRI4PhgbOMMKY3AXR1mZnNiKlYhY===

Importante: Para obtenção do token de produção, é necessário entrar contato com à nossa equipe de atendimento: suporte@ar-online.com.br. O token acima é só um EXEMPLO.

Endpoints Disponíveis

MétodoEndpointDescrição
GET/templatesListar templates do usuário
GET/templates/:idBuscar template específico (UUID)
PUT/templates/:idEditar nome e compartilhamento
PATCH/templates/:id/statusAtivar/desativar template
DELETE/templates/:idDesativar template (soft delete)

Listar Templates

  • Endpoint: https://api.ar-online.com.br/gw/templates

  • Método: GET

  • Query Parameters:

    • type (opcional): Filtrar por tipo
      • 1 = WhatsApp
      • 2 = Email
      • 3 = SMS
      • 4 = Carta
  • Resposta:

    {
    "data": [
    {
    "id": "f6cb58f2-3e9b-4899-b703-3facd52e17ee",
    "templateId": "provider-id-123",
    "nome": "Template Boas-vindas",
    "tipo": "email",
    "conteudo": "Olá {{nome}}, bem-vindo à plataforma!",
    "variaveis": {
    "nome": "string"
    },
    "ativo": true,
    "versao": 1,
    "criadoEm": "2026-03-23T10:00:00Z"
    },
    {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "templateId": "provider-id-456",
    "nome": "Template Cobrança",
    "tipo": "whatsapp",
    "conteudo": "Olá {{nome}}, você possui débitos pendentes no valor de {{valor}}.",
    "variaveis": {
    "nome": "string",
    "valor": "string"
    },
    "ativo": true,
    "versao": 2,
    "criadoEm": "2026-03-20T14:30:00Z"
    }
    ],
    "statusCode": 200
    }

    Onde:

    • data: Lista de templates acessíveis ao usuário (próprios + compartilhados com sua entidade)
    • id: UUID público do template
    • templateId: ID do template no provedor (quando aplicável)
    • nome: Nome do template
    • tipo: Tipo do template (whatsapp, email, sms, carta, voz)
    • conteudo: Conteúdo do template com variáveis no formato {{variavel}}
    • variaveis: Objeto com as variáveis disponíveis e seus tipos
    • ativo: Indica se o template está ativo
    • versao: Número da versão atual do template
    • criadoEm: Data de criação do template (ISO 8601)

Buscar Template Específico

  • Endpoint: https://api.ar-online.com.br/gw/templates/{id}

  • Método: GET

  • Parâmetros da Requisição:

    • id - UUID público do template
  • Resposta:

    {
    "data": {
    "id": "f6cb58f2-3e9b-4899-b703-3facd52e17ee",
    "templateId": "provider-id-123",
    "nome": "Template Boas-vindas",
    "tipo": "email",
    "conteudo": "Olá {{nome}}, bem-vindo à plataforma!",
    "variaveis": {
    "nome": "string"
    },
    "ativo": true,
    "versao": 1,
    "criadoEm": "2026-03-23T10:00:00Z",
    "atualizadoEm": "2026-03-25T15:20:00Z",
    "compartilhadoComEntidade": false
    },
    "statusCode": 200
    }

    Onde:

    • compartilhadoComEntidade: Indica se o template está compartilhado com todos os usuários da mesma entidade
    • atualizadoEm: Data da última atualização do template (ISO 8601)

Editar Template

  • Endpoint: https://api.ar-online.com.br/gw/templates/{id}

  • Método: PUT

  • Parâmetros da Requisição:

    • id - UUID público do template
  • Body da Requisição:

    {
    "nome": "Template Boas-vindas Atualizado",
    "compartilhadoComEntidade": true
    }

    Onde:

    • nome: Novo nome do template
    • compartilhadoComEntidade: Define se o template será compartilhado com a entidade
      • true: Compartilha com todos os usuários da mesma entidade
      • false: Remove o compartilhamento (apenas o dono tem acesso)
  • Resposta:

    {
    "data": {
    "id": "f6cb58f2-3e9b-4899-b703-3facd52e17ee",
    "nome": "Template Boas-vindas Atualizado",
    "compartilhadoComEntidade": true,
    "atualizadoEm": "2026-03-30T10:15:00Z"
    },
    "statusCode": 200
    }

⚠️ Importante: Apenas o dono do template pode editá-lo.

Ativar/Desativar Template

  • Endpoint: https://api.ar-online.com.br/gw/templates/{id}/status

  • Método: PATCH

  • Parâmetros da Requisição:

    • id - UUID público do template
  • Body da Requisição:

    {
    "ativo": false
    }

    Onde:

    • ativo: Define o status do template
      • true: Ativa o template
      • false: Desativa o template
  • Resposta:

    {
    "data": {
    "id": "f6cb58f2-3e9b-4899-b703-3facd52e17ee",
    "ativo": false,
    "atualizadoEm": "2026-03-30T10:20:00Z"
    },
    "statusCode": 200
    }

Desativar Template (Soft Delete)

  • Endpoint: https://api.ar-online.com.br/gw/templates/{id}

  • Método: DELETE

  • Parâmetros da Requisição:

    • id - UUID público do template
  • Resposta:

    {
    "data": {
    "id": "f6cb58f2-3e9b-4899-b703-3facd52e17ee",
    "ativo": false,
    "message": "Template desativado com sucesso"
    },
    "statusCode": 200
    }

⚠️ Importante: Esta operação realiza um soft delete, apenas desativando o template (tpl_ativo = false). O template não é removido permanentemente do banco de dados.

Tipos de Templates

Os templates podem ser de diferentes tipos, cada um adequado a um canal específico:

TipoValorDescrição
WhatsApp1 ou whatsappTemplates para envio via WhatsApp
Email2 ou emailTemplates para envio via Email
SMS3 ou smsTemplates para envio via SMS
Carta4 ou cartaTemplates para envio via Carta
VozvozTemplates para envio via Voz

Compartilhamento de Templates

Os templates podem ser compartilhados com todos os usuários da mesma entidade através do campo compartilhadoComEntidade:

  • Compartilhado (compartilhadoComEntidade: true): Todos os usuários da mesma entidade podem visualizar e utilizar o template
  • Privado (compartilhadoComEntidade: false): Apenas o dono do template pode visualizar e utilizar

⚠️ Importante: Apenas o dono do template pode editar, ativar/desativar ou excluir o template, mesmo quando compartilhado.

⚠️ Importante: Atualmente, apenas os templates de WhatsApp podem ser compartilhados. O compartilhamento para os demais canais estará disponível em breve.

Possíveis Mensagens de Erro

{
"statusCode": 401,
"message": "Unauthorized"
}
{
"statusCode": 404,
"message": "Template não encontrado"
}
{
"statusCode": 403,
"message": "Você não tem permissão para editar este template"
}
{
"statusCode": 400,
"message": "Validation failed (uuid is expected)",
"error": "Bad Request"
}
{
"statusCode": 400,
"message": "Tipo de template inválido. Valores aceitos: 1 (WhatsApp), 2 (Email), 3 (SMS), 4 (Carta)"
}
{
"statusCode": 500,
"message": "Internal Server Error"
}