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)

Herda de ComandoComIntervaloDeDatas

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 .NET

csharp
public class EnviarContraprovaVendasIntervaloComando : ComandoComIntervaloDeDatas
{
    protected override async Task ExecutarAsync(CancellationToken ct)
    {
        // Iterar dia a dia dentro do intervalo
        for (var dia = Argumentos.De.Date;
             dia <= Argumentos.Ate.Date;
             dia = dia.AddDays(1))
        {
            var totais = await _erp.CalcularTotaisVendasAsync(dia, ct);

            var requisicao = new RestRequest("api/v3/vendas/contraprovas", Method.Post);
            requisicao.AddJsonBody(new
            {
                dia                     = dia.ToString("yyyy-MM-dd"),
                numeroDeVendas        = totais.NumeroDeVendas,
                unidadesVendidas       = totais.UnidadesVendidas,
                valorTotalSemDesconto = totais.ValorSemDesconto.ToString("F2"),
                valorTotalComDesconto = totais.ValorComDesconto.ToString("F2"),
            });
            await _provedor.Client.PostAsync(requisicao, ct);
        }
    }
}

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.