Obter um template

Retorna um template com o corpo do documento e as variáveis classificadas por origem.

GEThttps://external-api.arbitralis.com.br/api/external/v1/templates/{id}
AutenticaçãoX-API-KEYSíncrono — a resposta já traz o resultado

Retorna um template específico com o corpo do documento e as variáveis que ele declara.

O valor está nas variáveis classificadas: elas dizem exatamente quais dados a sua integração precisa enviar e quais a Arbitralis preenche sozinha.

Parâmetros de rota
iduuidobrigatório

Identificador do template. Obtenha em Listar templates.

Query string
versionstringopcionalpadrão published

Versão a retornar. Use draft para inspecionar um rascunho ainda não publicado.

valoresdraftpublished

Variáveis classificadas

Cada variável do template vem com a origem do dado. É isso que diz o que você precisa enviar:

CampoDescrição
keyNome da variável no corpo do template ({{key}})
sourceDe onde vem o valor — ver tabela abaixo
requiredSe o template exige a variável
mustSendInPayloadSe você precisa enviar o valor
originCampo da plataforma que preenche a variável, quando aplicável
definitionIdIdentificador do campo personalizado
typeTipo do campo personalizado (TEXT, DATE, NUMBER, ENUM…)
enumOptionsValores aceitos quando o tipo é ENUM

Origens

sourceSignificadoVocê envia?
BASE_PLATFORMA Arbitralis preenche a partir dos dados da notificação — nome, CPF, valor, datasNão
CUSTOM_FIELDCampo personalizado do workspace — número de contrato, protocolo, vencimentoSim
UNKNOWNVariável no corpo do template sem correspondência conhecidaSim, se quiser preenchê-la

A regra prática

Filtre por mustSendInPayload: true e você tem exatamente a lista de chaves a incluir em metadata ao criar a notificação ou nos itens do lote.

Do template ao envio

Montando o payload a partir do template
const { data: template } = await obterTemplate(templateId);

const chavesNecessarias = template.variables
  .filter((v) => v.mustSendInPayload && v.required)
  .map((v) => v.key);

const faltando = chavesNecessarias.filter((chave) => !(chave in meusDados));

if (faltando.length > 0) {
  throw new Error(`Variáveis obrigatórias ausentes: ${faltando.join(', ')}`);
}

await criarNotificacao({
  deliveryMethod: 'DIGITAL',
  notificationTemplateId: template.id,
  amount: meusDados.valor,
  contact: { name: meusDados.nome, taxId: meusDados.cpf, phoneNumbers: [meusDados.telefone] },
  metadata: Object.fromEntries(chavesNecessarias.map((chave) => [chave, meusDados[chave]])),
});

Variável UNKNOWN não é bloqueante

Uma variável UNKNOWN indica que o template referencia algo que não corresponde a um campo da plataforma nem a um campo personalizado ativo. O envio funciona, mas o placeholder pode sair vazio no documento. Vale revisar o template no painel.

Erros

CódigoCausa
401API key ausente, inválida ou inativa
404Template inexistente, arquivado, fora do workspace, ou sem a versão solicitada
429Limite de requisições excedido
Requisição
curl -X GET "https://external-api.arbitralis.com.br/api/external/v1/templates/4d5e6f7a-8b9c-4d0e-9f1a-2b3c4d5e6f7a" \
  -H "X-API-KEY: arb_live_SUA_CHAVE"
Resposta
{
  "success": true,
  "data": {
    "id": "4d5e6f7a-8b9c-4d0e-9f1a-2b3c4d5e6f7a",
    "name": "Cobrança — contratos em atraso",
    "title": "Notificação Extrajudicial de Cobrança",
    "status": "PUBLISHED",
    "type": "CUSTOM",
    "bodyHtml": "<p>Prezado(a) {{nome}},</p><p>Consta débito referente ao contrato {{numero_contrato}}, com vencimento em {{data_vencimento}}, no valor de {{valor}}.</p>",
    "bodyText": "Prezado(a) {{nome}}, consta débito referente ao contrato {{numero_contrato}}...",
    "variables": [
      {
        "key": "nome",
        "source": "BASE_PLATFORM",
        "required": true,
        "mustSendInPayload": false,
        "origin": "pessoa.nomeCompleto"
      },
      {
        "key": "valor",
        "source": "BASE_PLATFORM",
        "required": true,
        "mustSendInPayload": false,
        "origin": "item.valor"
      },
      {
        "key": "numero_contrato",
        "source": "CUSTOM_FIELD",
        "required": true,
        "mustSendInPayload": true,
        "definitionId": "8d2e3f4a-5b6c-7d8e-9f0a-1b2c3d4e5f6a",
        "type": "TEXT"
      },
      {
        "key": "data_vencimento",
        "source": "CUSTOM_FIELD",
        "required": false,
        "mustSendInPayload": true,
        "definitionId": "2b3c4d5e-6f7a-4b9c-8d1e-2f3a4b5c6d7e",
        "type": "DATE"
      }
    ],
    "updatedAt": "2026-08-01T09:14:22.000Z"
  }
}