Pedidos
Criar Pedido
Registra uma venda feita fora da loja (marketplace, balcão, outro sistema)
Escopo
pedidos.criar- O pedido aparece no painel como qualquer outro (forma de pagamento "Venda externa (API)"), com histórico de origem api. Cancelado depois, devolve o estoque que baixou.
- Mesma referencia_externa: a resposta é 200 (não 201) com o pedido existente e o cabeçalho X-Idempotente: true. Assim um reenvio por falha de rede nunca duplica a venda.
- Estoque insuficiente em qualquer item: 409 estoque_insuficiente e nada é criado. O estoque por opção de variação não é baixado: ajuste com Estoque por Variação.
- O evento pedido.criado é enviado aos webhooks como nos pedidos do site.
Autorização
Chave da API no formato Bearer hdl_live_.... Crie no painel da loja em Integração › API e webhooks. Saiba mais.
Corpo da requisição
{ nome (obrigatório), email, whatsapp, documento }. Liga ao cadastro com o mesmo e-mail ou WhatsApp, ou cria um.
[{ produto_id ou sku, quantidade (padrão 1), preco_unitario, nome, variacao }] (até 100). Sem preco_unitario vale o preço atual do produto. Item avulso: nome e preco_unitario, sem produto.
Id do pedido no seu sistema (até 80). Repetir a mesma referência devolve o pedido já criado, sem duplicar. Também aceita o cabeçalho Idempotency-Key.
{ forma ("retirada" ou o nome do envio), valor, endereco: { cep, rua, numero, complemento, bairro, cidade, estado, referencia } }.
{ forma (texto livre, ex.: "Pix no balcão"), situacao: pendente (padrão) ou pago }.
Desconto em reais (no máximo o subtotal).
Recado do pedido (até 240).
Padrão true: baixa o estoque dos produtos que controlam estoque (tudo ou nada).
true envia ao cliente o e-mail de pedido recebido (padrão false).
Resposta
201 — objeto { "dados": {...} } com um Pedido.
Erros possíveis
| HTTP | código | quando |
|---|---|---|
401 | nao_autenticado | Faltou o cabeçalho Authorization: Bearer <chave>. |
401 | chave_invalida | Chave inexistente ou revogada. |
403 | sem_permissao | A chave não tem o escopo exigido pelo endpoint. |
409 | mesmo_status | O pedido já está no status pedido. |
409 | pedido_encerrado | Pedido cancelado ou reembolsado não muda mais. |
409 | estoque_insuficiente | Saída maior que o saldo. |
409 | limite_do_plano | A loja atingiu o limite de produtos do plano. |
409 | limite_webhooks | A loja já tem 10 webhooks. |
409 | limite_imagens | O produto já tem 20 imagens. |
409 | cliente_existente | Já existe cliente com este WhatsApp ou e-mail (id em campos.cliente_id). |
409 | saldo_insuficiente | Débito de cashback maior que o saldo do cliente. |
409 | limite_enderecos | O cliente já tem 20 endereços. |
409 | limite_faixas | A loja já tem 300 faixas de frete. |
409 | meio_indisponivel | O meio de pagamento não está instalado, ligado e configurado na loja. |
409 | pedido_nao_pendente | Só pedido pendente recebe link de pagamento. |
409 | aplicativo_nao_instalado | Instale o aplicativo no painel antes de gravar as regras. |
409 | canal_inativo | O canal de marketplace não está ativo na loja. |
409 | canal_sem_pedidos | O canal só recebe o catálogo (feed), não tem pedidos. |
422 | fornecedor_recusou | O fornecedor (AliExpress) recusou ou a conta não está conectada; a mensagem traz o motivo. |
409 | categoria_em_uso | A categoria tem produtos ou subcategorias. |
409 | conflito | O recurso mudou durante a chamada: consulte e tente de novo. |
422 | imagem_invalida | A imagem não pôde ser baixada ou não é JPG, PNG, WEBP ou GIF de até 5 MB. |
422 | validacao | Campos inválidos: veja o objeto "campos". |
© Hotel das Lojas · API v1.3 · hoteldaslojas.com.br