Verificação em Lote

O endpoint de verificação em lote permite validar múltiplos endereços de email em uma única requisição. Ideal para limpar listas de contatos, validar importações de CSV ou processar filas de cadastros.

Endpoint

POST https://mail.flowsales.online/api/v1/verify/batch

Limite por requisição

Cada requisição batch aceita no máximo 50 emails. Para listas maiores, divida em múltiplas requisições ou utilize a verificação em lote via dashboard (upload de CSV).

Requisição

Envie um JSON com o campo emails contendo um array de endereços a serem verificados.

Body

JSON
{
  "emails": [
    "joao@empresa.com.br",
    "maria@gmail.com",
    "contato@loja.com",
    "fake@dominioinvalido.xyz",
    "temp@mailinator.com"
  ]
}
Campo Tipo Obrigatório Descrição
emails array Sim Array de endereços de email (mínimo 1, máximo 50).

Exemplo de Requisição

cURL
curl -X POST https://mail.flowsales.online/api/v1/verify/batch \
  -H "Authorization: Bearer fm_live_aBcDeFgHiJkLmNoPqRsTuVwXyZ012345" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "emails": [
      "joao@empresa.com.br",
      "maria@gmail.com",
      "contato@loja.com"
    ]
  }'

Resposta

A resposta contém um objeto com metadados do lote e um array results onde cada elemento segue o mesmo formato da verificação única.

JSON — 200 OK
{
  "total": 3,
  "summary": {
    "deliverable": 2,
    "undeliverable": 0,
    "risky": 1,
    "unknown": 0
  },
  "results": [
    {
      "email": "joao@empresa.com.br",
      "verdict": "deliverable",
      "score": 95,
      "checks": {
        "syntax": true,
        "mx_records": true,
        "smtp_valid": true,
        "deliverable": true
      },
      "details": {
        "domain": "empresa.com.br",
        "username": "joao",
        "free": false,
        "disposable": false,
        "role_account": false,
        "catch_all": false,
        "mx_host": "mx1.empresa.com.br",
        "suggestion": null
      },
      "meta": {
        "cached": false,
        "latency_ms": 312,
        "verified_at": "2026-03-01T14:30:00Z"
      }
    },
    {
      "email": "maria@gmail.com",
      "verdict": "deliverable",
      "score": 98,
      "checks": {
        "syntax": true,
        "mx_records": true,
        "smtp_valid": true,
        "deliverable": true
      },
      "details": {
        "domain": "gmail.com",
        "username": "maria",
        "free": true,
        "disposable": false,
        "role_account": false,
        "catch_all": false,
        "mx_host": "gmail-smtp-in.l.google.com",
        "suggestion": null
      },
      "meta": {
        "cached": true,
        "latency_ms": 2,
        "verified_at": "2026-03-01T10:15:00Z"
      }
    },
    {
      "email": "contato@loja.com",
      "verdict": "risky",
      "score": 45,
      "checks": {
        "syntax": true,
        "mx_records": true,
        "smtp_valid": true,
        "deliverable": true
      },
      "details": {
        "domain": "loja.com",
        "username": "contato",
        "free": false,
        "disposable": false,
        "role_account": true,
        "catch_all": true,
        "mx_host": "mx.loja.com",
        "suggestion": null
      },
      "meta": {
        "cached": false,
        "latency_ms": 458,
        "verified_at": "2026-03-01T14:30:01Z"
      }
    }
  ]
}

Campos da resposta

Campo Tipo Descrição
total integer Quantidade total de emails verificados no lote.
summary object Contagem de resultados agrupados por veredito.
results array Array de resultados individuais, cada um no mesmo formato da verificação única.

Verificação em Lote via Dashboard

Para listas maiores (acima de 50 emails), o FlowMail oferece verificação em lote diretamente pelo dashboard. Essa funcionalidade suporta volumes maiores e processamento assíncrono.

Upload de CSV

Faça upload de um arquivo CSV contendo uma coluna com os endereços de email. O sistema detecta automaticamente a coluna correta.

Colar lista

Cole diretamente uma lista de emails (um por linha) no campo de texto do dashboard. Prático para verificações rápidas de listas pequenas.

Nos dois métodos, o processamento ocorre em segundo plano. Você acompanha o progresso em tempo real no dashboard e recebe uma notificação quando a verificação do lote é concluída.

Erros Comuns

JSON — 422 Unprocessable Entity (limite excedido)
{
  "error": {
    "code": "validation_error",
    "message": "O campo emails não pode ter mais de 50 itens.",
    "details": {
      "emails": ["O campo emails não pode ter mais de 50 itens."]
    }
  }
}
JSON — 422 Unprocessable Entity (email inválido no array)
{
  "error": {
    "code": "validation_error",
    "message": "O campo emails.2 deve ser um endereço de email válido.",
    "details": {
      "emails.2": ["O campo emails.2 deve ser um endereço de email válido."]
    }
  }
}