Produtos
Enviar Imagem
Envia uma foto por URL pública ou em base64
POST
/v1/produtos/{id}/imagens
Escopo
produtos.escrever- JPG, PNG, WEBP ou GIF de até 5 MB e até 8000 px de lado. A imagem é convertida para WEBP quando fica menor, e entra na biblioteca de mídia da própria loja.
- Com base64, o corpo da chamada pode ter até 7 MB (nas outras rotas o limite é 256 KB).
- Até 20 imagens por produto (409 limite_imagens).
- Endereços de rede interna são recusados (proteção do servidor). Seguimos até 3 redirecionamentos.
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.
Parâmetros de caminho
idintegerobrigatóriopath
Identificador do produto.
Corpo da requisição
urlstringbody · application/json
Endereço http(s) público da imagem (baixamos na hora). Use url ou base64.
base64stringbody · application/json
Conteúdo do arquivo em base64 (aceita o prefixo data:image/...;base64,).
principalbooleanbody · application/json
true torna esta a imagem de capa (a anterior vai para a galeria). A primeira imagem do produto já vira a principal.
Resposta
201 — objeto { "dados": ... } com a lista atualizada de imagens.
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. |
404 | nao_encontrado | O recurso não existe nesta loja. |
404 | rota_nao_encontrada | Endereço inexistente na API v1. |
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. |
404 | sem_cobranca | O pedido não tem cobrança em um meio de pagamento. |
409 | categoria_em_uso | A categoria tem produtos ou subcategorias. |
409 | conflito | O recurso mudou durante a chamada: consulte e tente de novo. |
413 | corpo_grande | Corpo acima de 256 KB (7 MB no envio de imagem, 14 MB em banners). |
404 | sem_rastreio | O pedido ainda não tem código de rastreio. |
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