Appearance
ENVIAR_CLIENTES_INTERVALO
Envia os clientes criados ou modificados no intervalo para a Maggu. Mantém a base de clientes sincronizada de forma incremental, sem precisar re-enviar tudo.
Argumentos: de, ate (datetime ISO 8601 UTC)
Comando tipo: com intervalo de datas
Payload recebido
json
{
"id": 5002,
"tipo": "ENVIAR_CLIENTES_INTERVALO",
"argumentos": {
"de": "2026-05-12T00:00:00Z",
"ate": "2026-05-13T23:59:59Z"
},
"criadoEm": "2026-05-13T10:05:00Z"
}Implementação
python
def enviar_clientes_intervalo(cmd):
clientes = erp.buscar_clientes_criados_ou_modificados(cmd["argumentos"]["de"], cmd["argumentos"]["ate"])
for lote in chunk(clientes, 400):
session.post("api/v3/clientes/registrar-em-lote", json={"comandoId": cmd["id"], "conteudo": lote})Chamada à API Maggu
POST /v3/clientes/registrar-em-lote
json
{
"comandoId": 5002,
"conteudo": [
{
"cpfCnpj": "123.456.789-00",
"nomeSimples": "Maria",
"nomeCompleto": "Maria Oliveira",
"email": "maria@exemplo.com",
"telefone": "11999990000",
"celular": "11999990000",
"dataDeNascimento": "1990-06-15",
"sexo": "feminino",
"codigoExterno": "CLI-001"
}
]
}| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
cpfCnpj | string | Sim | CPF ou CNPJ do cliente — chave de idempotência |
nomeSimples | string | Não | Nome curto (até 256 chars) |
nomeCompleto | string | Não | Nome completo (até 256 chars) |
email | string | Não | E-mail (até 128 chars) |
dataDeNascimento | date | Não | Formato ISO 8601: YYYY-MM-DD |
sexo | string | Não | masculino, feminino, nao-informado |
codigoExterno | string | Não | Referência interna do ERP |
Respostas:
| Código | Significado |
|---|---|
202 Accepted | Lote em processamento |
400 Bad Request | Erro de validação |
403 Forbidden | Token inválido |
Endereços
Se o ERP armazena endereços dos clientes, inclua o array enderecos em cada registro. Campos obrigatórios por endereço: cep, logradouro, numero, bairro, cidade, estado.