OTL ShoesAPI
Exemplos em
Menu da documentação

Enviar comprovante

Anexa o comprovante de pagamento ao pedido.

POST/v1/pedidos/{id}/anexos

Quando usar

Depois que o parceiro paga o pedido: o comprovante é o que a equipe OTL confere para o pedido sair de AGUARDANDO_PAGAMENTO.

Corpo

Esta rota não recebe JSON: o arquivo vai em multipart/form-data.

ParâmetroTipoPadrãoDescrição
id
obrigatório
texto—O identificador do pedido, no caminho.
arquivo
obrigatório
arquivo—Campo do formulário. PDF, JPG, PNG ou WebP, com até 10 MB. O formato é conferido pelo conteúdo do arquivo, não pelo Content-Type nem pela extensão. PDF protegido por senha ou com script, formulário ou arquivo embutido é recusado — nesse caso envie uma imagem do comprovante.

Exemplo

curl -X POST "https://api.otlshoes.com.br/v1/pedidos/cmg8k1p2a0007/anexos" \
  -H "Authorization: Bearer $OTL_TOKEN" \
  -F "arquivo=@comprovante-pix.pdf;type=application/pdf"

Não defina o Content-Type à mão: a sua biblioteca HTTP monta o multipart/form-data com o separador certo.

Resposta

201 Created, com o anexo criado:

{
  "id": "cmg8k5z7u0004",
  "tipo": "COMPROVANTE",
  "nomeArquivo": "comprovante-pix.pdf",
  "tipoArquivo": "application/pdf",
  "tamanhoBytes": 51234,
  "validado": false,
  "enviadoPeloParceiro": true,
  "criadoEm": "2026-09-20T09:20:00-03:00"
}

Regras que não se leem no JSON

  • O tipo é sempre COMPROVANTE. Etiqueta, nota fiscal e declaração são anexadas pela OTL.
  • O anexo nasce com validado: false. Quando a equipe OTL confere o pagamento, vira true — e o parceiro não consegue mais remover esse comprovante nem enviar outro para o pedido.
  • Enviar o comprovante não muda o status. Quem confirma o pagamento é a equipe OTL.
  • O envio move o atualizadoEm do pedido.
  • A resposta não traz endereço do arquivo: para baixá-lo, use Baixar anexo.

Erros possíveis

HTTP codigo Quando
400 VALIDACAO Faltou o campo arquivo, ou o formato não é aceito
413 REQUISICAO_INVALIDA Arquivo maior que 10 MB
403 ACESSO_NEGADO O comprovante deste pedido já foi validado pela OTL
404 NAO_ENCONTRADO O pedido não existe — ou é de outro parceiro
403 ESCOPO_INSUFICIENTE A integração não tem pedidos:escrever