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)

Herda de ComandoComIntervaloDeDatas

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

csharp
public class EnviarContraprovaDevolucoesIntervaloComando : ComandoComIntervaloDeDatas
{
    protected override async Task ExecutarAsync(CancellationToken ct)
    {
        for (var dia = Argumentos.De.Date;
             dia <= Argumentos.Ate.Date;
             dia = dia.AddDays(1))
        {
            var totais = await _erp.CalcularTotaisDevolucoesAsync(dia, ct);

            var requisicao = new RestRequest("api/v3/devolucoes/contraprovas", Method.Post);
            requisicao.AddJsonBody(new
            {
                dia                      = dia.ToString("yyyy-MM-dd"),
                numeroDeDevolucoes     = totais.NumeroDeDevolucoes,
                unidadesDevolvidas      = totais.UnidadesDevolvidas,
                valorTotalSemDesconto = totais.ValorSemDesconto.ToString("F2"),
                valorTotalComDesconto = totais.ValorComDesconto.ToString("F2"),
            });
            await _provedor.Client.PostAsync(requisicao, ct);
        }
    }
}

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