Package: rap-conector-client
rap-conector-clientInstalaçãoO cliente é distribuído como um pacote pip tradicional. Para instalar:$pipinstallrap-conector-clientTabela de compatibilidadeA versão do cliente que deve ser utilizada depende da versão do RAP Conector a ser acessado. O esquema de versionamento segue o formatovX.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.Zna 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 ConectorVersão do cliente que deve ser utilizadav0.23.0v0.23.0.1v0.21.0v0.21.0.1v0.20.0v0.20.0.1v0.19.0v0.19.0.1v0.18.1v0.18.1.3v0.17.0v0.17.0.1v0.16.0v0.16.0.1v0.15.0v0.15.0.2v0.14.0v0.14.0.1v0.13.3v0.11.3.1v0.13.2v0.11.3.1v0.13.1v0.11.3.1v0.13.0v0.11.3.1v0.12.0v0.11.3.1v0.11.4v0.11.3.1v0.11.3v0.11.3.1v0.11.2v0.9.0.1v0.11.1v0.9.0.1v0.11.0v0.9.0.1v0.10.1v0.9.0.1v0.10.0v0.9.0.1v0.9.0v0.9.0.1Guia de atualizaçõesCaso 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.1O camporaw_signaturesfoi removido do retorno deDocument.get_receipt().Exemplos de usoUso básico do clienteO ponto de partida para o uso da API é a classeClient. A partir dela, é possível por exemplo receber instâncias da classeDocument:>>>importrapconector>>>conector=rapconector.Client('{{ URL_DO_CONECTOR }}/api')>>>doc=conector.get_document(25)>>>doc.current_state503A 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çãowith_document_id()da
classe principal:>>>conector.with_document_id(39).suspend('Suspendendo o documento com id 39.')TrueAlém disso, também são disponibilizadas algumas classes de enumeração para melhorar a legibilidade do
código:>>>fromrapconector.documentimportDocumentStateCode>>>doc.current_state==DocumentStateCode.ERROR_DURING_SIGNINGTrueDownload e validação de um arquivoPor 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 passarfile handlesabertos para os métodos que fazem upload, e os
métodos que fazem download de arquivos retornam um objetorequests.Responsecom a propriedadestream=True, para que a
aplicação tenha controle total sobre o processo de download:>>>fromrapconector.documentimportDocumentType,DocumentVersion>>>>>>res=conector.with_document_id(17).download_file(DocumentVersion.SIGNED)>>>withopen('diploma.xml','wb')asf:>>>forchunkinres.iter_content(chunk_size=4096):>>>f.write(chunk)>>>>>>withopen('diploma.xml','r')asf:>>>authenticity=conector.authenticate_document(>>>DocumentType.ACADEMIC_DOC_MEC_DEGREE,>>>('diploma.xml',f,'application/xml'))>>>>>>authenticity.validTrueDocumentaçãoA documentação completa de todas as versões disponíveis do pacote podem ser encontradasneste link.