Skip to main content

Client for interacting with a RAP Conector API instance

Project description

rap-conector-client

Instalação

O cliente é distribuído como um pacote pip tradicional. Para instalar:

$ pip install rap-conector-client

Tabela de compatibilidade

A versão do cliente que deve ser utilizada depende da versão do RAP Conector a ser acessado. O esquema de versionamento segue o formato vX.Y.Z.A, onde:

  • X.Y.Z é referente à versão do RAP Conector. Por exemplo, caso esteja utilizando o RAP Conector v0.11.3, X.Y.Z na versão do cliente deve ser 0.11.3.
    • Obs.: Caso essa versão não exista no cliente, deve-se utilizar a versão anterior mais próxima.
  • A é referente à versão do cliente em si. Idealmente deve ser sempre a mais recente.

Por exemplo:

Versão do RAP Conector Versão do cliente que deve ser utilizada
v0.23.0 v0.23.0.1
v0.21.0 v0.21.0.1
v0.20.0 v0.20.0.1
v0.19.0 v0.19.0.1
v0.18.1 v0.18.1.3
v0.17.0 v0.17.0.1
v0.16.0 v0.16.0.1
v0.15.0 v0.15.0.2
v0.14.0 v0.14.0.1
v0.13.3 v0.11.3.1
v0.13.2 v0.11.3.1
v0.13.1 v0.11.3.1
v0.13.0 v0.11.3.1
v0.12.0 v0.11.3.1
v0.11.4 v0.11.3.1
v0.11.3 v0.11.3.1
v0.11.2 v0.9.0.1
v0.11.1 v0.9.0.1
v0.11.0 v0.9.0.1
v0.10.1 v0.9.0.1
v0.10.0 v0.9.0.1
v0.9.0 v0.9.0.1

Guia de atualizações

Caso esteja atualizando e vindo de uma versão mais antiga, é importante estar ciente das breaking changes que ocorreram em cada versão. São elas:

  • v0.19.0.1
    • O campo raw_signatures foi removido do retorno de Document.get_receipt().

Exemplos de uso

Uso básico do cliente

O ponto de partida para o uso da API é a classe Client. A partir dela, é possível por exemplo receber instâncias da classe Document:

>>> import rapconector
>>> conector = rapconector.Client('{{ URL_DO_CONECTOR }}/api')
>>> doc = conector.get_document(25)
>>> doc.current_state
503

A partir dessa instância, é possível interagir com o documento no Conector:

>>> receipt = doc.get_receipt()
>>> receipt['status']
'preserved'
>>> receipt['group_id']
'350'

Caso deseje interagir com um documento sem precisar antes fazer uma requisição para pegar o objeto do documento, é possível utilizar a função with_document_id() da classe principal:

>>> conector.with_document_id(39).suspend('Suspendendo o documento com id 39.')
True

Além disso, também são disponibilizadas algumas classes de enumeração para melhorar a legibilidade do código:

>>> from rapconector.document import DocumentStateCode
>>> doc.current_state == DocumentStateCode.ERROR_DURING_SIGNING
True

Download e validação de um arquivo

Por questões de performance, os métodos que interagem com arquivos do Conector não fornecem suporte a parâmetros do tipo string. Sendo assim, é necessário passar file handles abertos para os métodos que fazem upload, e os métodos que fazem download de arquivos retornam um objeto requests.Response com a propriedade stream=True, para que a aplicação tenha controle total sobre o processo de download:

>>> from rapconector.document import DocumentType, DocumentVersion
>>>
>>> res = conector.with_document_id(17).download_file(DocumentVersion.SIGNED)
>>> with open('diploma.xml', 'wb') as f:
>>>     for chunk in res.iter_content(chunk_size=4096):
>>>         f.write(chunk)
>>>
>>> with open('diploma.xml', 'r') as f:
>>>     authenticity = conector.authenticate_document(
>>>         DocumentType.ACADEMIC_DOC_MEC_DEGREE,
>>>             ('diploma.xml', f, 'application/xml'))
>>>
>>> authenticity.valid
True

Documentação

A documentação completa de todas as versões disponíveis do pacote podem ser encontradas neste link.

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

rap-conector-client-0.23.0.1.tar.gz (20.9 kB view hashes)

Uploaded Source

Built Distribution

rap_conector_client-0.23.0.1-py3-none-any.whl (22.6 kB view hashes)

Uploaded Python 3

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