Skip to content

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"
    }
  ]
}
CampoTipoObrigatórioDescrição
cpfCnpjstringSimCPF ou CNPJ do cliente — chave de idempotência
nomeSimplesstringNãoNome curto (até 256 chars)
nomeCompletostringNãoNome completo (até 256 chars)
emailstringNãoE-mail (até 128 chars)
dataDeNascimentodateNãoFormato ISO 8601: YYYY-MM-DD
sexostringNãomasculino, feminino, nao-informado
codigoExternostringNãoReferência interna do ERP

Respostas:

CódigoSignificado
202 AcceptedLote em processamento
400 Bad RequestErro de validação
403 ForbiddenToken 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.