Skip to main content

SDK Python3 para Integração com Juno

Project description

SDK Python3 para Integração com Juno

Esta SDK foi desenvolvida para abstrair aos desenvolvedores os principais detalhes da comunicação com API v2 da Juno tanto em produção quanto em ambiente sandbox.

Você pode acessar a documentação base da api aqui: Api V2 Juno.

Instalação

Instalação utilizando Pip

pip install junopy

Git/Clone

git clone https://github.com/robertons/junopy
cd junopy
pip install -r requirements.txt
python setup.py install

Configuração Inicial com Token

import junopy

junopy.Juno('PRIVATE_TOKEN', 'CLIENT_ID', 'CLIENT_SECRET')

Obtenção de TOKEN

Cada token com permissão de acesso ao servidor de serviço tem validade de 1 hora, a recomendação da Juno é que um novo Token seja gerado apenas em caso de expiração. A instancia gerada administra isso automaticamente, contudo a função GetToken permite obter o token para que os dados sejam utilizado em outras instâncias. Este processo não é obrigatório, mas é recomendável principalmente em sistemas onde serão criadas novas instâncias junopy a cada transação

import junopy

junopy.Juno('PRIVATE_TOKEN', 'CLIENT_ID', 'CLIENT_SECRET')
junopy.GetToken()
token_valido_1h = junopy.TOKEN

Definição Token de Acesso - Usando dados gerados anteriormente

É possível definir manualmente os dados de acesso através da função SetToken

import junopy

junopy.Juno('PRIVATE_TOKEN')
junopy.SetToken('access_token', 'token_type', 'expires')

Conta Digital

A seção compreende:

  • Criação de contas digitais
  • Consulta de contas digital
  • Alteração de dados da conta digital

Criação

Objetos podem ser criados e preenchidos em duas formas. na sua inicialização incluindo um dictionary como kargs (Address no exemplo abaixo) ou campos individualmente (DigitalAccount e BankAccount no exemplo abaixo)

Após o preenchimento do Objeto o comando Create, realiza o Post na ApiV2.

	conta = junopy.DigitalAccount()

    conta.name = "Usuário Teste"
    conta.document = "123.456.789-00"
    conta.email = "usu.teste@email.com"
    conta.birthDate = "1980-01-01" #
    conta.phone = "9999999999"
    conta.businessArea = 0
    conta.linesOfBusiness = "INDIVIDUAL"

    conta.address = junopy.Address(**{
    		'street': 'Nome da Rua',
    		'number': '01',
    		'complement': 'Casa',
    		'neighborhood': 'Bairro',
    		'city': 'Cidade',
    		'state': 'UF',
    		'postCode': '99999999'
    })

    conta_bancaria =  junopy.BankAccount()
    conta_bancaria.bankNumber = "000"
    conta_bancaria.agencyNumber = "1111"
    conta_bancaria.accountNumber = "22334455"
    conta_bancaria.accountComplementNumber = "0"
    conta_bancaria.accountType = "CHECKING"
    conta_bancaria.accountHolder = junopy.AccountHolder(**{
    		'name': 'Usuario Teste',
    		'document': '00000000000'
    })
    conta.bankAccount = conta_bancaria

    conta.Create()

Consulta

	conta = junopy.DigitalAccount().Get()

Atualialização

	conta = junopy.DigitalAccount()
	conta.id = "CO_IDTOKEN"
	conta.address = junopy.Address(**{
    		'street': 'Nome da Rua',
    		'number': '01',
    		'complement': 'Casa',
    		'neighborhood': 'Bairro',
    		'city': 'Cidade',
    		'state': 'UF',
    		'postCode': '99999999'
    })
	conta = junopy.DigitalAccount().Update()

Alguns módulos estão em Desenvolvimento:

  • Credenciais de Contas Digitais
  • Onboarding - Solução Whitelabel
  • Listagem, consulta e envio de Documentos

Saldo

import junopy

junopy.Juno('PRIVATE_TOKEN', 'CLIENT_ID', 'CLIENT_SECRET')
saldo = junopy.Balance()

{'balance': 0.0, 'withheldBalance': 0.0, 'transferableBalance': 0.0}

Transferência

Conta Bancária Default

import junopy

junopy.Juno('PRIVATE_TOKEN', 'CLIENT_ID', 'CLIENT_SECRET')
transfer = junopy.transfers.Default(100.0)

Transferência P2P

import junopy

junopy.Juno('PRIVATE_TOKEN', 'CLIENT_ID', 'CLIENT_SECRET')
#P2P(name:str, document:str, amount:float, accountNumber:str)
transfer = junopy.transfers.P2P('Nome', 'CPF/CNPJ', 100.0, 'NUMERO_CONTA_2P')

Transferência Bancária

import junopy

junopy.Juno('PRIVATE_TOKEN', 'CLIENT_ID', 'CLIENT_SECRET')
#Bank(name:str, document:str, amount:float, bank:BankAccount)

conta_bancaria =  junopy.BankAccount()
conta_bancaria.bankNumber = "000"
conta_bancaria.agencyNumber = "1111"
conta_bancaria.accountNumber = "22334455"
conta_bancaria.accountComplementNumber = "0"
conta_bancaria.accountType = "CHECKING"
transfer = junopy.transfers.Bank('Nome', 'CPF/CNPJ', 100.0, conta_bancaria)

Transferência PIX

import junopy

junopy.Juno('PRIVATE_TOKEN', 'CLIENT_ID', 'CLIENT_SECRET')
#Pix(name:str, document:str, amount:float, bank:BankAccount)
transfer = junopy.transfers.Pix('Nome', 'CPF/CNPJ', 100.0, junopy.BankAccount(**{
	'ispb': '0000000',
	'bankNumber':"000",
	'agencyNumber':"1111",
	'accountNumber':"22334455",
	'accountComplementNumber':"0",
	'accountType':"SAVINGS"
}))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

junopy-0.0.1.tar.gz (17.9 kB view details)

Uploaded Source

File details

Details for the file junopy-0.0.1.tar.gz.

File metadata

  • Download URL: junopy-0.0.1.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/56.0.0 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.8.10

File hashes

Hashes for junopy-0.0.1.tar.gz
Algorithm Hash digest
SHA256 7c1785bac328a9498bf53c5a1e84bef30b7774e25e8d46ce0a1ca1c096725cdf
MD5 36b99157a3c7b0a33ef267697c51176c
BLAKE2b-256 caea6fb72c7b39b90702d93efe5fe39ff4c561142e8756de72a43e8926ba4a10

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page