Skip to content

ENVIAR_CONTRAPROVA_VENDAS_INTERVALO

Envia totalizadores diários de vendas para que a Maggu reconcilie os dados recebidos via ENVIAR_VENDAS_INTERVALO. Se o total enviado difere do calculado pela Maggu, a equipe é alertada sobre inconsistências.

Argumentos: de, ate (datetime ISO 8601 UTC)

Comando tipo: com intervalo de datas

Payload recebido

json
{
  "id": 5009,
  "tipo": "ENVIAR_CONTRAPROVA_VENDAS_INTERVALO",
  "argumentos": {
    "de": "2026-05-13T00:00:00Z",
    "ate":    "2026-05-13T23:59:59Z"
  },
  "criadoEm": "2026-05-13T10:40:00Z"
}

Implementação

python
from datetime import datetime, timedelta

def enviar_contraprova_vendas(cmd):
    de  = datetime.fromisoformat(cmd["argumentos"]["de"].replace("Z", "+00:00")).date()
    ate = datetime.fromisoformat(cmd["argumentos"]["ate"].replace("Z", "+00:00")).date()

    dia = de
    while dia <= ate:
        totais = erp.calcular_totais_vendas(dia)
        session.post("api/v3/vendas/contraprovas", json={
            "dia":                    dia.isoformat(),
            "numeroDeVendas":         totais["numero_de_vendas"],
            "unidadesVendidas":       totais["unidades_vendidas"],
            "valorTotalSemDesconto":  f"{totais['valor_sem_desconto']:.2f}",
            "valorTotalComDesconto":  f"{totais['valor_com_desconto']:.2f}",
        })
        dia += timedelta(days=1)

Chamada à API Maggu

POST /v3/vendas/contraprovas

json
{
  "dia": "2026-05-13",
  "numeroDeVendas": 87,
  "unidadesVendidas": 312,
  "valorTotalSemDesconto": "4250.00",
  "valorTotalComDesconto": "3980.50"
}
CampoTipoObrigatórioDescrição
diadateSimData das vendas (YYYY-MM-DD)
numeroDeVendasintegerSimTotal de vendas realizadas no dia
unidadesVendidasintegerSimTotal de unidades vendidas
valorTotalSemDescontodecimalSimValor bruto total
valorTotalComDescontodecimalSimValor líquido total

Respostas:

CódigoSignificado
204 No ContentContra-prova registrada
400 Bad RequestErro de validação
403 ForbiddenToken inválido

Um payload por dia

Envie um payload separado para cada dia do intervalo. A Maggu acumula os totalizadores por data e os compara com os registros de venda individuais recebidos anteriormente.