Enviar comprovante
Anexa o comprovante de pagamento ao pedido.
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âmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
idobrigatório | texto | — | O identificador do pedido, no caminho. |
arquivoobrigató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, viratrue— 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
atualizadoEmdo 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 |
