Introdução¶
Instalação¶
O cliente é distribuído como um pacote pip. Para instalar:
$ python -m pip install rap-conector-client
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
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