{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/citi/main/json-schema/citi-cob-rgerada-schema.json", "title": "Cobrança Recorrente Gerada", "description": "Dados criados ou alterados da cobrança recorrente via API Pix", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/citi-cobr-api-openapi.yml#/components/schemas/CobRGerada", "type": "object", "required": [ "idRec", "txid", "status", "valor", "recebedor", "calendario" ], "allOf": [ { "type": "object", "properties": { "idRec": { "$ref": "#/$defs/RecId" } } }, { "type": "object", "properties": { "txid": { "$ref": "#/$defs/TxId" } } }, { "$ref": "#/$defs/CobRBase" }, { "type": "object", "properties": { "calendario": { "type": "object", "required": [ "criacao" ], "properties": { "criacao": { "type": "string", "format": "date", "title": "Data de criação da cobrança", "description": "Trata-se de uma data, no formato `YYYY-MM-DD`, segundo ISO 8601. É a data de criação da cobrança." } } } } }, { "type": "object", "properties": { "recebedor": { "allOf": [ { "$ref": "#/$defs/PessoaJuridicaRecorrencia" } ] } } }, { "$ref": "#/$defs/CobRStatus" }, { "$ref": "#/$defs/DadosDevedorRecorrencia" } ], "$defs": { "CobRBase": { "type": "object", "title": "Cobrança Recorrente Base", "required": [ "ajusteDiaUtil" ], "description": "Atributos de cobrança recorrente", "properties": { "infoAdicional": { "type": "string", "title": "Informações adicionais da fatura.", "description": "Informações adicionais da fatura.", "minLength": 1, "maxLength": 140 }, "calendario": { "type": "object", "title": "Informações sobre calendário da cobrança", "required": [ "dataDeVencimento" ], "description": "", "properties": { "dataDeVencimento": { "type": "string", "format": "date", "title": "Data de vencimento da cobrança", "description": "Trata-se de uma data, no formato `YYYY-MM-DD`, segundo ISO 8601. É a data de vencimento da cobrança." } } }, "valor": { "type": "object", "title": "Valor da cobrança recorrente", "required": [ "original" ], "description": "Valor da cobrança recorrente", "properties": { "original": { "type": "string", "title": "Valor", "pattern": "\\d{1,10}\\.\\d{2}", "description": "Valor original da cobrança." } } }, "ajusteDiaUtil": { "type": "boolean", "title": "Ajuste data prevista para liquidação para próximo dia útil", "default": false, "description": "Campo de ativação do ajuste da data prevista para liquidação para próximo dia útil caso o vencimento corrente seja um dia não útil. O PSP Recebedor deverá considerar os feriados locais com base no código município do usuário pagador." }, "recebedor": { "title": "Recebedor", "description": "O objeto recebedor organiza as informações sobre o recebedor da cobrança.", "allOf": [ { "$ref": "#/$defs/DadosBancariosRecebedor" } ] } } }, "CobRStatus": { "type": "object", "title": "Status da Cobrança Recorrente", "properties": { "status": { "type": "string", "title": "Status do registro da cobrança", "enum": [ "CRIADA", "ATIVA", "CONCLUIDA", "EXPIRADA", "REJEITADA", "CANCELADA" ] } } }, "DadosBancariosRecebedor": { "type": "object", "required": [ "conta", "tipoConta" ], "properties": { "conta": { "type": "string", "title": "Conta", "description": "Número da conta do usuário recebedor.", "minLength": 1, "maxLength": 20 }, "tipoConta": { "type": "string", "title": "Tipo da conta do usuário recebedor", "description": "Tipo da conta do usuário recebedor.", "enum": [ "CORRENTE", "POUPANCA", "PAGAMENTO" ] }, "agencia": { "type": "string", "title": "Agencia", "description": "Número da agência do usuário recebedor.", "minLength": 1, "maxLength": 4 } } }, "DadosComplementaresPessoa": { "type": "object", "properties": { "logradouro": { "type": "string", "title": "Logradouro", "description": "Logradouro do usuário.", "minLength": 1, "maxLength": 200 }, "cidade": { "type": "string", "title": "Cidade", "description": "Cidade do usuário.", "minLength": 1, "maxLength": 200 }, "uf": { "type": "string", "title": "UF", "description": "UF do usuário.", "minLength": 2, "maxLength": 2 }, "cep": { "type": "string", "title": "CEP", "description": "CEP do usuário.", "minLength": 8, "maxLength": 8 } } }, "DadosDevedorRecorrencia": { "type": "object", "properties": { "devedor": { "title": "Devedor", "description": "O objeto devedor organiza as informações sobre o devedor da recorrência.", "allOf": [ { "type": "object", "properties": { "email": { "type": "string", "title": "Email", "pattern": "[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}$", "description": "Email do usuário." } } }, { "$ref": "#/$defs/DadosComplementaresPessoa" } ] } } }, "PessoaJuridicaRecorrencia": { "type": "object", "required": [ "cnpj", "nome" ], "title": "Pessoa Jurídica", "properties": { "cnpj": { "type": "string", "title": "CNPJ", "pattern": "/^\\d{14}$/", "description": "CNPJ do usuário." }, "nome": { "type": "string", "title": "Nome", "description": "Nome do usuário.", "minLength": 1, "maxLength": 140 } } }, "RecId": { "type": "string", "title": "ID Recorrência", "description": "# Identificador da Recorrência\n\nRegra de formação:\n- RAxxxxxxxxyyyyMMddkkkkkkkkkkk (29 caracteres; \"case sensitive\", isso é, diferencia letras maiúsculas e minúsculas), sendo:\n - \"R\": fixo (1 caractere). \"R\" para a recorrência criada dentro do Pix;\n - \"A\": identificação da possibilidade de novas tentativas, sendo possíveis os valores \"R\" ou \"N\" (1 caractere). \"R\" caso a recorrência permita novas tentativas de pagamento pós vencimento, ou \"N\" caso não permita novas tentativas.\n - \"xxxxxxxx\": identificação do agente que presta serviço para o usuário recebedor que gerou o , podendo ser: o ISPB do participante direto, o ISPB do participante indireto ou os 8 primeiros dígitos do CNPJ do prestador de serviço de iniciação (8 caracteres numéricos [0-9]);\n - \"yyyyMMdd\": data (8 caracteres) de criação da recorrência;\n - \"kkkkkkkkkkk\": sequencial criado pelo agente que gerou o (11 caracteres alfanuméricos [a-z|A-Z|0-9]). Deve ser único dentro de cada \"yyyyMMdd\".\n\nDessa forma, o ID da recorrência deve ser formado de acordo com um dos tipos a seguir:\n- \"RRxxxxxxxxyyyyMMddkkkkkkkkkkk\"; para recorrência criada dentro do Pix e que permite novas tentativas de pagamento pós vencimento; ou\n- \"RNxxxxxxxxyyyyMMddkkkkkkkkkkk\"; para recorrência criada dentro do Pix e que não permite novas tentativas de pagamento pós vencimento.”\n", "pattern": "[a-zA-Z0-9]{29}", "minLength": 29, "maxLength": 29 }, "TxId": { "type": "string", "title": "Id da Transação", "description": "# Identificador da transação\n\nO campo `txid` determina o identificador da transação.\nO objetivo desse campo é ser um elemento que possibilite ao PSP do recebedor apresentar ao usuário recebedor a funcionalidade de conciliação de pagamentos.\n\nNa pacs.008, é referenciado como `TransactionIdentification ` ou `idConciliacaoRecebedor`.\n\nEm termos de fluxo de funcionamento, o txid é lido pelo aplicativo do PSP do pagador e, \ndepois de confirmado o pagamento, é enviado para o SPI via pacs.008. \nUma pacs.008 também é enviada ao PSP do recebedor, contendo, além de todas as informações usuais \ndo pagamento, o txid.\nAo perceber um recebimento dotado de txid, o PSP do recebedor está apto a se comunicar com o usuário recebedor, \ninformando que um pagamento específico foi liquidado.\n\nO txid é criado exclusivamente pelo usuário recebedor e está sob sua responsabilidade.\nO txid, no contexto de representação de uma cobrança, é único por CPF/CNPJ do usuário recebedor. Cabe ao \nPSP recebedor validar essa regra na API Pix.\n", "pattern": "[a-zA-Z0-9]{26,35}", "minLength": 26, "maxLength": 35 } } }