Pré-autorizações · Referência
Criar pré-autorização
Oferece ao fornecedor a antecipação de uma nota que a sua empresa vai pagar.
/api/integration/v1/pre-authorizations
escopo preauth:write
Requisição
A sua empresa (a matriz dona da chave) é a tomadora. O fornecedor é avisado pela plataforma — ou convidado, se ainda
não tiver conta. A operação nasce com status IN_PRE_AUTH.
Headers
| Header | Descrição | |
|---|---|---|
Authorization | obrigatório | Bearer oneos_sk_… |
Content-Type | obrigatório | application/json, ou multipart/form-data para enviar o arquivo da nota. |
Idempotency-Key | recomendado | Torna a retentativa segura. Veja Idempotência. |
Corpo
-
supplierobject obrigatórioFornecedor que vai receber a oferta de antecipação.
-
cnpjsupplier. string obrigatórioCNPJ do fornecedor, com ou sem máscara. Dígitos verificadores são conferidos; CNPJ alfanumérico é aceito.
-
emailsupplier. string obrigatórioE-mail de contato do fornecedor para esta operação.
-
namesupplier. string opcionalRazão social. Obrigatório quando o CNPJ ainda não está na Oneos — sem ele a API responde
422 PRE_AUTH_SUPPLIER_NAME_REQUIRED. Para fornecedor já cadastrado, é ignorado. -
contactNamesupplier. string opcionalNome da pessoa de contato. Obrigatório junto com
supplier.namequando o CNPJ é novo. -
phonesupplier. string opcionalTelefone do contato.
-
invoiceobject obrigatórioNota fiscal que será antecipada.
-
amountinvoice. number obrigatórioValor bruto da nota, em reais. Aceita número ou string numérica (
"18400.50"). -
dueDateinvoice. string obrigatórioVencimento da nota. Precisa estar entre 5 e 180 dias corridos a partir de hoje (horário de São Paulo) e dentro do prazo máximo do seu limite de crédito.
-
numberinvoice. string obrigatórioNúmero da nota fiscal.
-
withheldTaxAmountinvoice. number opcionalRetenções fiscais da nota, em reais. Não pode passar de
amount − 500. -
externalReferencestring opcionalIdentificador livre do seu ERP (pedido, título, parcela). Volta em todas as respostas e em todos os webhooks desta operação.
Enviando o arquivo da nota
Para anexar a nota fiscal, use multipart/form-data: mande supplier e invoice como
texto JSON e o arquivo no campo invoiceFile.
- PDF ou XML, até 10 MB, nome com até 255 caracteres.
-
O
Content-Typedo arquivo precisa serapplication/pdf,application/xmloutext/xml— e o conteúdo precisa ser mesmo PDF ou XML.
curl -X POST https://app.oneos.com.br/api/integration/v1/pre-authorizations \
-H "Authorization: Bearer $ONEOS_API_KEY" \
-H "Idempotency-Key: PED-4581-nf-48211-pdf" \
-F 'supplier={"cnpj":"11.222.333/0001-81","email":"financeiro@fornecedor.com.br"}' \
-F 'invoice={"amount":18400,"dueDate":"2026-11-30","number":"48211"}' \
-F 'externalReference=PED-4581' \
-F 'invoiceFile=@nota-48211.pdf;type=application/pdf'
Resposta
201 Created com a operação:
-
idinteger obrigatórioIdentificador da operação na Oneos. É o
{id}da consulta e do cancelamento, e oanticipationIddos webhooks. -
statusenum obrigatórioStatus no momento da resposta. Na criação é sempre
IN_PRE_AUTH; no cancelamento,REPROVED; na consulta, o status atual. -
externalReferencestring | null obrigatórioO identificador que você enviou, ou
null. -
payerobject obrigatórioA tomadora, que paga a nota. Na criação, a matriz dona da chave; na consulta e no cancelamento, a empresa da nota (a matriz ou uma filial).
-
cnpjpayer. string obrigatórioCNPJ da tomadora, só dígitos.
-
namepayer. string obrigatórioRazão social da tomadora.
-
supplierobject obrigatórioO fornecedor da operação.
-
cnpjsupplier. string obrigatórioCNPJ normalizado (só dígitos e letras, em maiúsculas).
-
namesupplier. string | null obrigatórioNome cadastrado na Oneos, ou
null. -
invoiceobject obrigatórioDados da nota como foram gravados.
-
amountinvoice. number obrigatórioValor bruto, arredondado em centavos.
-
dueDateinvoice. string obrigatórioVencimento,
AAAA-MM-DD. -
numberinvoice. string | null obrigatórioNúmero da nota.
-
withheldTaxAmountinvoice. number obrigatórioRetenção gravada (0 quando não enviada).
-
expiresAtstring | null obrigatórioAté quando o fornecedor pode solicitar a antecipação. Depois disso a pré-autorização expira sozinha. Veja expiração.
-
createdAtstring obrigatórioMomento da criação, ISO 8601 em UTC.
Erros
Além dos erros de autenticação, de idempotência e do limite de requisições:
| Status | Código | Quando acontece |
|---|---|---|
| 400 | VALIDATION_ERROR |
Campo ausente ou fora do formato. Um item por problema. |
| 400 | BAD_REQUEST |
Multipart malformado ou campo de arquivo inesperado. |
| 403 | PRE_AUTH_ONLY_CONSTRUTORA |
A empresa da chave não é uma construtora (matriz). |
| 409 | PRE_AUTH_DUPLICATE_INVOICE |
Já existe operação em andamento para a mesma nota (mesmo número) do mesmo fornecedor na sua empresa ou numa filial. O id dela vem em details[0].anticipationId.
Consulte a operação existente em vez de criar outra.
|
| 413 | FILE_TOO_LARGE |
Arquivo acima de 10 MB. |
| 422 | ANTICIPATION_INVALID_DUE_DATE |
Vencimento a menos de 5 dias de hoje. |
| 422 | ANTICIPATION_DUE_DATE_TOO_FAR |
Vencimento a mais de 180 dias de hoje. |
| 422 | CREDIT_ANALYSIS_DUE_DATE_EXCEEDED |
Prazo acima do permitido pelo limite de crédito da sua empresa. |
| 422 | CREDIT_ANALYSIS_INVOICE_AMOUNT_EXCEEDED |
Valor acima do permitido pelo limite de crédito da sua empresa. |
| 422 | PRE_AUTH_SUPPLIER_NAME_REQUIRED |
CNPJ ainda não cadastrado e faltou supplier.name ou supplier.contactName.
|
| 422 | PRE_AUTH_SUPPLIER_SELF |
O fornecedor é a sua própria empresa ou uma filial dela. |
| 422 | PRE_AUTH_SUPPLIER_BLOCKED |
O fornecedor está na lista de bloqueio da sua empresa. |
| 422 | INVALID_FILE_TYPE |
O conteúdo do arquivo não é PDF nem XML. |
| 422 | INVOICE_FILE_TYPE |
O Content-Type do arquivo não é PDF/XML.
|
| 422 | INVOICE_FILE_NAME_TOO_LONG |
Nome do arquivo acima de 255 caracteres. |
Nota duplicada
A Oneos recusa uma segunda operação para a mesma nota: mesmo CNPJ de fornecedor e mesmo
invoice.number, na sua empresa ou numa filial, enquanto a primeira não terminou (qualquer status fora de
REPROVED e CONCLUDED). Vale para operações criadas por qualquer canal, inclusive a plataforma.
Depois que a primeira é cancelada, recusada, expira ou conclui, a nota pode ser pré-autorizada de novo.
{
"errors": [
{
"code": "PRE_AUTH_DUPLICATE_INVOICE",
"message": "Já existe uma operação em andamento para a nota 48211 deste fornecedor (antecipação 48213)"
}
],
"details": [
{
"anticipationId": 48213
}
]
}