arrobaMail
Módulo 0426 endpoints

Lists /lists

Gestão completa de listas, campos personalizados, importação/exportação e ferramentas de limpeza.

Endpoints

26 no total
GET/listsUsuário

Listar listas com estatísticas

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/lists" \
  -H "Authorization: Bearer $TOKEN"

Resposta 200

{
  "count": 12,
  "list": [
    {
      "id": 45, "encid": "xY7zW2", "nombre": "Clientes VIP",
      "dateCreated": "2025-01-15 08:30:00",
      "s_total": 3500, "s_active": 3200,
      "s_unsus": 150, "s_bkl": 100, "s_notconfirmed": 50
    }
  ]
}
GET/lists/dashboardUsuário

Dashboard de análise de listas

Retorna gráficos e métricas agregadas: crescimento diário, engajamento por lista, distribuição de status.

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/lists/dashboard" \
  -H "Authorization: Bearer $TOKEN"
POST/listsUsuário

Criar nova lista

Nome obrigatório. Verifica o limite de listas conforme o plano.

Request body · application/json

NomeTipoObrig.Descrição
nombrestringSimNome da lista
from_emailstringNãoEmail remetente padrão
from_namestringNãoNome de remetente padrão
descripcionstringNãoDescrição da lista

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/lists" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "nombre": "...",
  "from_email": "...",
  "from_name": "...",
  "descripcion": "..."
}'

Resposta 201

{ "id": 45, "encid": "xY7zW2" }

Erros

StatusCodeDescrição
400name_requiredNome obrigatório
400max_lists_reachedLimite de listas atingido conforme o plano
GET/lists/:idUsuário

Detalhe completo da lista com estatísticas e campos personalizados

Parâmetros de rota

NomeDescrição
idID numérico da lista

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/lists/{ID}" \
  -H "Authorization: Bearer $TOKEN"
PUT/lists/:idUsuário

Atualizar propriedades da lista

Campos editáveis: nombre, from_email, from_name, descripcion, image_logo.

Parâmetros de rota

NomeDescrição
idID numérico da lista

Request body · application/json

NomeTipoObrig.Descrição
nombrestringNãoNome da lista
from_emailstringNãoEmail remetente padrão
from_namestringNãoNome de remetente padrão
descripcionstringNãoDescrição
image_logostringNãoURL do logotipo

Exemplo

curl -X PUT "https://envios.arrobamail.com/v3/api/lists/{ID}" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "nombre": "...",
  "from_email": "...",
  "from_name": "...",
  "descripcion": "...",
  "image_logo": "..."
}'

Resposta 200

{ "success": true }
DELETE/lists/:idUsuário

Excluir lista permanentemente

Exclusão permanente e irreversível. Assinantes e campos personalizados são excluídos junto com a lista.

Parâmetros de rota

NomeDescrição
idID numérico da lista

Exemplo

curl -X DELETE "https://envios.arrobamail.com/v3/api/lists/{ID}" \
  -H "Authorization: Bearer $TOKEN"

Resposta 200

{ "success": true }
POST/lists/:encid/exportUsuário

Exportar assinantes para CSV/XLSX

Parâmetros de rota

NomeDescrição
encidID codificado da lista

Request body · application/json

NomeTipoObrig.Descrição
statusstringNãoBKL, UNSUS, NOT_CONFIRMED, ACTIVE, SUBSCRIBED

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/lists/{ENCID}/export" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "..."
}'

Resposta 200

{ "fileName": "export-45.xlsx" }
GET/lists/:id/customFieldsUsuário

Listar campos personalizados da lista

Parâmetros de rota

NomeDescrição
idID numérico da lista

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/lists/{ID}/customFields" \
  -H "Authorization: Bearer $TOKEN"
POST/lists/:id/customFieldsUsuário

Criar campo personalizado

Nome único na lista. Limite de campos não excedido.

Parâmetros de rota

NomeDescrição
idID numérico da lista

Request body · application/json

NomeTipoObrig.Descrição
namestringSimNome do campo
typestringSimtext, dropdown, radio, date, multiline
requiredbooleanNãoDefault: false
internalbooleanNãoCampo interno, não visível ao assinante
defaultstringNãoValor padrão
optionsstring[]NãoOpções para dropdown/radio

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/lists/{ID}/customFields" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "...",
  "type": "...",
  "required": true,
  "internal": true,
  "default": "...",
  "options": ["..."]
}'
POST/lists/:id/customFields/copyUsuário

Copiar campos personalizados de outra lista

Parâmetros de rota

NomeDescrição
idID da lista de destino

Request body · application/json

NomeTipoObrig.Descrição
sourceListIdnumberSimID da lista de origem

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/lists/{ID}/customFields/copy" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "sourceListId": 0
}'
GET/lists/:id/customField/:fidUsuário

Detalhe do campo personalizado

Parâmetros de rota

NomeDescrição
idID numérico da lista
fidID do campo personalizado

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/lists/{ID}/customField/{FID}" \
  -H "Authorization: Bearer $TOKEN"
PUT/lists/:id/customField/:fidUsuário

Atualizar campo personalizado

Parâmetros de rota

NomeDescrição
idID numérico da lista
fidID do campo personalizado

Request body · application/json

NomeTipoObrig.Descrição
namestringNãoNovo nome do campo
requiredbooleanNãoObrigatório
defaultstringNãoValor padrão
optionsstring[]NãoOpções (dropdown/radio)

Exemplo

curl -X PUT "https://envios.arrobamail.com/v3/api/lists/{ID}/customField/{FID}" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "...",
  "required": true,
  "default": "...",
  "options": ["..."]
}'

Resposta 200

{ "success": true }
DELETE/lists/:id/customField/:fidUsuário

Excluir campo personalizado

Parâmetros de rota

NomeDescrição
idID numérico da lista
fidID do campo personalizado

Exemplo

curl -X DELETE "https://envios.arrobamail.com/v3/api/lists/{ID}/customField/{FID}" \
  -H "Authorization: Bearer $TOKEN"

Resposta 200

{ "success": true }
GET/lists/:id/subscribersUsuário

Listar assinantes com paginação

Parâmetros de rota

NomeDescrição
idID numérico da lista

Query params

NomeTipoObrig.DefaultDescrição
limitnumberNão50Itens por página (máx. 100)
offsetnumberNão0Deslocamento
qstringNão-Busca por email ou nome
statusstringNão-active, unsubscribed, blocked, pending
sortBystringNãoemailemail, nombre, cdate, lastOpen
sortDirstringNãoascasc ou desc

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/lists/{ID}/subscribers" \
  -H "Authorization: Bearer $TOKEN"

Resposta 200

{
  "paging": { "total": 3500, "limit": 50, "offset": 0, "pages": 70 },
  "list": [
    {
      "id": 5001, "sid": "sX9kL2",
      "email": "[email protected]",
      "nombre": "João Silva",
      "status": "active",
      "confirmado": true,
      "cdate": "2025-03-15 10:22:00"
    }
  ]
}
POST/lists/:id/subscribersUsuário

Criar assinante na lista

Parâmetros de rota

NomeDescrição
idID numérico da lista

Request body · application/json

NomeTipoObrig.Descrição
emailstringSimEmail do assinante
nombrestringNãoNome
confirmadobooleanNãoDefault: true
customFieldsobjectNão{ "fieldId": "value" }

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/lists/{ID}/subscribers" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "email": "...",
  "nombre": "...",
  "confirmado": true,
  "customFields": {}
}'

Erros

StatusCodeDescrição
400email_requiredEmail obrigatório
400invalid_email_formatFormato de email inválido
409email_already_existsO email já existe na lista
GET/lists/:id/subscribers/:sidUsuário

Detalhe do assinante com campos personalizados

Parâmetros de rota

NomeDescrição
idID numérico da lista
sidID do assinante

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/lists/{ID}/subscribers/{SID}" \
  -H "Authorization: Bearer $TOKEN"
GET/lists/:id/subscribers/:sid/historyUsuário

Histórico de atividade do assinante

Parâmetros de rota

NomeDescrição
idID numérico da lista
sidID do assinante

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/lists/{ID}/subscribers/{SID}/history" \
  -H "Authorization: Bearer $TOKEN"
GET/lists/:id/subscribers/:sid/campaignsUsuário

Campanhas recebidas pelo assinante (últimos 90 dias)

Parâmetros de rota

NomeDescrição
idID numérico da lista
sidID do assinante

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/lists/{ID}/subscribers/{SID}/campaigns" \
  -H "Authorization: Bearer $TOKEN"
PUT/lists/:id/subscribers/:sidUsuário

Atualizar dados do assinante

Parâmetros de rota

NomeDescrição
idID numérico da lista
sidID do assinante

Request body · application/json

NomeTipoObrig.Descrição
nombrestringNãoNome
customFieldsobjectNão{ "fieldId": "value" }

Exemplo

curl -X PUT "https://envios.arrobamail.com/v3/api/lists/{ID}/subscribers/{SID}" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "nombre": "...",
  "customFields": {}
}'

Resposta 200

{ "success": true }
POST/lists/:id/tools/bulk-unsubscribeUsuário

Cancelar inscrição/excluir assinantes em massa

Operação assíncrona. Progresso em tempo real via Socket.io (evento: bulkOperationProgress).

Parâmetros de rota

NomeDescrição
idID numérico da lista

Request body · application/json

NomeTipoObrig.Descrição
emailsstring[]SimArray de emails a processar
actionstringSim"unsubscribe" ou "delete"
scopestringSim"list" (somente esta lista) ou "global" (todas as listas)

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/lists/{ID}/tools/bulk-unsubscribe" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "emails": ["..."],
  "action": "...",
  "scope": "..."
}'

Resposta 200

{ "started": true }
POST/lists/:id/tools/remove-inactiveUsuário

Excluir assinantes inativos

Operação assíncrona com progresso via Socket.io.

Parâmetros de rota

NomeDescrição
idID numérico da lista

Request body · application/json

NomeTipoObrig.Descrição
daysnumberSimDias de inatividade para considerar inativo
actionstringSim"unsubscribe" ou "delete"

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/lists/{ID}/tools/remove-inactive" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "days": 0,
  "action": "..."
}'

Resposta 200

{ "started": true }
GET/lists/:id/tools/preview-inactiveUsuário

Pré-visualização de assinantes inativos

Parâmetros de rota

NomeDescrição
idID numérico da lista

Query params

NomeTipoObrig.DefaultDescrição
daysnumberSim-Dias de inatividade

Exemplo

curl -X GET "https://envios.arrobamail.com/v3/api/lists/{ID}/tools/preview-inactive" \
  -H "Authorization: Bearer $TOKEN"

Resposta 200

{
  "totalSubscribers": 3500,
  "inactiveCount": 420,
  "activeCount": 3080,
  "inactivePercentage": 12.0
}
POST/lists/tools/inactive-cleanup/previewUsuário

Pré-visualização de limpeza flexível de contatos inativos

Permite pré-visualizar contatos inativos em uma ou mais listas antes de executar a operação.

Request body · application/json

NomeTipoObrig.Descrição
listIdsarraySimIDs numéricos ou codificados de listas
daysnumberSim30, 60, 90, 120, 180 ou 365
activitystringSimopens_or_clicks, opens ou clicks

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/lists/tools/inactive-cleanup/preview" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "listIds": [],
  "days": 0,
  "activity": "..."
}'

Resposta 200

{ "summary": { "totalAffected": 85, "totalEligible": 1200 }, "breakdown": [], "sample": [] }
POST/lists/tools/inactive-cleanup/executeUsuário

Executar limpeza flexível de contatos inativos

Operação assíncrona com progresso via Socket.io.

Request body · application/json

NomeTipoObrig.Descrição
listIdsarraySimIDs numéricos ou codificados de listas
daysnumberSim30, 60, 90, 120, 180 ou 365
activitystringSimopens_or_clicks, opens ou clicks
actionstringSimunsubscribe ou delete

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/lists/tools/inactive-cleanup/execute" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "listIds": [],
  "days": 0,
  "activity": "...",
  "action": "..."
}'

Resposta 200

{ "operationId": "abc123", "totalFound": 85, "message": "processing" }
POST/lists/:id/tools/import/analyzeUsuário

Analisar arquivo de importação

Content-Type: multipart/form-data. Suporta .xlsx, .xls, .csv, .txt (máx. 20MB) ou texto simples no campo "text". Retorna formato, headers, preview e fileId.

Parâmetros de rota

NomeDescrição
idID numérico da lista

Request body · multipart/form-data

NomeTipoObrig.Descrição
filefileNãoArquivo .xlsx, .xls, .csv ou .txt (máx. 20MB)
textstringNãoTexto simples com emails (alternativa a file)

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/lists/{ID}/tools/import/analyze" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "file": "<archivo>",
  "text": "..."
}'

Erros

StatusCodeDescrição
400no_inputNenhum arquivo ou texto foi enviado
POST/lists/:id/tools/import/executeUsuário

Executar importação de assinantes

Processa em segundo plano com progresso em tempo real via Socket.io (evento: importProgress). Requer fileId (da análise anterior) ou text.

Parâmetros de rota

NomeDescrição
idID numérico da lista

Request body · application/json

NomeTipoObrig.Descrição
fileIdstringNãoID do arquivo analisado anteriormente
textstringNãoTexto simples alternativo
columnMappingobjectSimMapeamento de colunas { columnIndex: fieldName }

Exemplo

curl -X POST "https://envios.arrobamail.com/v3/api/lists/{ID}/tools/import/execute" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "fileId": "...",
  "text": "...",
  "columnMapping": {}
}'

Resposta 200

{ "started": true }

Erros

StatusCodeDescrição
400no_inputNenhum dado foi enviado
400no_email_columnColuna de email não mapeada
400file_not_foundFileId não existe ou expirou

Comece com o arrobaMail
em menos de 5 minutos.

Plano Gratuito, gerações de IA incluídas, sem cartão de crédito e suporte real em português.

Testar grátis agora
WhatsAppA equipe responde