Endpoint base: …/uniconta/seller/{account_id}/virtualaccounts/{id}/
Autenticação: obrigatória — JWT via Authorization: Bearer <access_token>. O usuário precisa ter acesso à account_id ou ser superusuário. Valores são sempre informados como inteiros em centavos de BRL, salvo indicação contrária.
Não existe PATCH ou PUT direto em uma conta virtual. Esses métodos retornam 405 Method Not Allowed. As movimentações são feitas pelos endpoints de ação descritos abaixo.
Contas virtuais são sub-razões financeiras. Os campos estruturais (id, vendedor dono, vínculo com conta gerenciada, created_at) são definidos no momento do provisionamento e não podem ser alterados pelo usuário. As “mutações” disponíveis são ações de movimentação de dinheiro, cada uma gerando novos lançamentos em vez de alterar a própria conta virtual.

Endpoints de ação

POST …/virtualaccounts/{id}/deposit/

Gera um link de pagamento via PIX para reforço de saldo. Corpo: { "amount": <decimal>, "name": "<string>" }. Retorna { "id": "<online_sell_id>" }.

POST …/virtualaccounts/{id}/pay/

Solicita o pagamento de um boleto bancário. Corpo: bank_slip_code, target_date (YYYY-MM-DD), amount (centavos). Cria um lançamento de saída com status PLANNED e o registro de pagamento associado. Retorna os dados do pagamento.

POST …/virtualaccounts/{id}/transfer/

Solicita uma transferência. O corpo deve incluir transfer_type (TED, BETWEEN_ACCOUNTS ou PIX) e os campos correspondentes:
  • TEDreceiver_name, receiver_tax_id, receiver_tax_id_type (PF/PJ), receiver_bank, receiver_agency, receiver_account, receiver_account_type (CHECKING_ACCOUNT/SAVINGS_ACCOUNT), amount, target_date.
  • BETWEEN_ACCOUNTSdestination_account (UUID de outra conta virtual), amount. A operação é atômica: gera um lançamento de saída PAID na conta de origem e um lançamento de entrada PAID na conta de destino, ambos vinculados à mesma transferência.
  • PIXreceiver_name, receiver_tax_id, pix_key, pix_key_type (CPF, CNPJ, EMAIL, PHONE, RANDOM), amount, target_date.
Retorna o objeto de transferência (id, status, dados do destinatário, timestamps).

GET …/virtualaccounts/{id}/known-transfer-destinations/

Retorna os 10 destinatários TED mais utilizados (status PAID) desta conta virtual, enriquecidos com usage_count e last_used_at. Útil para pré-preencher uma interface de “transferências recentes”.

Erros

StatusQuando
405PATCH/PUT/DELETE na URL de detalhe. Utilize os endpoints de ação acima.
400Corpo da ação inválido (por exemplo, target_date ausente em uma TED, destination_account ausente em uma transferência entre contas, saldo insuficiente).
403O usuário não tem acesso à account_id.

Exemplo: transferência TED

curl -X POST https://api.dlpay.cloud/uniconta/seller/9c2a.../virtualaccounts/9c2a.../transfer/ \
  -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJh..." \
  -H "Content-Type: application/json" \
  -d '{
    "transfer_type": "TED",
    "receiver_name": "Ada Lovelace",
    "receiver_tax_id": "12345678901",
    "receiver_tax_id_type": "PF",
    "receiver_bank": "260",
    "receiver_agency": 1,
    "receiver_account": 123456789,
    "receiver_account_type": "CHECKING_ACCOUNT",
    "amount": 15000,
    "target_date": "2026-05-20"
  }'