Mudanças relevantes na API Pix serão documentadas aqui neste documento.
- Atualização do padrão de campos com domínio
CNPJpara aceitar valores alfanuméricos, conforme Instrução Normativa RFB nº 2229, de 15 de outubro de 2024. - Atualização dos padrões dos campos
ispbParticipanteeprestadorDoServicoDeSaquepara permitir valores alfanuméricos, considerando que oISPBpode ser derivado do respectivoCNPJ. - Atualização dos padrões dos campos
idReceidSolicRecpara permitir valores alfanuméricos nos componentesxxxxxxxx(ISPBs) das suas regras de formação. - Correção na descrição do campo
idRec. - Correção nos campos
cob.devedorecobv.devedorremovendo campos duplicados. - Correção nas violações de
CobVOperacaoInvalidaremovendo informações duplicadas.
- Ajuste na descrição do
PUT /webhookrec. - Correção nas informações do parâmetro
statusemGET /cobrque se refere ao status da cobrança recorrente. - Ajuste das propriedades
encerramento.rejeicao.descricaoeencerramento.cancelamento.descricaonas recorrências e cobranças recorrentes para o tamanho máximo de400caracteres. - Ajuste da propriedade
tentativas.rejeicao.descricaodas cobranças recorrentes para o tamanho máximo de400caracteres. - Nas tags
RecPayloadeRecsubstituímos a expressãoencerradaporexpirada, cancelada ou rejeitada.
- Inclusão do campo não obrigatório
rec.recebedor.conveniono request doPOST /rece response doGET /rec,GET /rec/{idRec}ePOST /rec. - Inclusão do parâmetro de busca não obrigatório
convenionoGET /rec,GET /cobreGET /locrec. - Inclusão de exemplo de uso do campo
conveniono response doGET /rec/{idRec}. - Inclusão da obrigatoriedade do campo
rec.recebedorno response do GET/rece GET/rec/{idRec}. - Inclusão do campo não obrigatório
cobr.tentativas.rejeicaono response doGET /cobr,GET /cobr/{txid}ePOST /cobr/{txid}/retentativa/{data}. - Ajuste na descrição dos campos
cobr.ajusteDiaUtilecobr.calendario.dataDeVencimento. - Pequenos ajustes de texto na seção
Tratamento de Erros. - Inclusão de violações para o endpoint
GET /rec/{idRec}. - Ajuste nas violações do endpoint
PATCH /solicrec/{idSolicRec}. - Remoção do campo
tipoCobdo response do DELETE/locrec/{id}/idrec. - Ajuste no exemplo do response do DELETE
/locrec/{id}/idrec.
- Correção do campo
destinatariode opcional para obrigatório no schema daSolicitação de RecorrênciadoPOST /solicRec. - Remoção do campo
recebedor, desnecessário, do exemplo emPOST /rec. - Incluída a obrigatoriedade dos campos
parametrosecobrsnoGET /cobrpara seguir o comportamento similar ao existente para as demais consultas de outras entidades. - Incluída a obrigatoriedade dos campos
parametroserecsnoGET /recpara seguir o comportamento similar ao existente para as demais consultas de outras entidades. - Pequenos ajustes de texto na seção
Tratamento de Erros. - Ajuste do exemplo na retentativa quando a política não permite, lançando erro 400.
- Ajuste nas descrições dos identificadores de recorrência e solicitação de recorrência.
- Inclusão do campo
rec.dadosQRcontendo os campospixCopiaEColaejornadareferentes ao response do GET/rec/{idRec}?txid={txid}fornecendo informações complementares relacionadas a respectiva jornada e QRCode com exemplos. - Remoção do campo
rec.pagadorno response do POST/rece PATCH/rec/{idRec}. - Remoção do campo
rec.cobrno response do GET/rece GET/rec/{idRec}e inseridoidReccomo parâmetro de busca em GET/cobr. - Ajuste no campo
cobr.dadosDevedorsubstituído porcobr.devedor. - Ajuste no campo
cobr.contaRecebedorsubstituido porcobr.recebedor. - Ajuste no campo
cobr.valorsubstituido porcobr.valor.original. - Ajuste no campo
cobr.ajusteDiaUtilpara valor defaulttrue. - Inclusão do campo
cobr.vinculo.devedor.nomeno request do PATCH/cobr/{txid}.
- Inclusão das tags relacionadas ao Pix Automático:
RecPayload: que reúne os endpoints (locations) utilizados pelo software do PSP pagador para recuperar o payload JSON que representa uma recorrência;Rec: que reúne os endpoints destinados a lidar com o gerenciamento de recorrências;SolicRec: que reúne os endpoints destinados a lidar com o gerenciamento de solicitações de confirmação de recorrências;CobR: que reúne os endpoints destinados a lidar com o gerenciamento de cobranças associadas a uma recorrência;PayloadLocationRec: que reúne os endpoints destinados a lidar com a configuração e a remoção de locations para uso dos payloads de recorrências;WebhookRec: que reúne os endpoints para o gerenciamento de notificações de recorrências por parte do PSP recebedor ao usuário recebedor; eWebhookCobR: que reúne os endpoints para o gerenciamento de notificações de cobranças recorrentes por parte do PSP recebedor ao usuário recebedor.
- Inclusão de esclarecimento referente ao domínio
AGPSSdo campomodalidadeAgentepara Pix Saque e Pix Troco, dispondo que ele deve ser convertido paraAGFSSna elaboração da mensagempacs.008. Optou-se pela não alteração desse domínio (paraAGFSS) na API Pix neste momento, ficando a uniformização com o Catálogo de Mensagens do SPI reservada para a próxima major version da API Pix. - Descontos em cobranças com vencimento agora podem ser aplicados para datas menores ou iguais à data de vencimento.
- Correção dos exemplos
FeGconforme apontado na issue [#485]. - Uniformização das descrições dos campos
/lotecobv/{id}do request eidno response do GET/lotecobv/{id}que semânticamente são o mesmo valor. - Remoção do 'pagador' como campo obrigatório do 'Pix' no seu respectivo schema.
- Inclusão do valor
AGTOTno domínio do campovalor.retirada.troco.modalidadeAgente. - Ajuste da descrição do valor domínio
AGTOTde 'Agente Outra Espécie de Pessoa Jurídica' para 'Agente Outra Espécie de Pessoa Jurídica ou Correspondente no País'. - Exclusão do valor
AGPSSdos domínios dos camposPixValorTroco.troco.modalidadeAgenteeCobPayload.valor.retirada.troco.modalidadeAgente. - Substituição da expressão 'Prestador de Serviços de Saque' por 'Facilitador de Serviço de Saque' em linha com a nova instrução normativa.
- Correção do exemplo 'cobrança com troco alterável' para inclusão da estrutura
retirada. - Correção do exemplo 'troco com valor.original alterável', estrutura
retirada.trococomAGTOT.
- Restrição da
modalidadeAgentedo Pix Troco para aceitar somenteAGTEC. - Ajustes nos endpoints de Devolução para os diferentes tipos de natureza relacionados aos códigos
BE08eFR01. - Indicação tamanho máximo do campo
pixCopiaECola[#457].
- Inclusão e referenciamento de "Status do registro de cobrança" onde lia-se "Status da Cobrança" com a descrição da semântica de cada estado.
- Inclusão do campo
pixCopiaECola(opcional) correspondente às cobranças. - Na listagem
componentesValordo objetoPixforam incluídas as informações relativas aos juros, multas, descontos e abatimentos quando o Pix se refere a um pagamento de cobrança com vencimento. Tendo assim o detalhamento em caso de antecipações ou atrasos no pagamento. - Inclusão do campo
descricaonos objetos que tratam de Devoluções. - Ajuste na descrição do campo
naturezanas Devoluções.
- Inclusão do atributo
retiradacomo campo opcional do objetovalornos endpoints de consulta, criação e revisão da cobrança imediata. O campo pode ser preenchido com os atributossaqueoutrocoexclusivamente, detalhados pelos atributosvaloremodalidadeAlteracao. Se apresentarem o campomodalidadeAlteracaocomo valor 1, significa que o usuário pagador pode alterar o valor do saque ou troco. Em sua ausência, assume-se o valor 0, que significa que o valor do saque ou troco não pode ser alterado. - Inclusão do atributo
componentesValorcomo campo opcional nos endpoints de consulta Pix para informações da composição do valor final do Pix, este será detalhado por um array de objetos compostos portipoevalor. - Formatações gerais de referências a campos, objetos e schemas.
- Inclusão do domínio
naturezanas devoluções para diferenciamento de devoluções de Pix comuns, ou oriundos de Saque/Troco. - Referências a https://www.bcb.gov.br/estabilidadefinanceira/pagamentosinstantaneos trocadas por https://www.bcb.gov.br/estabilidadefinanceira/pix.
- Não houve mudança. Versão seguiu para 2.5.0 para acompanhar o Manual de Iniciação.
modalidadeAlteracaoagora é um campo opcional do objetovalorno payload da cobrança imediata e nos endpoints de criação e revisão da cobrança imediata. Se apresentado como valor 1, significa que o usuário pagador pode alterar o valor da cobrança. Em sua ausência, assume-se o valor 0, que significa que a cobrança não pode ser alterada.- Não é mais obrigatório que o fragmento de versão v2 esteja presente na location. Não há problema em manter o fragmento; este será considerado como parte integrante da location.
- [#348]: corrige case do padrão de datas de
yyyy-mm-dd->YYYY-MM-DD. - [#354]: Aprimora a descrição do webhook detalhando a ativação em caso de devolução de um pix. O callback deve ser ativado, também, no caso de serem atingidos os status finais da devolução: "devolvido" e "não realizado".
- [#356]: Adiciona dois cenários de erro para o endpoint
PUT /pix/{e2eid}/devolucao/{id}na seção de tratamentos de erros. - [#357]: aprimora a descrição do campo "motivo" no retorno do endpoint
/pix/{e2eid}/devolucao/{id}.
- [#331]: O campo
validadeAposVencimentoestava constando comoopcional, na resposta da criação da cobrança, um efeito colateral da correção correlata ocorrida na release 2.2.1. - [#334]: adicionados detalhes a respeito da manipulação da revisão da cobrança em cenário de alteração do location.
- [#342]: removidos trechos duplicados na seção de tratamento de erros.
- Os campos no objeto "devedor" no request do endpoint
PUT /cobv/{txid}passam a ser opcionais. Nem sempre o usuário recebedor tem a posse de todas as informações que constavam como obrigatórias. - [#307]: Detalhada a semântica do campo
validadeAposVencimento. Passa a apresentar redação detalhando o que ocorre em casos de exceção em que o vencimento da cobrança seja um final de semana ou um feriado juntamente com a atribuição de um valor pequeno paravalidadeAposVencimento. - O campo
validadeAposVencimentoestava constando comorequired, o que estava incorreto. Quando não preenchido, o PSP recebedor assume o valor deste campo como 30, então não há motivos para o campo ser obrigatório. - [#269]. A regex do txid, na parte concernente ao tamanho, nos endpoints /pix e no callback webhook,
estava errada. Corrigida de
{26,35}para{1,35}porque pode haver a presença de pagamentos de QRs estáticos nesses locais. - [#270]: O id do objeto
locationestava especificado comoint32. De fato, apenas cerca de 2 bilhões de possibilidades pode acabar muito rápido para grandes emissores de cobranças. Entendemos que o identificador do objetolotecobvse encaixa na mesma situação. Nesse sentido, alteramos deint32paraint64, o que não deve causar maiores problemas no momento. - [#249], [#250]: Com a entrada do campo "chave" como identificador do webhook, toda a parte referente à paginação em GET /webhook perde a razão de existir. Nesse sentido, os parâmetros de busca "inicio" e "fim" passam a ser opcionais. O objeto de paginação "parametros", também torna-se opcional.
- [#239]: Conforme relatado nesta discussão, entendemos que seria interessante, tanto sob o aspecto de segurança quanto sob o aspecto de funcionalidade, que o objeto pix agregue o atributo "chave", opcional.
- [#241]: Acrescentamos detalhes em relação à questão do acionamento do webhook por parte do PSP recebedor.
- [#294]: Erro de ortografia. Na documentação, onde se lê
pixUrlAcessTokendeveria estar escritopixUrlAccessToken. - [#273]: O texto do response 202 do endpoint
PATCH lotecobv/{id}estava erroneamente induzindo o leitor a pensar que o lote já estava revisado quando, na verdade, estaria apenas em processamento - [#273]: Na lista de violações em lotecobv, havia indicações do endpoint
/lotecobv/{txid}, o que inexiste. O correto é/lotecobv/{id}. - [#316]: Duas violações específicas foram removidas por questões de performance.
-
A API Pix agora estabelece uma série de erros padronizados seguindo a RFC 7807 reunidos na seção "Tratamento de erros". Procuramos ser exaustivos com relação aos possíveis erros semânticos.
-
Adicionado o endpoint
PATCH /lotecobv/{id}. Este endpoint pode ser utilizado quando a intenção do usuário recebedor for alterar cobranças específicas dentro do conjunto de cobranças criadas no lote em questão. O endpointPUT /lotecobv/{id}também pode ser utilizado para alterar cobranças, mas deve ser atribuído na requisição o array exatamente como especificado na requisição originária, o que torna este endpoint ineficiente no caso em que quer se alterar uma cobrança específica ou poucas dentro de um array com grande quantidade de cobranças. -
Incorporadas melhorias de redação em alguns endpoints específicos.
- adiciona o atributo
problemano arraycobsvno response do endpointGET /lotecobv/{id} - corrige os status
REMOVIDA_*, que erroneamente vieram comoREMOVIDO_*no branch 2.1.X. #222
- Readme: corrige informações sobre os Manuais
- #172: corrige campos de cobv.devedor na exibição do Payload JSON que não estavam aderentes com o Manual de Iniciação
- #171: corrige descrição do campo cobsv[n].criacao
- Readme: adiciona menção ao Manual de Padrões para iniciação do Pix.
- #168: corrige descrição do endpoint webhook.
- A API agora apresenta Endpoints para gerenciamento de Cobranças com Vencimento
- Cobranças com vencimento dispõem de seu próprio endpoint
- A API agora apresenta Endpoints para gerenciamento de Lotes de Cobranças com Vencimento
- Adicionado um endpoint para criação de cobrança imediata com txid criado pelo PSP recebedor
- Adicionados Endpoints para o gerenciamento de Locations, habilitando o caso de uso "Reuso de Locations".
- Adicionado campo para descrição complementar do status da devolucão #148
- removido o objeto opcional pix.pagador #153
- os webhooks agora são associados a uma chave pix #120
- os endereços dos endpoints agora apresentam corretamente o fragmento
v2#3
- removido endpoint
DELETE /cob/{txid}/loc, uma vez que o endpoint PATCH cobre a situação. #108
- corrigido array required de CobSolicitada #100
- corrigido exemplo JWS da tag cobPayload
- Endpoint para criação de "Locations"; os locations, denotados por
fdqnPSPRecebedor/pixEndpoint/pixUrlAccessToken, podem ser utilizados para exibir cobranças, de acordo com a vontade do usuário recebedor, mas apenas uma por vez. O location emPUT /cob/{txid}é um objeto que pode ser atribuído pelo usuário recebedor. - A cobrança agora suporta o conceito de "Vencimento", juntamente com as funcionalidades correlatas: juros, multa, descontos, abatimentos e afins.
- O formato do txid foi revisado: o tamanho do txid do estático é diferente do tamanho do txid dinâmico.
- Endpoints que criam recursos deveriam retornar 201 created. #85
- Removidas menções ao o endpoint /refresh. #48
- API começa em v2 e acompanha a major version #3
- revisados exemplos inconsistentes.
- Endpoint para criação de Cobranças
- Endpoint para gerenciamento de Cobranças
- Endpoint para consulta parametrizada de Cobranças
- Endpoint para gerenciamento de Pix
- Endpoint para consulta parametrizada de Pix
- Endpoint para solicitar devolução de Pix
- Endpoint para consultar devolução de Pix
- Endpoint para configurar Webhooks
- Endpoint para exibir informações de Webhooks
- Endpoint para cancelar Webhooks
- Endpoint para acesso ao Payload JSON de Cobrança
- Autenticação e Autorização baseada em OAuth2
- Recursos para gerenciamento de Documentos
- Configuração de vencimento em calendário
- Configuração de juros, multa e desconto em valor