Skip to content

ENVIAR_DEVOLUCOES_INTERVALO

Envia todas as devoluções realizadas no período para a Maggu. Mantém o histórico de trocas e estornos sincronizado.

Argumentos: de, ate (datetime ISO 8601 UTC)

Herda de ComandoComIntervaloDeDatas

Payload recebido

json
{
  "id": 5007,
  "tipo": "ENVIAR_DEVOLUCOES_INTERVALO",
  "argumentos": {
    "de": "2026-05-01T00:00:00Z",
    "ate":    "2026-05-13T23:59:59Z"
  },
  "criadoEm": "2026-05-13T10:30:00Z"
}

Implementação .NET

csharp
public class EnviarDevolucoesIntervaloComando : ComandoComIntervaloDeDatas
{
    protected override async Task ExecutarAsync(CancellationToken ct)
    {
        var devolucoes = await _erp.BuscarDevolucoesAsync(
            Argumentos.De, Argumentos.Ate, ct);

        foreach (var lote in devolucoes.Chunk(400))
        {
            var requisicao = new RestRequest("api/v3/devolucoes/registrar-em-lote", Method.Post);
            requisicao.AddJsonBody(new { comandoId = Id, conteudo = lote });
            await _provedor.Client.PostAsync(requisicao, ct);
        }
    }
}

Chamada à API Maggu

POST /v3/devolucoes/registrar-em-lote

json
{
  "comandoId": 5007,
  "conteudo": [
    {
      "codigoExterno": "DEV-2026-00001",
      "realizadaEm": "2026-05-10T16:00:00Z",
      "codigoExternoDaVendaOrigem": "VND-2026-00123",
      "codigoExternoDoUsuario": "USR-001",
      "cpfCnpjDoCliente": "123.456.789-00",
      "itens": [
        {
          "ean": "7891000315507",
          "quantidade": 1,
          "precoVenda": "8.90",
          "precoVendaDesconto": "7.50",
          "custoCompra": "4.20"
        }
      ]
    }
  ]
}
CampoTipoObrigatórioDescrição
codigoExternostringSimChave única da devolução no ERP
realizadaEmdatetimeSimMomento da devolução
codigoExternoDaVendaOrigemstringNãoVenda que originou a devolução
codigoExternoDoUsuariostringNãoUsuário que processou a devolução
cpfCnpjDoClientestringNãoCliente que devolveu
itens[].eanstringSimEAN do produto devolvido
itens[].quantidadeintegerSimQuantidade devolvida
itens[].precoVendadecimalSimPreço unitário original
itens[].precoVendaDescontodecimalSimPreço com desconto original
itens[].custoCompradecimalSimCusto unitário

Respostas:

CódigoSignificado
202 AcceptedLote em processamento
400 Bad RequestErro de validação
403 ForbiddenToken inválido