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.25.0 v0.25.0.2
v0.24.12 v0.24.12.1
v0.24.11 v0.24.0.1
v0.24.10 v0.24.0.1
v0.24.9 v0.24.0.1
v0.24.8 v0.24.0.1
v0.24.7 v0.24.0.1
v0.24.6 v0.24.0.1
v0.24.5 v0.24.0.1
v0.24.4 v0.24.0.1
v0.24.3 v0.24.0.1
v0.24.2 v0.24.0.1
v0.24.1 v0.24.0.1
v0.24.0 v0.24.0.1
v0.23.4 v0.23.0.1
v0.23.3 v0.23.0.1
v0.23.2 v0.23.0.1
v0.23.1 v0.23.0.1
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.25.0.2.tar.gz (22.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rap_conector_client-0.25.0.2-py3-none-any.whl (23.9 kB view details)

Uploaded Python 3

File details

Details for the file rap-conector-client-0.25.0.2.tar.gz.

File metadata

  • Download URL: rap-conector-client-0.25.0.2.tar.gz
  • Upload date:
  • Size: 22.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.5

File hashes

Hashes for rap-conector-client-0.25.0.2.tar.gz
Algorithm Hash digest
SHA256 dac774e40a623b8ec685a4b76d25493567522b84f18258579719ed18143e3269
MD5 613bb09f3be46f5a90d8caafff89f7f0
BLAKE2b-256 7f79e3afd9ea67547d2594dc6e5742002109f0e23f04c02b72228ac67db147e1

See more details on using hashes here.

File details

Details for the file rap_conector_client-0.25.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for rap_conector_client-0.25.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 099acb57382e94a5b65c5bc85cc64d9e258f81a49ce28e61b869badf737893bf
MD5 3a74f6c18bfed098f5e3400248f4c2f4
BLAKE2b-256 700412b3dba8369f1eba0a5ceb47cd9e002126d8c82d94c2fb883d93ace7f0d7

See more details on using hashes here.

Supported by

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