Criar Pedido
Introdução
Esta seção descreve o processo para criação de pedidos no ambiente de sandbox da Open API Magalu.
Pré-requisitos
Antes de criar um pedido, certifique-se de atender aos seguintes requisitos:
- Utilizar um
channel_id
válido para o ambiente de sandbox; - Informar um ou mais SKUs previamente cadastrados;
- Definir pelo menos um método de pagamento válido.
Métodos de pagamento disponíveis:
pix
credit_card
bank_slip
Escopos Necessários
Para realizar a criação de pedidos, os seguintes escopos de autenticação devem estar habilitados para o token de acesso:
open:order-order-seller:read
open:order-delivery-seller:read
open:order-logistics-seller:read
Exemplo de Requisição
Abaixo, um exemplo de chamada utilizando cURL
para criação de um pedido:
curl --request POST \
--url https://api-sandbox.magalu.com/v1/samples/orders \
--header 'authorization: Bearer {{token}}' \
--header 'content-type: application/json' \
--data '{
"channel": {
"id": "5f62650a-0039-4d65-9b96-266d498c03bd"
},
"deliveries": [
{
"items": [
{
"info": {
"sku": "SKU123456"
},
"quantity": 1
}
]
}
],
"payments": [
{
"method": "pix"
}
]
}'
Neste exemplo:
channel.id
: Identificador do canal no qual o pedido será criado no ambiente de sandbox.deliveries
: Array que contém os dados relacionados à entrega.items
: Lista de itens incluídos no pedido.info.sku
: SKU do produto a ser adicionado.quantity
: Quantidade solicitada do item.
payments
: Informações de pagamento do pedido.method
: Método de pagamento utilizado (neste exemplo,"pix"
).
Certifique-se de que o produto já tenha sido previamente criado no canal de sandbox.
Ao confirmar o pedido, o sistema calculará automaticamente o valor total, somando os produtos e aplicando o método de pagamento informado.
Os métodos que tem sua utilização permitida em Sandbox neste momento são:
Cenários de Erro
Estes são exemplos de respostas de erro que podem ser retornadas durante a execução de requisições no ambiente de sandbox.
Cenário de Erro | Código HTTP | Como simular o cenário |
---|---|---|
Channel id '{channel_id}' is unknown for the Sandbox environment. | 422 | Envie uma requisição com um channel_id inválido ou inexistente no ambiente de sandbox. |
Invalid or missing parameters. | 400 | Envie a requisição com dados malformados ou omita campos obrigatórios, como sku , quantity ou channel.id . |
Unauthorized | 401 | Utilize um token inválido ou ausente no cabeçalho da requisição. |