Criar Pedido
Introdução
Esta seção detalha como criar um pedido no ambiente de sandbox.
Pré-requisitos para Criação do Pedido
Para criar um pedido no ambiente de sandbox, é necessário utilizar:
- Um X-Tenant-Id válido nos headers.
- Um ID de canal válido para o ambiente de sandbox.
- Um ou mais SKU's associado ao pedido.
- Um ou mais Métodos de pagamento válidos.
info
Os métodos de pagamento disponíveis são:
- pix
- credit_card
- bank_slip
Abaixo está um exemplo de como criar um pedido utilizando CURL.
curl --request POST \
--url https://api.magalu.com/v1/samples/orders \
--header 'content-type: application/json' \
--header 'x-tenant-id: {tenant_id}' \
--data '{
"channel": {
"id": "5f62650a-0039-4d65-9b96-266d498c03bd"
},
"deliveries": [
{
"items": [
{
"info": {
"sku": "sku-teste-1"
},
"quantity": 1
}
]
}
],
"payments": [
{
"method": "pix"
}
]
}'
Neste exemplo:
- channel.id: Representa o ID do canal onde o pedido será criado no ambiente de sandbox.
- deliveries: É um array que contém as informações de entrega.
- items: Contém os itens do pedido.
- info.sku: O SKU do produto a ser incluído no pedido.
- quantity: A quantidade do item.
- payments: Contém as informações de pagamento.
- method: O método de pagamento utilizado para o pedido (neste caso, "pix").
- items: Contém os itens do pedido.
atenção
Observe que o produto deve ser criado anteriormente no canal de sandbox.
Ao confirmar o pedido, o sistema irá calcular automaticamente o valor do pagamento, somando os produtos e aplicando o método informado.
Cenários de Erros
Estes são exemplos de erros retornados como resposta à requisição.
Cenário | Código de Resposta | Condições para emular o cenário |
---|---|---|
"Channel id '{channel_id}' is unknown for the Sandbox environment." | 422 | Tente criar um pedido utilizando um canal inválido para o ambiente de sandbox. |
"Invalid or missing parameters." | 400 | Requisição com dados malformados ou campos obrigatórios ausentes (ex: sku, quantity, channel.id). |
"Unauthorized" | 401 | Ausência ou invalidez do cabeçalho x-tenant-id. |