</Padrões e Modelos>

Requests and Responses

Todas as requisições tem que ser originadas do parceiro, cada requisição e uma requisição HTTP direcionada para um endpoint. As chamada envolve apenas parâmetros de URL HTTP como por exemplo:

    https://api.integracommerce.com.br/api/Order?page=1&perPage=99&status=PROCESSING&startDate=2023-07-17T10:21:50&endDate=2023-07-18T23:21:50

Ao olhar para o pedido acima, vemos que todos os parâmetros necessários já estão incluídos na URL . A API retorna as informações que procuram, em formato JSON.

Todos os métodos retornam um documento de resposta, que indica o status da operação (tanto sucesso ou erro).

Limite de Requests

Consultando endpoint abaixo é possível saber o limite de requisições por Hora e Minuto de cada verbo.

GET https://api.integracommerce.com.br/api/EndPointLimit

Caso exceda o limite você receberá um erro 429: Requisição excede a quantidade máxima de chamadas permitidas à API.


Quantidade de Itens por Request

Get All 100
Update 100

Paginação

Para obter resultados paginados a serem retornados pela API, o parceiro deverá informar os seguintes parâmetros:

page: pagina buscada

perPage: Quantidade de Produtos por página. (ATENÇÃO: Número máximo de itens retornados é 100)

Exemplo de busca utilizando page e perPage:

GET https://api.integracommerce.com.br/api/Order?page=1&perPage=10

No exemplo acima, a API Magalu Marketplace retornará a primeira pagina com 10 Pedidos.

O recurso de filas não possuem paginação. É necessário confirmar o recebimento do registro para dar lugar a novos registros.

Marketplace

Marketplace Name Store
MAGAZINE LUIZA magazineluiza magazineluiza

Imagens do Sku

As imagens que acompanham cada SKU, devem obedecer os seguintes critérios de formato e resolução.

Formato: somente JPEG

Tamanho mínimo: 1000 x 1000 px

Tamanho máximo: 1500 x 1500 px

Resolução:

Mínima Máxima
200 dpi 300 dpi

Frete Magazine Luiza

Cálculo de frete

Você pode utilizar o serviço de frete do Magalu Marketplace ou utilizar seu próprio serviço de frete. O Cálculo de frete é realizado via uma requisição POST enviada pelo Magazine Luiza para a API do vendedor com objetivo de recuperar informações referente entrega de um produto para uma determinada região.


Códigos de erro

A tabela abaixo contém os erros que podem ser retornados pela API de frete do vendedor e que serão interpretados pelo Magazine Luiza.

HTTP status code Código Métodos Descrição
400 delivery_not_available POST Não entrega na região informada
400 invalid_zipcode POST CEP inválido
409 out_of_stock POST Produto fora de estoque

Requisição para Cálculo de frete

O Magazine Luiza irá enviar uma requisição a API do vendedor solicitando o Cálculo de frete conforme exemplo abaixo:

{
    "session_id": "eb7cd60c-13c7-4247-a2f8-3d7faa4693b5",
    "zipcode": "05036123",
    "items": [
        {
            "sku": "123123123",
            "quantity": 2,
            "price": "10.00",
            "dimensions": {
                "width": "0.570",
                "depth": "0.400",
                "weight": "0.400",
                "height": "0.200"
            }
        }
    ]
}

session_id: ID único da sessão do usuário

dimensions.width, dimensions.depth, dimensions.height: Valores expressos em metros

dimensions.weight: Valor em Quilograma.


Respostas do Cálculo de frete

A API de frete do vendedor deverá retornar a requisição de Cálculo de frete enviada pelo Magazine Luiza conforme os exemplos abaixo.

Atenção: O tipo de entrega, campo type, deve ser definido pelo vendedor para cada transportadora. Também deve ser definida uma única transportadora com tipo convencional conventional, esta transportadora que será utilizada para resposta pelo site Magalu.


type Descrição
conventional Entrega Convencional


  • Sucesso - Status code 200 (application/json)

      {
          "packages": [
              {
                  "items": [
                      {
                          "sku": "123123123",
                          "quantity": 2
                      }
                  ],
                  "delivery_options": [
                      {
                          "id": "delivery_option_id",
                          "type": "conventional",
                          "name": "Entrega normal",
                          "price": "7.00",
                          "delivery_days": 14
                      }
                  ]
              }
          ]
      }
    
  • Entrega restrita - Status code 200 (application/json)

      {
          "packages": [
              {
                  "items": [
                      {
                          "sku": "123123123",
                          "quantity": 2
                      }
                  ],
                  "delivery_options": [
                      {
                          "id": "delivery_option_id",
                          "type": "conventional",
                          "name": "Entrega normal",
                          "price": "7.00",
                          "delivery_days": 14,
                          "tags": ["restricted"] 
                      }
                  ]
              }
          ]
      }
    
  • CEP inválido - Status code 400 (application/json)

      {
          "message": "Invalid zipcode",
          "code": "invalid_zipcode"
      }
    
  • Não entrega na região - Status code 400 (application/json)

      {
          "message": "Delivery not available",
          "code": "delivery_not_available",
          "items": [
              {
                  "sku": "2342346",
                  "available_quantity": 3,
              },
              {
                  "sku": "6568345",
                  "available_quantity": 1,
              }
          ]
      }
    
  • Item fora de estoque - Status code 409 (application/json)

      {
          "message": "Items sem estoque",
          "code": "out_of_stock",
          "items": [
              {
                  "sku": "2342346",
                  "available_quantity": 3,
              },
              {
                  "sku": "6568345",
                  "available_quantity": 1,
              }
          ]
      }
    

Para as respostas Não entrega na região e Item fora de estoque o parâmetro available_quantity em items é opcional.

API EXPLORER

O API Explorer é uma ferramenta para consumo e visualização de serviços RESTful. E seu grande objetivo é permitir que a documentação possa evoluir no mesmo ritmo da implementação, já que pode ser gerada automaticamente com base em anotações do código. Ela permite aos developers interagirem com as APIs em sandbox de forma muito intuitiva, sem exigir conhecimento da implementação.