Pular para o conteúdo principal

Importar Contatos via CSV

Metodo

POST https://oapi.ogmma.com.br/v1/contacts/import

Conceituacao

Este endpoint permite importar multiplos contatos de uma vez a partir de um arquivo CSV. E a forma mais eficiente de popular sua base de contatos quando voce ja possui uma lista existente.

A importacao e processada de forma assincrona — a API retorna imediatamente com um ID de importacao, e voce pode acompanhar o progresso consultando o status.


Atributos

AtributoTipoObrigatorioDescricao
AuthorizationstringSimBearer {API_KEY} - Chave de autenticacao
Content-TypestringSimmultipart/form-data

Body (multipart/form-data)

AtributoTipoObrigatorioDescricao
filefileSimArquivo CSV (max 5MB)
tagsstringNaoTags a aplicar em todos os contatos importados (separadas por virgula)
skipDuplicatesbooleanNaoSe true, ignora contatos com telefone duplicado. Default: true

Formato do CSV

O arquivo deve conter um header na primeira linha com os nomes dos campos. Campos obrigatorios: name e phone.

name,phone,email,tags
Maria Silva,5511999990001,maria@email.com,"vip,cliente"
Joao Santos,5511999990002,joao@email.com,"lead"
Ana Oliveira,5511999990003,,

Campos suportados

CampoObrigatorioDescricao
nameSimNome do contato
phoneSimNumero no formato DDI+DDD+NUM (ex: 5511999990001)
emailNaoEndereco de e-mail
tagsNaoTags separadas por virgula (entre aspas no CSV)

Request

curl -X POST "https://oapi.ogmma.com.br/v1/contacts/import" \
-H "Authorization: Bearer {API_KEY}" \
-F "file=@contatos.csv" \
-F "tags=importacao-jan-2025" \
-F "skipDuplicates=true"

Response

202 - Aceito

A importacao foi aceita e sera processada de forma assincrona.

{
"importId": "imp_a1b2c3d4e5f6",
"status": "PROCESSING",
"totalRows": 150,
"message": "Importacao iniciada. Acompanhe o progresso consultando o status."
}

400 - Dados invalidos

{
"message": "Formato de arquivo invalido. Envie um arquivo CSV.",
"code": "INVALID_FILE_FORMAT"
}

413 - Arquivo muito grande

{
"message": "O arquivo excede o tamanho maximo permitido (5MB).",
"code": "FILE_TOO_LARGE"
}

Consultar status da importacao

GET https://oapi.ogmma.com.br/v1/contacts/import/:importId

curl -X GET "https://oapi.ogmma.com.br/v1/contacts/import/{importId}" \
-H "Authorization: Bearer {API_KEY}"

Response

{
"importId": "imp_a1b2c3d4e5f6",
"status": "COMPLETED",
"totalRows": 150,
"imported": 142,
"skipped": 5,
"failed": 3,
"errors": [
{ "row": 45, "phone": "invalid", "reason": "Numero de telefone invalido" },
{ "row": 89, "phone": "5511", "reason": "Numero de telefone muito curto" },
{ "row": 120, "phone": "", "reason": "Campo phone obrigatorio" }
]
}

Status da importacao

StatusDescricao
PROCESSINGA importacao esta em andamento
COMPLETEDTodos os registros foram processados
FAILEDA importacao falhou (arquivo corrompido, formato invalido, etc.)

Limites

ParametroLimite
Tamanho do arquivo5 MB
Linhas por arquivo10.000
Importacoes simultaneas1 por instituicao

Boas praticas

  • Valide o formato do CSV antes de enviar (encoding UTF-8, separador virgula)
  • Use skipDuplicates=true para evitar erros em reimportacoes
  • Aplique tags durante a importacao para identificar a origem dos contatos
  • Consulte o status apos a importacao para tratar erros linha a linha