BlendFi
OnrampOperações

Aceitando a cotação

POST /v1/quotes/:id/accept. Cria a conversão, emite o QR Pix, abre a janela de 15 minutos.

Aceitar a cotação é o ponto em que o onramp deixa de ser cotação descartável e vira operação. A chamada é idempotente via header Idempotency-Key.

O que a chamada faz

POST /v1/quotes/:id/accept

Em uma única transação atômica:

  1. Marca a cotação como consumed e a vincula à conversão criada.
  2. Cria a conversão em awaiting_deposit.
  3. Emite o QR Pix (pix_qr_code + pix_tx_id), exclusivo desta conversão.
  4. Reserva o limite de operação contra o cliente final.
  5. Abre a janela de 15 minutos, contadas a partir do aceite.
  6. Snapshota a configuração de taxas vigente da sua organização. Renegociações futuras não afetam esta operação.
  7. Dispara o webhook conversion.created.

O que volta

A resposta carrega a conversão completa: id, status='awaiting_deposit', quote_id, expected_source_amount, pix_qr_code, pix_tx_id, deposit_window_expires_at, destination_wallet_address, destination_wallet_network. Os campos exatos vão na referência da API.

A janela de 15 minutos começa aqui

deposit_window_expires_at = aceite + 15 minutos. Esse é o intervalo em que o pagamento Pix leva a conversão para funded. Janela expirada sem pagamento → conversão termina em expired.

Erros narrativos

A chamada falha em cenários previsíveis:

  • Cotação expirada (expires_at no passado): erro de validação. Crie uma cotação nova.
  • Cotação já consumida: erro de conflito. Use a conversão existente em consumed_by_conversion_id.
  • Cliente final já tem outra conversão onramp aberta: erro de lock. Veja Lock por usuário e tipo.
  • Limite excedido: erro de validação. Reserva não é feita; conversão não é criada.

Recomendações de UX

  • Renderize o QR Pix em destaque com o valor exato em BRL.
  • Mostre um contador regressivo até deposit_window_expires_at.
  • Ofereça um botão "cancelar" enquanto a conversão estiver em awaiting_deposit.

Próximo passo

Nesta página