OTL ShoesAPI
Exemplos em
Menu da documentação

Enviar banner

Envia a imagem de um banner novo.

POST/v1/loja-hub/banners

Corpo

multipart/form-data — não JSON:

ParâmetroTipoPadrãoDescrição
imagem
obrigatório
arquivo—JPG, PNG ou WebP, até 5 MB.
descricaotexto—Texto alternativo, até 120 caracteres.
linktexto—Endereço http ou https. Sem protocolo, assume https://.

Exemplo

curl -X POST https://api.otlshoes.com.br/v1/loja-hub/banners \
  -H "Authorization: Bearer $OTL_TOKEN" \
  -F "imagem=@banner-inverno.jpg" \
  -F "descricao=Promoção de inverno"

Resposta

201 Created, com o banner:

{
  "id": "cmh1b2c3d0001",
  "imagemUrl": "https://cdn.otlshoes.com.br/otl-catalog/hub/banners/inverno.webp",
  "descricao": "Promoção de inverno",
  "link": "https://hubshoes.com.br/joao-calcados?marca=casual",
  "posicao": 0,
  "ativo": true,
  "criadoEm": "2026-09-10T10:00:00-03:00"
}
CampoTipoDescrição
idtextoO identificador do banner.
imagemUrltextoA imagem, já convertida para WebP.
descricaotextoTexto alternativo da imagem. Pode ser null.
linktextoPara onde o banner leva. Pode ser null.
posicaointeiroA ordem no carrossel, a partir de 0.
ativobooleanofalse = guardado, mas fora da vitrine.
criadoEmdataQuando foi enviado.

Regras que não se leem no JSON

  • A imagem é convertida para WebP e reduzida na largura: a URL devolvida não é a do arquivo enviado.
  • Até 8 banners por loja. O novo entra no fim; para mudar a ordem, use Ordenar banners.
  • Com Idempotency-Key num envio de arquivo, a repetição é reconhecida só pela chave.

Erros possíveis

HTTP codigo Quando
400 VALIDACAO Sem arquivo, formato não aceito, ou campo fora do limite
400 REQUISICAO_INVALIDA A loja já tem 8 banners, ou o link não é http(s)
413 REQUISICAO_INVALIDA Arquivo acima de 5 MB
403 LOJA_HUB_NAO_LIBERADA A OTL ainda não liberou a loja no HUB para este parceiro
403 ESCOPO_INSUFICIENTE A integração não tem loja-hub:escrever