POST
api/v1/crm/empresa
CRM: cria ou atualiza empresa (upsert)
Limite: 120 requisições por minuto
Descrição
Cria ou atualiza uma empresa (conta) do CRM (upsert). A regra é: se id for informado, atualiza; senão, se o documento (CNPJ) casar uma empresa existente da loja, atualiza-a; caso contrário, cria uma nova.Na atualização o merge é NÃO-DESTRUTIVO: campos não enviados preservam o valor atual.
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 — nome obrigatório na criação. |
| 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": "Empresa Exemplo Ltda",
"documento": "12345678000199",
"site": "https://empresa.com.br",
"email": "contato@empresa.com.br",
"telefone": "1133334444",
"cidade": "São Paulo",
"uf": "SP",
"setor": "Varejo",
"porte": "Média",
"observacoes": "Conta estratégica."
}
Parâmetros de Entrada
| Campo | Descrição | Tipo | Obrigatório |
| id | Força atualização desta empresa. Vazio = cria ou casa por documento. | string | não |
| nome | Nome/razão social. Obrigatório na criação. | string | condic. |
| documento | CNPJ — usado no dedup quando não há id. | string | não |
| site | Site. | string | não |
| E-mail. | string | não | |
| telefone | Telefone. | string | não |
| cidade | Cidade. | string | não |
| uf | UF (2 letras). | string | não |
| setor | Setor de atuação. | string | não |
| porte | Porte (ex.: Pequena, Média, Grande). | string | não |
| observacoes | Observações livres. | string | não |
Exemplo de uso:
POST api/v1/crm/empresa
Parâmetros de Retorno
| Campo | Descrição | Tipo |
| id | Identificador da empresa criada ou atualizada. | string |
| criado | true se foi criada; false se foi atualizada. | bool |
Exemplo de Resposta
JSON
{
"id": "507f1f77bcf86cd799439abc",
"criado": true
}