Skip to content

ENVIAR_COMPRAS_INTERVALO

Envia as notas de entrada (compras de fornecedores) do período para a Maggu. Permite rastrear o custo de aquisição dos produtos ao longo do tempo.

Argumentos: de, ate (datetime ISO 8601 UTC)

Herda de ComandoComIntervaloDeDatas

Payload recebido

json
{
  "id": 5008,
  "tipo": "ENVIAR_COMPRAS_INTERVALO",
  "argumentos": {
    "de": "2026-05-01T00:00:00Z",
    "ate":    "2026-05-13T23:59:59Z"
  },
  "criadoEm": "2026-05-13T10:35:00Z"
}

Implementação .NET

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

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

Chamada à API Maggu

POST /v3/compras/registrar-em-lote

json
{
  "comandoId": 5008,
  "conteudo": [
    {
      "chaveDeAcesso": "35260512345678000195550010000001231234567890",
      "codigoExterno": "NF-2026-0042",
      "cpfCnpjRemetente": "12345678000195",
      "cpfCnpjDestinatario": "11444777000161",
      "dataDeEmissao": "2026-05-10T08:00:00Z",
      "valorTotalBruto": "1250.00",
      "valorTotalLiquido": "1187.50",
      "itens": [
        {
          "ean": "7891000315507",
          "quantidade": 100,
          "valorTotal": "420.00"
        }
      ]
    }
  ]
}
CampoTipoObrigatórioDescrição
chaveDeAcessostringSimChave da NF-e (44 dígitos)
codigoExternostringSimCódigo interno da nota no ERP
cpfCnpjRemetentestringSimCNPJ do fornecedor
cpfCnpjDestinatariostringSimCNPJ da loja
dataDeEmissaodatetimeSimData de emissão da nota
valorTotalBrutodecimalSimValor bruto da nota
valorTotalLiquidodecimalSimValor líquido (após descontos/impostos)
itens[].eanstringSimEAN do produto comprado
itens[].quantidadeintegerSimQuantidade (mínimo 1)
itens[].valorTotaldecimalSimValor total do item na nota

Respostas:

CódigoSignificado
204 No ContentCompras registradas com sucesso
400 Bad RequestErro de validação
403 ForbiddenToken inválido