pypix_api.scopes package
Módulo de escopos bancários.
- class pypix_api.scopes.BBScopes[source]
Bases:
BankScopesBaseDefinição de escopos para a API do Banco do Brasil.
- BOLETO = ScopeGroup(name='boleto', scopes=['boletos_inclusao', 'boletos_consulta', 'boletos_alteracao', 'webhooks_alteracao', 'webhooks_consulta', 'webhooks_inclusao'], description='Funcionalidades de boleto bancário')
- COB = ScopeGroup(name='cob', scopes=['cob.read', 'cob.write'], description='Cobranças imediatas do PIX')
- COBR = ScopeGroup(name='cobr', scopes=['cobr.read', 'cobr.write'], description='Cobranças recorrentes do PIX')
- COBV = ScopeGroup(name='cobv', scopes=['cobv.read', 'cobv.write'], description='Cobranças com vencimento do PIX')
- CONTA_CORRENTE = ScopeGroup(name='conta_corrente', scopes=['cco_extrato', 'cco_consulta'], description='Funcionalidades de conta corrente')
- LOCATION = ScopeGroup(name='location', scopes=['payloadlocation.read', 'payloadlocation.write'], description='Locations de payload (QR Code) do PIX')
- LOTECOBV = ScopeGroup(name='lotecobv', scopes=['lotecobv.read', 'lotecobv.write'], description='Lote de cobranças com vencimento do PIX')
- PIX = ScopeGroup(name='pix', scopes=['pix.read', 'pix.write'], description='Funcionalidades do PIX do Banco do Brasil')
- REC = ScopeGroup(name='rec', scopes=['rec.read', 'rec.write'], description='Recorrências do PIX')
- SOLICREC = ScopeGroup(name='solicrec', scopes=['solicrec.read', 'solicrec.write'], description='Solicitações de recorrência do PIX')
- WEBHOOK = ScopeGroup(name='webhook', scopes=['webhook.read', 'webhook.write'], description='Webhooks do PIX')
- WEBHOOK_COBR = ScopeGroup(name='webhook_cobr', scopes=['webhookcobr.read', 'webhookcobr.write'], description='Webhooks de cobranças recorrentes do PIX')
- WEBHOOK_REC = ScopeGroup(name='webhook_rec', scopes=['webhookrec.read', 'webhookrec.write'], description='Webhooks de recorrências do PIX')
- class pypix_api.scopes.ScopeRegistry[source]
Bases:
objectRegistry centralizado para escopos de bancos.
- classmethod combine_scopes(bank_code, *group_names)[source]
Combina múltiplos grupos de escopos de um banco.
- classmethod get_pix_scopes(bank_code)[source]
Obtém os escopos PIX para um código de banco.
- Parameters:
bank_code (
str) – Código do banco- Returns:
Escopos PIX do banco
- Return type:
- classmethod get_scope_group(bank_code, group_name)[source]
Obtém um grupo específico de escopos para um banco.
- Parameters:
- Returns:
Grupo de escopos solicitado
- Return type:
- classmethod get_scopes(bank_code)[source]
Obtém a classe de escopos para um código de banco.
- Parameters:
bank_code (
str) – Código do banco- Returns:
Classe de escopos do banco
- Return type:
Type[BankScopesBase]
- Raises:
ValueError – Se o banco não estiver registrado
- class pypix_api.scopes.SicoobScopes[source]
Bases:
BankScopesBaseDefinição de escopos para a API do Sicoob.
- BOLETO = ScopeGroup(name='boleto', scopes=['boletos_inclusao', 'boletos_consulta', 'boletos_alteracao', 'webhooks_alteracao', 'webhooks_consulta', 'webhooks_inclusao'], description='Funcionalidades completas de boleto bancário')
- BOLETO_BASIC = ScopeGroup(name='boleto_basic', scopes=['boletos_inclusao', 'boletos_consulta', 'boletos_alteracao'], description='Operações básicas de boleto')
- BOLETO_WEBHOOK = ScopeGroup(name='boleto_webhook', scopes=['webhooks_alteracao', 'webhooks_consulta', 'webhooks_inclusao'], description='Webhooks de boleto')
- CONTA_CORRENTE = ScopeGroup(name='conta_corrente', scopes=['cco_consulta', 'cco_transferencias', 'openid'], description='Funcionalidades de conta corrente')
- PIX = ScopeGroup(name='pix', scopes=['cob.write', 'cob.read', 'cobv.write', 'cobv.read', 'lotecobv.write', 'lotecobv.read', 'pix.write', 'pix.read', 'webhook.read', 'webhook.write', 'payloadlocation.write', 'payloadlocation.read'], description='Funcionalidades completas do PIX incluindo cobranças, webhooks e payload location')
- PIX_BASIC = ScopeGroup(name='pix_basic', scopes=['pix.write', 'pix.read'], description='Operações básicas PIX')
- PIX_COB = ScopeGroup(name='pix_cob', scopes=['cob.write', 'cob.read'], description='Cobranças imediatas PIX')
- PIX_COBV = ScopeGroup(name='pix_cobv', scopes=['cobv.write', 'cobv.read'], description='Cobranças com vencimento PIX')
- PIX_COMPLETO = ScopeGroup(name='pix_completo', scopes=['cob.write', 'cob.read', 'cobv.write', 'cobv.read', 'lotecobv.write', 'lotecobv.read', 'pix.write', 'pix.read', 'webhook.read', 'webhook.write', 'payloadlocation.write', 'payloadlocation.read'], description='Todas as funcionalidades PIX')
- PIX_LOTE_COBV = ScopeGroup(name='pix_lote_cobv', scopes=['lotecobv.write', 'lotecobv.read'], description='Lote de cobranças com vencimento PIX')
- PIX_PAYLOAD = ScopeGroup(name='pix_payload', scopes=['payloadlocation.write', 'payloadlocation.read'], description='Payload location PIX')
- PIX_WEBHOOK = ScopeGroup(name='pix_webhook', scopes=['webhook.read', 'webhook.write'], description='Webhooks PIX')
- SCOPE_COBV_READ = 'cobv.read'
- SCOPE_COBV_WRITE = 'cobv.write'
- SCOPE_COB_READ = 'cob.read'
- SCOPE_COB_WRITE = 'cob.write'
- SCOPE_LOTECOBV_READ = 'lotecobv.read'
- SCOPE_LOTECOBV_WRITE = 'lotecobv.write'
- SCOPE_PAYLOADLOCATION_READ = 'payloadlocation.read'
- SCOPE_PAYLOADLOCATION_WRITE = 'payloadlocation.write'
- SCOPE_PIX_READ = 'pix.read'
- SCOPE_PIX_WRITE = 'pix.write'
- SCOPE_WEBHOOK_READ = 'webhook.read'
- SCOPE_WEBHOOK_WRITE = 'webhook.write'
- TODOS_ESCOPOS = ScopeGroup(name='todos', scopes=['cob.write', 'cob.read', 'cobv.write', 'cobv.read', 'lotecobv.write', 'lotecobv.read', 'pix.write', 'pix.read', 'webhook.read', 'webhook.write', 'payloadlocation.write', 'payloadlocation.read', 'boletos_inclusao', 'boletos_consulta', 'boletos_alteracao', 'webhooks_alteracao', 'webhooks_consulta', 'webhooks_inclusao', 'cco_consulta', 'cco_transferencias', 'openid'], description='Todos os escopos disponíveis')
- classmethod combine_scopes(*groups)[source]
Combina múltiplos grupos de escopos em uma string.
- Parameters:
*groups (
ScopeGroup) – Grupos de escopos a serem combinados- Returns:
Escopos combinados separados por espaço
- Return type:
- classmethod get_scope_group(name)[source]
Obtém um grupo de escopos pelo nome.
- Parameters:
name (
str) – Nome do grupo de escopos- Returns:
Grupo de escopos correspondente
- Return type:
- Raises:
AttributeError – Se o grupo não existir
- pypix_api.scopes.get_bank_scopes(bank_code)[source]
Função de conveniência para obter escopos de um banco.
- Return type:
- pypix_api.scopes.get_pix_scopes(bank_code)[source]
Função de conveniência para obter escopos PIX como string.
- Return type:
Submodules
pypix_api.scopes.base module
Classe base para definição de escopos bancários.
- class pypix_api.scopes.base.ScopeGroup(name, scopes, description)[source]
Bases:
objectGrupo de escopos para uma funcionalidade específica.
- __init__(name, scopes, description)
- class pypix_api.scopes.base.BankScopesBase[source]
Bases:
ABCClasse base para definição de escopos bancários.
pypix_api.scopes.bb module
Definição de escopos para a API do Banco do Brasil.
- class pypix_api.scopes.bb.BBScopes[source]
Bases:
BankScopesBaseDefinição de escopos para a API do Banco do Brasil.
- PIX = ScopeGroup(name='pix', scopes=['pix.read', 'pix.write'], description='Funcionalidades do PIX do Banco do Brasil')
- COB = ScopeGroup(name='cob', scopes=['cob.read', 'cob.write'], description='Cobranças imediatas do PIX')
- COBV = ScopeGroup(name='cobv', scopes=['cobv.read', 'cobv.write'], description='Cobranças com vencimento do PIX')
- COBR = ScopeGroup(name='cobr', scopes=['cobr.read', 'cobr.write'], description='Cobranças recorrentes do PIX')
- LOTECOBV = ScopeGroup(name='lotecobv', scopes=['lotecobv.read', 'lotecobv.write'], description='Lote de cobranças com vencimento do PIX')
- REC = ScopeGroup(name='rec', scopes=['rec.read', 'rec.write'], description='Recorrências do PIX')
- SOLICREC = ScopeGroup(name='solicrec', scopes=['solicrec.read', 'solicrec.write'], description='Solicitações de recorrência do PIX')
- LOCATION = ScopeGroup(name='location', scopes=['payloadlocation.read', 'payloadlocation.write'], description='Locations de payload (QR Code) do PIX')
- WEBHOOK = ScopeGroup(name='webhook', scopes=['webhook.read', 'webhook.write'], description='Webhooks do PIX')
- WEBHOOK_COBR = ScopeGroup(name='webhook_cobr', scopes=['webhookcobr.read', 'webhookcobr.write'], description='Webhooks de cobranças recorrentes do PIX')
- WEBHOOK_REC = ScopeGroup(name='webhook_rec', scopes=['webhookrec.read', 'webhookrec.write'], description='Webhooks de recorrências do PIX')
- CONTA_CORRENTE = ScopeGroup(name='conta_corrente', scopes=['cco_extrato', 'cco_consulta'], description='Funcionalidades de conta corrente')
- BOLETO = ScopeGroup(name='boleto', scopes=['boletos_inclusao', 'boletos_consulta', 'boletos_alteracao', 'webhooks_alteracao', 'webhooks_consulta', 'webhooks_inclusao'], description='Funcionalidades de boleto bancário')
pypix_api.scopes.registry module
Registry para gerenciar escopos de diferentes bancos.
- class pypix_api.scopes.registry.ScopeRegistry[source]
Bases:
objectRegistry centralizado para escopos de bancos.
- classmethod register(bank_code, scope_class)[source]
Registra uma classe de escopos para um código de banco.
- Parameters:
bank_code (
str) – Código do banco (ex: ‘001’, ‘756’, ‘bb’, ‘sicoob’)scope_class (
type[BankScopesBase]) – Classe que define os escopos do banco
- Return type:
- classmethod get_scopes(bank_code)[source]
Obtém a classe de escopos para um código de banco.
- Parameters:
bank_code (
str) – Código do banco- Returns:
Classe de escopos do banco
- Return type:
Type[BankScopesBase]
- Raises:
ValueError – Se o banco não estiver registrado
- classmethod get_pix_scopes(bank_code)[source]
Obtém os escopos PIX para um código de banco.
- Parameters:
bank_code (
str) – Código do banco- Returns:
Escopos PIX do banco
- Return type:
- classmethod get_scope_group(bank_code, group_name)[source]
Obtém um grupo específico de escopos para um banco.
- Parameters:
- Returns:
Grupo de escopos solicitado
- Return type:
pypix_api.scopes.sicoob module
Definição de escopos para a API do Sicoob.
Este módulo contém as definições de escopos necessários para diferentes funcionalidades da API do Sicoob, organizados por categoria.
- class pypix_api.scopes.sicoob.SicoobScopes[source]
Bases:
BankScopesBaseDefinição de escopos para a API do Sicoob.
- SCOPE_COB_WRITE = 'cob.write'
- SCOPE_COB_READ = 'cob.read'
- SCOPE_COBV_WRITE = 'cobv.write'
- SCOPE_COBV_READ = 'cobv.read'
- SCOPE_LOTECOBV_WRITE = 'lotecobv.write'
- SCOPE_LOTECOBV_READ = 'lotecobv.read'
- SCOPE_PIX_WRITE = 'pix.write'
- SCOPE_PIX_READ = 'pix.read'
- SCOPE_WEBHOOK_READ = 'webhook.read'
- SCOPE_WEBHOOK_WRITE = 'webhook.write'
- SCOPE_PAYLOADLOCATION_WRITE = 'payloadlocation.write'
- SCOPE_PAYLOADLOCATION_READ = 'payloadlocation.read'
- PIX = ScopeGroup(name='pix', scopes=['cob.write', 'cob.read', 'cobv.write', 'cobv.read', 'lotecobv.write', 'lotecobv.read', 'pix.write', 'pix.read', 'webhook.read', 'webhook.write', 'payloadlocation.write', 'payloadlocation.read'], description='Funcionalidades completas do PIX incluindo cobranças, webhooks e payload location')
- PIX_COB = ScopeGroup(name='pix_cob', scopes=['cob.write', 'cob.read'], description='Cobranças imediatas PIX')
- PIX_COBV = ScopeGroup(name='pix_cobv', scopes=['cobv.write', 'cobv.read'], description='Cobranças com vencimento PIX')
- PIX_LOTE_COBV = ScopeGroup(name='pix_lote_cobv', scopes=['lotecobv.write', 'lotecobv.read'], description='Lote de cobranças com vencimento PIX')
- PIX_BASIC = ScopeGroup(name='pix_basic', scopes=['pix.write', 'pix.read'], description='Operações básicas PIX')
- PIX_WEBHOOK = ScopeGroup(name='pix_webhook', scopes=['webhook.read', 'webhook.write'], description='Webhooks PIX')
- PIX_PAYLOAD = ScopeGroup(name='pix_payload', scopes=['payloadlocation.write', 'payloadlocation.read'], description='Payload location PIX')
- BOLETO = ScopeGroup(name='boleto', scopes=['boletos_inclusao', 'boletos_consulta', 'boletos_alteracao', 'webhooks_alteracao', 'webhooks_consulta', 'webhooks_inclusao'], description='Funcionalidades completas de boleto bancário')
- BOLETO_BASIC = ScopeGroup(name='boleto_basic', scopes=['boletos_inclusao', 'boletos_consulta', 'boletos_alteracao'], description='Operações básicas de boleto')
- BOLETO_WEBHOOK = ScopeGroup(name='boleto_webhook', scopes=['webhooks_alteracao', 'webhooks_consulta', 'webhooks_inclusao'], description='Webhooks de boleto')
- CONTA_CORRENTE = ScopeGroup(name='conta_corrente', scopes=['cco_consulta', 'cco_transferencias', 'openid'], description='Funcionalidades de conta corrente')
- PIX_COMPLETO = ScopeGroup(name='pix_completo', scopes=['cob.write', 'cob.read', 'cobv.write', 'cobv.read', 'lotecobv.write', 'lotecobv.read', 'pix.write', 'pix.read', 'webhook.read', 'webhook.write', 'payloadlocation.write', 'payloadlocation.read'], description='Todas as funcionalidades PIX')
- TODOS_ESCOPOS = ScopeGroup(name='todos', scopes=['cob.write', 'cob.read', 'cobv.write', 'cobv.read', 'lotecobv.write', 'lotecobv.read', 'pix.write', 'pix.read', 'webhook.read', 'webhook.write', 'payloadlocation.write', 'payloadlocation.read', 'boletos_inclusao', 'boletos_consulta', 'boletos_alteracao', 'webhooks_alteracao', 'webhooks_consulta', 'webhooks_inclusao', 'cco_consulta', 'cco_transferencias', 'openid'], description='Todos os escopos disponíveis')
- classmethod get_scope_group(name)[source]
Obtém um grupo de escopos pelo nome.
- Parameters:
name (
str) – Nome do grupo de escopos- Returns:
Grupo de escopos correspondente
- Return type:
- Raises:
AttributeError – Se o grupo não existir
- classmethod combine_scopes(*groups)[source]
Combina múltiplos grupos de escopos em uma string.
- Parameters:
*groups (
ScopeGroup) – Grupos de escopos a serem combinados- Returns:
Escopos combinados separados por espaço
- Return type: