POST api/v1/crm/contato

CRM: cria ou atualiza contato (upsert)

Limite: 120 requisições por minuto

Descrição

Cria ou atualiza um contato do CRM (upsert). A regra é: se id for informado, atualiza aquele contato; senão, se o email casar um contato existente da loja, atualiza-o; caso contrário, cria um novo.

Na atualização o merge é NÃO-DESTRUTIVO: campos não enviados preservam o valor atual (nada é apagado por omissão). A lista informada em idLista é adicionada (união) — nunca remove listas existentes.

Obs.: Utilizar tokenAPI (Authorization: Bearer). Corpo em application/json (ou form-data).

Limite de requisições: 120 requisições por minuto.

Códigos de erro:

Código Descrição
400 Requisição inválida — informe ao menos nome, email ou telefone.
401 Não autorizado — Token ausente, inválido, inativo ou sem permissão.
429 Limite de requisições ultrapassada.

Body da Requisição

JSON
{
  "id": "",
  "nome": "Maria Souza",
  "email": "maria@empresa.com.br",
  "telefone": "5511999998888",
  "empresa": "Empresa Exemplo Ltda",
  "idEmpresa": "",
  "cargo": "Compradora",
  "documento": "12345678901",
  "cidade": "São Paulo",
  "uf": "SP",
  "tags": ["cliente-vip"],
  "idLista": "507f1f77bcf86cd799439077",
  "origem": "api",
  "consentimentoEmail": true
}

Parâmetros de Entrada

Campo Descrição Tipo Obrigatório
idForça atualização deste contato. Vazio = cria ou casa por e-mail.stringnão
nomeNome do contato.stringcondic.
emailE-mail — usado no dedup quando não há id.stringcondic.
telefoneTelefone do contato.stringcondic.
empresaNome da empresa (texto).stringnão
idEmpresaVincula a uma empresa (conta CRM) existente.stringnão
cargoCargo do contato.stringnão
documentoCPF/CNPJ.stringnão
cidadeCidade.stringnão
ufUF (2 letras).stringnão
tagsLista de tags (array) ou texto separado por vírgula.array/stringnão
idListaAdiciona o contato a esta lista (união).stringnão
origemOrigem do contato. Padrão "api".stringnão
consentimentoEmailConsentimento de e-mail (LGPD).boolnão

Obrigatório: informe ao menos um entre nome, email ou telefone.

Exemplo de uso:
POST api/v1/crm/contato

Parâmetros de Retorno

Campo Descrição Tipo
idIdentificador do contato criado ou atualizado.string
criadotrue se foi criado; false se foi atualizado.bool

Exemplo de Resposta

JSON
{
  "id": "507f1f77bcf86cd799439011",
  "criado": true
}