Baixar modelo de planilha
Gera um arquivo CSV ou XLSX com exatamente os cabeçalhos esperados para o método de envio informado.
https://external-api.arbitralis.com.br/api/external/v1/notifications/batches/templateX-API-KEYSíncrono — a resposta já traz o resultadoGera e devolve um arquivo com os cabeçalhos corretos para o método de envio e os templates que você pretende usar. É a forma mais segura de montar uma planilha compatível com o upload padrão.
A resposta é o arquivo em si (download), não um JSON.
deliveryMethodstringobrigatórioMétodo de envio para o qual gerar o modelo.
DIGITALEMAIL_ONLYWHATSAPP_ONLYPHYSICALDIGITAL_PHYSICALformatstringopcionalpadrão csvFormato do arquivo gerado.
csvxlsxnotificationTemplateIduuidopcionalAcrescenta uma coluna para cada variável personalizada declarada pelo template. Informe o mesmo template que usará no upload.
Headers da resposta
| Header | Valor |
|---|---|
Content-Type | text/csv; charset=utf-8 ou application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
Content-Disposition | attachment; filename="template_digital.csv" |
Colunas por método
As colunas de contato dependem exclusivamente do método de envio:
| Método | Colunas |
|---|---|
DIGITAL | nome, cpf_cnpj, email, telefone, valor |
EMAIL_ONLY | nome, cpf_cnpj, email, valor |
WHATSAPP_ONLY | nome, cpf_cnpj, telefone, valor |
PHYSICAL | nome, cpf_cnpj, cep, logradouro, numero, complemento, bairro, cidade, uf, valor |
DIGITAL_PHYSICAL | nome, cpf_cnpj, email, telefone + colunas de endereço + valor |
Em DIGITAL e DIGITAL_PHYSICAL as duas colunas de contato sempre aparecem. Preencher as duas é o recomendado — se o item tiver apenas um dos contatos, deixe a outra célula vazia.
O notificationTemplateId não altera as colunas de contato; ele apenas acrescenta ao final uma coluna para cada variável personalizada declarada pelo template.
Gere o modelo com os mesmos parâmetros do upload
Passe aqui exatamente o mesmo deliveryMethod e o mesmo notificationTemplateId que usará no
upload. O cabeçalho é validado por correspondência exata: qualquer diferença faz o upload
retornar 400 com a lista de colunas esperadas.
Separador ponto e vírgula
Os arquivos CSV usam ; como separador — o padrão do Excel em português. Ao gerar a planilha
programaticamente, mantenha o mesmo separador.
Erros
| Código | Causa |
|---|---|
400 | deliveryMethod ausente ou inválido |
401 | API key ausente, inválida ou inativa |
429 | Limite de requisições excedido |
curl -X GET "https://external-api.arbitralis.com.br/api/external/v1/notifications/batches/template?deliveryMethod=DIGITAL&format=xlsx¬ificationTemplateId=4d5e6f7a-8b9c-4d0e-9f1a-2b3c4d5e6f7a" \
-H "X-API-KEY: arb_live_SUA_CHAVE" \
-o modelo-digital.xlsximport { writeFile } from 'node:fs/promises';
const params = new URLSearchParams({
deliveryMethod: 'DIGITAL',
format: 'csv',
notificationTemplateId: '4d5e6f7a-8b9c-4d0e-9f1a-2b3c4d5e6f7a',
});
const response = await fetch(
`https://external-api.arbitralis.com.br/api/external/v1/notifications/batches/template?${params}`,
{ headers: { 'X-API-KEY': 'arb_live_SUA_CHAVE' } }
);
await writeFile('modelo-digital.csv', Buffer.from(await response.arrayBuffer()));import requests
response = requests.get(
"https://external-api.arbitralis.com.br/api/external/v1/notifications/batches/template",
headers={"X-API-KEY": "arb_live_SUA_CHAVE"},
params={
"deliveryMethod": "PHYSICAL",
"format": "xlsx",
},
)
with open("modelo-fisico.xlsx", "wb") as arquivo:
arquivo.write(response.content)nome;cpf_cnpj;email;telefone;valornome;cpf_cnpj;email;valornome;cpf_cnpj;cep;logradouro;numero;complemento;bairro;cidade;uf;valornome;cpf_cnpj;email;telefone;valor;numero_contrato;data_vencimento