Pular para o conteúdo principal

Referência: rec, cobr e webhooks de recorrência

Resposta rápida: Pix Automático usa /rec e /solicrec para o mandato, /cobr por ciclo, /locrec para payload próprio e /webhookrec e /webhookcobr para eventos; cada recurso exige seu escopo na credencial (rec.write, cobr.write, webhookrec.write, ...).

Endpoints​

MétodoPathUsoEscopo
POST/recCriar recorrênciarec.write
GET/rec/{idRec}Consultar recorrência; ?txid= compõe o QR com uma cobrançarec.read
PATCH/rec/{idRec}Revisar recorrênciarec.write
GET/rec/{recUrlAccessToken}Recuperar o payload JSON da recorrência—
POST/solicrecCriar solicitação de confirmaçãosolicrec.write
GET/solicrec/{idSolicRec}Consultar solicitaçãosolicrec.read
PATCH/solicrec/{idSolicRec}Revisar solicitaçãosolicrec.write
PUT/cobr/{txid}Criar cobrança recorrentecobr.write
GET/cobr/{txid}Consultar cobrança recorrentecobr.read
PATCH/cobr/{txid}Revisar cobrança recorrentecobr.write
POST/cobr/{txid}/retentativa/{data}Solicitar retentativacobr.write
POST/locrecCriar location do payloadpayloadlocationrec.write
GET/locrec/{id}Recuperar locationpayloadlocationrec.read
DELETE/locrec/{id}/idRecDesvincular recorrência da locationpayloadlocationrec.write
PUT/webhookrecConfigurar webhook do mandatowebhookrec.write
GET/webhookrecExibir webhook do mandatowebhookrec.read
DELETE/webhookrecCancelar webhook do mandatowebhookrec.write
PUT/webhookcobrConfigurar webhook dos cicloswebhookcobr.write
GET/webhookcobrExibir webhook dos cicloswebhookcobr.read
DELETE/webhookcobrCancelar webhook dos cicloswebhookcobr.write

Os webhooks de recorrência não levam chave no path e são independentes do PUT /webhook/{chave} da cobrança imediata.

Lembre que escopo é propriedade da credencial: não se manda scope no token (auth). Recurso respondendo 403 com token válido significa escopo ausente na credencial — o caminho é o banco, não o código.

Corpo mínimo​

POST /rec:

CampoNota
vinculo.contrato, vinculo.objeto, vinculo.devedorO que o pagador vê como o "porquê" da autorização
calendario.dataInicial, dataFinal, periodicidadeSEMANAL, MENSAL, TRIMESTRAL, SEMESTRAL, ANUAL
valor.valorRecValor de referência do mandato
politicaRetentativaNAO_PERMITE ou PERMITE_3R_7D
ativacao.dadosJornada.txidJornada 1: a cobrança que carrega a autorização
locLocation do payload próprio (/locrec), necessária para o QR composto

PUT /cobr/{txid}:

CampoNota
idRecAmarra o ciclo ao mandato
calendario.dataDeVencimentoUm ciclo por vencimento
valor.originalValor efetivo do ciclo
ajusteDiaUtilMove vencimento em dia não útil
infoAdicional, devedor, recebedorComplementos

O QR composto (dadosQR)​

O BR Code da ativação sai da leitura da recorrência, nunca da criação:

RequisiçãodadosQR.jornadaConteúdo
GET /rec/{idRec}JORNADA_2QR da recorrência
GET /rec/{idRec}?txid={cob}JORNADA_3QR da cobrança imediata + recorrência
GET /rec/{idRec}?txid={cobv}JORNADA_4QR da cobrança com vencimento + recorrência

Os dois campos (jornada e pixCopiaECola) só aparecem quando as location necessárias estão preenchidas — na recorrência sempre, e na cobrança também nas jornadas 3 e 4. A Jornada 1 não está no enum: ela não tem QR próprio, a autorização viaja na cobrança existente.

Status​

RecursoValores observados
recCRIADA, APROVADA / CONFIRMADA, REJEITADA, CANCELADA, EXPIRADA
solicrecCRIADA, ENVIADA, RECEBIDA (cancelável só nesses)
cobrATIVA, CONCLUÍDA, REJEITADA, CANCELADA

Regras de transição que a API impõe e que costumam pegar quem está implementando:

  • rec.loc, calendario.dataInicial e vinculo.devedor.nome só mudam enquanto o status for CRIADA.
  • rec.dadosJornada.txid não muda depois de REJEITADA ou CANCELADA.
  • Não se cria uma segunda cobr para o mesmo idRec com vencimento no mesmo ciclo enquanto a anterior não estiver REJEITADA ou CANCELADA.
  • O txid citado em dadosJornada tem de ser de cobrança do mesmo recebedor da recorrência.

Contrato​

OpenAPI BACEN — a recorrência existe a partir da linha de versões 2.10; a 2.9 não a define. Este pack não reespecifica schemas completos: campos opcionais, formatos e enums exaustivos ficam no YAML.

Notas Modobank​

  • O produto vem habilitado por padrão nas contas; o que gate é o escopo da credencial.
  • Não há simulação de recorrência em homologação: mandato e débito só se provam em produção. Planeje o primeiro teste com valor baixo e conta própria.
  • Snippets: snippets/curl/create-rec.sh, snippets/curl/create-cobr.sh, snippets/curl/register-webhookrec.sh.