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_signaturesfoi removido do retorno deDocument.get_receipt().
- O campo
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dac774e40a623b8ec685a4b76d25493567522b84f18258579719ed18143e3269
|
|
| MD5 |
613bb09f3be46f5a90d8caafff89f7f0
|
|
| BLAKE2b-256 |
7f79e3afd9ea67547d2594dc6e5742002109f0e23f04c02b72228ac67db147e1
|
File details
Details for the file rap_conector_client-0.25.0.2-py3-none-any.whl.
File metadata
- Download URL: rap_conector_client-0.25.0.2-py3-none-any.whl
- Upload date:
- Size: 23.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
099acb57382e94a5b65c5bc85cc64d9e258f81a49ce28e61b869badf737893bf
|
|
| MD5 |
3a74f6c18bfed098f5e3400248f4c2f4
|
|
| BLAKE2b-256 |
700412b3dba8369f1eba0a5ceb47cd9e002126d8c82d94c2fb883d93ace7f0d7
|