Hotel das LojasHotel das LojasAPI
Buscar na documentação...Ctrl K

Pedidos

Criar Pedido

Registra uma venda feita fora da loja (marketplace, balcão, outro sistema)

POST
/v1/pedidos

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

Authorizationstringobrigatórioheader

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

clienteobjectobrigatóriobody · application/json

{ nome (obrigatório), email, whatsapp, documento }. Liga ao cadastro com o mesmo e-mail ou WhatsApp, ou cria um.

itensobject[]obrigatóriobody · application/json

[{ 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.

referencia_externastringbody · application/json

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.

entregaobjectbody · application/json

{ forma ("retirada" ou o nome do envio), valor, endereco: { cep, rua, numero, complemento, bairro, cidade, estado, referencia } }.

pagamentoobjectbody · application/json

{ forma (texto livre, ex.: "Pix no balcão"), situacao: pendente (padrão) ou pago }.

descontonumberbody · application/json

Desconto em reais (no máximo o subtotal).

observacaostringbody · application/json

Recado do pedido (até 240).

baixar_estoquebooleanbody · application/json

Padrão true: baixa o estoque dos produtos que controlam estoque (tudo ou nada).

enviar_emailbooleanbody · application/json

true envia ao cliente o e-mail de pedido recebido (padrão false).

Resposta

201 — objeto { "dados": {...} } com um Pedido.

Erros possíveis

HTTPcódigoquando
401nao_autenticadoFaltou o cabeçalho Authorization: Bearer <chave>.
401chave_invalidaChave inexistente ou revogada.
403sem_permissaoA chave não tem o escopo exigido pelo endpoint.
409mesmo_statusO pedido já está no status pedido.
409pedido_encerradoPedido cancelado ou reembolsado não muda mais.
409estoque_insuficienteSaída maior que o saldo.
409limite_do_planoA loja atingiu o limite de produtos do plano.
409limite_webhooksA loja já tem 10 webhooks.
409limite_imagensO produto já tem 20 imagens.
409cliente_existenteJá existe cliente com este WhatsApp ou e-mail (id em campos.cliente_id).
409saldo_insuficienteDébito de cashback maior que o saldo do cliente.
409limite_enderecosO cliente já tem 20 endereços.
409limite_faixasA loja já tem 300 faixas de frete.
409meio_indisponivelO meio de pagamento não está instalado, ligado e configurado na loja.
409pedido_nao_pendenteSó pedido pendente recebe link de pagamento.
409aplicativo_nao_instaladoInstale o aplicativo no painel antes de gravar as regras.
409canal_inativoO canal de marketplace não está ativo na loja.
409canal_sem_pedidosO canal só recebe o catálogo (feed), não tem pedidos.
422fornecedor_recusouO fornecedor (AliExpress) recusou ou a conta não está conectada; a mensagem traz o motivo.
409categoria_em_usoA categoria tem produtos ou subcategorias.
409conflitoO recurso mudou durante a chamada: consulte e tente de novo.
422imagem_invalidaA imagem não pôde ser baixada ou não é JPG, PNG, WEBP ou GIF de até 5 MB.
422validacaoCampos inválidos: veja o objeto "campos".

© Hotel das Lojas · API v1.3 · hoteldaslojas.com.br

POST/pedidos

Este endpoint precisa de uma chave da sua loja com o escopo pedidos.criar. Ele altera dados de verdade.