Skip to content

ENVIAR_CONTRAPROVA_DEVOLUCOES_INTERVALO

Envia totalizadores diários de devoluções para reconciliação. Funciona da mesma forma que a contra-prova de vendas, mas para o fluxo de estornos.

Argumentos: de, ate (datetime ISO 8601 UTC)

Comando tipo: com intervalo de datas

Payload recebido

json
{
  "id": 5010,
  "tipo": "ENVIAR_CONTRAPROVA_DEVOLUCOES_INTERVALO",
  "argumentos": {
    "de": "2026-05-13T00:00:00Z",
    "ate":    "2026-05-13T23:59:59Z"
  },
  "criadoEm": "2026-05-13T10:45:00Z"
}

Implementação

python
from datetime import datetime, timedelta

def enviar_contraprova_devolucoes(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_devolucoes(dia)
        session.post("api/v3/devolucoes/contraprovas", json={
            "dia":                   dia.isoformat(),
            "numeroDeDevolucoes":    totais["numero_de_devolucoes"],
            "unidadesDevolvidas":    totais["unidades_devolvidas"],
            "valorTotalSemDesconto": f"{totais['valor_sem_desconto']:.2f}",
            "valorTotalComDesconto": f"{totais['valor_com_desconto']:.2f}",
        })
        dia += timedelta(days=1)

Chamada à API Maggu

POST /v3/devolucoes/contraprovas

json
{
  "dia": "2026-05-13",
  "numeroDeDevolucoes": 3,
  "unidadesDevolvidas": 5,
  "valorTotalSemDesconto": "44.50",
  "valorTotalComDesconto": "37.50"
}
CampoTipoObrigatórioDescrição
diadateSimData das devoluções (YYYY-MM-DD)
numeroDeDevolucoesintegerSimQuantidade de devoluções no dia
unidadesDevolvidasintegerSimTotal de unidades devolvidas
valorTotalSemDescontodecimalSimValor bruto devolvido
valorTotalComDescontodecimalSimValor líquido devolvido

Respostas:

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