Documentação da API

Classes Principais

Toda a funcionalidade do Conector pode ser acessada através dessas duas classes.

Client

class rapconector.client.Client(base_url, *args, **kwargs)

Cliente da API.

Observação: qualquer parâmetro não listado abaixo será repassado diretamente para o construtor do requests.Session.

Parâmetros:
  • base_url (str) – URL do conector.

  • email (str, optional) – E-mail para autenticação.

  • password (str, optional) – Senha para autenticação.

  • default_timeout (number, optional) – Timeout padrão para ser utilizado em todas as requisições.

Retorna:

Instância da classe.

with_document_id(document_id)

Retorna uma instância de Document com somente o campo document_id preenchido. Útil para evitar requisições adicionais. Por exemplo:

# 2 requisições: uma para get_document() e outra para get_receipt()
receipt = conector.get_document(372).get_receipt()

# 1 única requisição, pois `with_document_id` cria um objeto vazio
receipt = conector.with_document_id(372).get_receipt()
Parâmetros:

document_id (int) – Identificador do documento.

Tipo de retorno:

Document

get_group(group_id)

Exibe as informações básicas de um grupo de documentos, incluindo os slots ocupados e disponíveis para a inserção de novos documentos.

IMPORTANTE:: Novos documentos só devem ser inseridos em grupos parcialmente ocupados caso o documento seja do tipo do slot disponível e que contenha dados complementares aos demais documentos.

Parâmetros:

group_id (str) – Identificador do grupo de documentos.

Retorna:

O documento especificado, caso exista. None caso contrário.

Tipo de retorno:

Document

list_groups(group_type=None, page=None, limit=None)

Lista todos os grupos de documentos, incluindo seus slots ocupados e disponíveis para a inserção de novos documentos.

IMPORTANTE:: Novos documentos só devem ser inseridos em grupos parcialmente ocupados caso o documento seja do tipo do slot disponível e que contenha dados complementares aos demais documentos.

Parâmetros:
  • group_type (DocumentGroupType, optional) – Tipo do grupo de documentos, utilizado para a filtragem dos resultados.

  • page (int, optional) – Número da página utilizada na paginação dos resultados.

  • limit (int, optional) – Quantos items retornar por página.

Retorna:

Lista de grupos de documentos.

Tipo de retorno:

list(DocumentGroup)

delete_group(group_id)

Deleta um grupo de documentos da base de dados do Conector, incluindo todos os documentos nele contidos.

IMPORTANTE: Essa operação apaga apenas os documentos do registro local, de forma que não deleta os documentos preservados no registro do Serviço RAP. Para a remoção dos documentos do registro do RAP é necessário revogá-los antes deletar os dados no Conector.

Parâmetros:

group_id (str) – Identificador do grupo de documentos a ser removido.

Retorna:

Número de documentos removidos.

Tipo de retorno:

int

get_document(id_or_security_code)

Exibe as informações básicas de um documento, incluindo o código de segurança que se torna disponível após o documento ser gerado e o recibo após o documento ser registrado.

Cada documento possui um código de segurança baseado no seu contexto. No caso do Diploma Digital esse código de segurança é o Código de Validação do Diploma.

Parâmetros:

id_or_security_code (int or str) – Identificador ou código de segurança do documento.

Retorna:

O documento especificado.

Tipo de retorno:

Document

list_documents(state=None, document_type=None, cpf=None, page=None, start_date=None, end_date=None, limit=None)

Lista todos os documentos processados pelo RAP Conector, indicando para cada documento o seu estado atual.

Parâmetros:
  • state (DocumentStateCode, optional) – Código de estado para utilizar como filtro. O retorno incluirá todos os documentos que já passaram pelo estado especificado. Nesse contexto, currentState representa o estado corrente da consulta e não o estado atual do documento.

  • document_type (DocumentType, optional) – Tipo de documento, para utilizar como filtro.

  • cpf (str, optional) – CPF do diplomado, para utilizar como filtro.

  • start_date (string, optional) – Parâmetro para filtragem, de forma que a resposta só ira conter documentos criados após essa data. Formato da data é o definido em RFC 3339, seção 5.6 (exemplo: 2021-03-21).

  • end_date (string, optional) – Complementar do start_date. Deve ser fornecido caso ele não seja nulo.

  • page (int, optional) – Número da página utilizada na paginação dos resultados.

  • limit (int, optional) – Quantos items retornar por página.

Retorna:

Lista de documentos.

Tipo de retorno:

list(Document)

insert_document(document_type, document_data, document_file=None)

Insere um novo documento ou um lote de documentos.

IMPORTANTE: As etapas de processamento dos documentos possuem uma ordem lógica bem definida que deve ser respeitada. Inicialmente deve ser gerada, assinada e registrada a Documentação Acadêmica. Após isso, deve ser gerado, assinado e registrado o Diploma Digital associado. Por último (opcionalmente) pode ser processada a Representação Visual do Diploma.

IMPORTANTE: Os arquivos PDF anexados em base64 no JSON da Documentação Acadêmica ou inseridos no campo document_file para a Representação Visual, devem estar preferencialmente no formato de preservação PDF/A (www.pdfa.org). Caso algum arquivo esteja no formato PDF comum, o Conector tentará a conversão automática que se for malsucedida, fará com que o documento entre no estado de erro de geração.

Parâmetros:
  • document_type (DocumentType) – Código do tipo do documento.

  • document_data (str) – Dados e metadados do documento, em formato JSON. No caso da inserção em lote, o JSON esperado é um array onde cada item representa (e obedece o schema) da inserção de um único documento. Caso o lote seja do tipo DocumentType.VISUAL_REP_DEGREE, deve ser adicionado nos metadados de cada documento o atributo attachment contendo o nome e a extensão do arquivo utilizado no parâmetro document_file para que a representação visual do diploma seja associada ao documento correspondente.

  • document_file (tuple or list(tuple), optional) – Arquivo(s) do documento, onde um arquivo é uma tupla name (str), file (IOBase), mime_type (str).

Retorna:

O identificador do documento inserido, ou uma lista de identificadores no caso da inserção em lote.

Tipo de retorno:

int or list(int)

retrieve_file(document_type, client_id, your_number)

Recupera o arquivo de um documento diretamente do Serviço de Preservação usando os metadados do documento preservado.

Parâmetros:
  • document_type (ExternalDocumentType) – Código do tipo do documento.

  • client_id (string) – Identificador da instituição cliente.

  • your_number (string) – Identificador do documento no contexto do cliente.

Retorna:

Um objeto requests.Response, com a propriedade stream setada para True. Para exemplos de como realizar o download do arquivo de forma eficiente, ver https://stackoverflow.com/a/39217788 e https://2.python-requests.org/en/master/user/quickstart/#raw-response-content.

Tipo de retorno:

requests.Response

authenticate_document(document_type, document_file)

Verifica a autenticidade de um documento no contexto do registro do Serviço RAP.

Parâmetros:
  • document_type (ExternalDocumentType) – Código do tipo do documento.

  • document_file (tuple or list(tuple), optional) – Arquivo para verificar, onde um arquivo é uma tupla (name (str), file (IOBase), mime_type (str)).

Tipo de retorno:

DocumentAuthenticityResult

validate_document(document_type, document_data, schema_version, document_format)

Verifica a conformidade do documento em relação às normas do diploma digital.

Parâmetros:
  • document_type (DocumentType) – Código do tipo do documento a ser validado.

  • document_data (str) – O documento, como uma string.

  • schema_version (str) – A versão do schema a ser utilizado para validação.

  • document_format (DocumentFormat) – O formato do documento a ser validado (JSON ou XML).

Tipo de retorno:

DocumentValidationResult

get_signature_config()

Lista as configurações de assinatura dos documentos incluindo os assinadores, seus substitutos e as respectivas tags.

O schema é:

[
    {
        "documentName": "string",
        "documentType": 0,
        "signatureConfig": [
        {
            "tagName": "string",
            "signers": [
            {
                "id": "string",
                "name": "string",
                "substitutes": [
                {
                    "id": "string",
                    "name": "string"
                }
                ]
            }
            ]
        }
        ]
    }
]
Retorna:

Objeto JSON contendo informações sobre as configurações de assinatura.

Tipo de retorno:

dict

healthcheck()

Retorna dados sobre a saúde do serviço. Por exemplo:

{
    "status": "pass",
    "version": "1",
    "releaseId": "0.7.8",
    "checks": {
        "conector": [
            {
                "status": "pass",
                "version": "0.7.8"
            }
        ],
        "RAP": [
            {
                "status": "pass",
                "version": "1.0.0"
            }
        ],
        "database": [
            {
                "status": "pass"
            }
        ]
    }
}
Retorna:

Objeto JSON contendo informações sobre o estado do serviço.

Tipo de retorno:

dict

Document

class rapconector.document.Document(client, json)

Representação de um documento no Conector.

document_id

Identificador do documento.

document_type

Tipo do documento. Possivelmente nulo. Ver DocumentType ou ExternalDocumentType, dependendo de onde a instância foi encontrada.

group_id

Identificador do grupo ao qual o documento pertence. Possivelmente nulo.

your_number

Identificador do documento no contexto do cliente. Possivelmente nulo.

current_state

Código de estado atual do documento. Possivelmente nulo. Ver DocumentStateCode.

security_code

Código de segurança do documento. Possivelmente nulo.

receipt

Recibo do documento. Possivelmente nulo.

authorization

Estado de autorização do documento. Possivelmente nulo. Ver DocumentAuthorizationState.

versions

Outras versões desse documento. Ver VersionedDocumentData.

update(document_type=None, document_data=None, document_file=None, revocation_data=None, update_description=None)

Atualiza o dados de um documento, quais sejam: tipo, JSON com dados e/ou arquivo gerado.

Após atualização, o documento retorna ao estado inicial reniciando sua geração/processamento. Documentos com estado de registro válido não são afetados por essa operação.

Nos casos em que um documento já está em estado válido de registro (estado 10) ou suspenso, é necessário revogar todo o seu respectivo grupo de documentos e reiniciar o processo de registro fazendo a inserção de novos documentos na ordem correta.

Parâmetros:
  • document_type (DocumentType ou ExternalDocumentType) – Código do tipo do documento.

  • document_data (str, optional) – Dados do documento (string JSON).

  • document_file (tuple or list(tuple), optional) – Arquivo(s) do documento, onde um arquivo é uma tupla (name (str), file (IOBase), mime_type (str)). Opcional somente caso revocation_data seja informado.

  • revocation_data (DocumentRevocationData, optional.) – Dados para a revogação do documento. Vale notar que em casos de atualização dos dados de revogação do documento, o processamento não é reiniciado e o estado de revogação se mantém. Opcional somente caso document_file seja informado.

  • update_description (str, optional) – Mensagem de atualização.

Retorna:

O identificador do documento atualizado.

Tipo de retorno:

int

delete(cascade=False)

Deleta este documento da base de dados do RAP Conector.

ATENÇÃO: Essa operação apaga os registros apenas no Conector local, de forma que não deleta documentos preservados no contexto do Serviço RAP. Para remoção do(s) documento(s) no contexto do RAP é necessário revogá-lo(s) antes de ter seus dados deletados do Conector local.

Parâmetros:

cascade (bool, optional) – Se deve ocorrer remoção em cascata de documentos dependentes.

Retorna:

Número de documentos removidos.

Tipo de retorno:

int

get_state()

Exibe o estado atual do documento.

Em caso de erro, suspensão, re-ativação ou revogação de documento, o campo aditionalInfo indicará a razão de entrada em cada estado.

As informações de suspensão, ativação e revogação podem ser utilizadas para mapear o histórico do documento conforme previsão na nota técnica referente a diplomas digitais: ver item 7.12 da Nota Técnica No. 13/2019/DIFES/SESU/SESU.

Tipo de retorno:

DocumentState

get_history()

Retorna o histórico de processamento do documento.

Tipo de retorno:

list(DocumentStateChange)

get_receipt()

Retorna o recibo do documento. Por exemplo:

{
    "doc_type": "string",
    "status": "string",
    "dlt_id": "string",
    "group_id": "string",
    "client_id": "string",
    "mime_type": "string",
    "our_number": "string",
    "your_number": "string",
    "client_signature": "string",
    "data": {},
    "register_path": [],
    "created_at": "string",
    "updated_at": "string",
    "__v": int,
    "doc_hash": "string",
    "register_root": "string",
    "tx_date": "string",
    "tx_receipt": "string",
    "UUID": "string",
    "status_detail": "string",
}
Tipo de retorno:

dict

download_file(version)

Faz download de uma versão específica do arquivo do documento em formato XML.

Caso seja indicado DocumentVersion.SIGNED, o serviço irá retornar o estado atual do documento assinado. Caso a coleta de assinaturas ainda não tenha sido finalizada, esse documento pode ainda não representar o documento final assinado. Recomenda-se seu download quando o documento alcançar o status registrado no serviço (estado DocumentStateCode.VALID).

A chamada desse método com parâmetro version contendo DocumentVersion.REGISTERED faz o Conector realizar o download do arquivo diretamente do Serviço de Preservação. Esse arquivo só existe após o registro do documento no Serviço (estado DocumentStateCode.VALID). O acesso ao arquivo do Serviço de Preservação pode ser útil nos casos em que a cópia local foi corrompida. Caso a instituição escolha não enviar os documentos para registro, a versão de registro do arquivo não existirá.

Parâmetros:

version (DocumentVersion) – Versão desejada do documento.

Retorna:

Um objeto requests.Response, com a propriedade stream setada para True. Para exemplos de como realizar o download do arquivo de forma eficiente, ver https://stackoverflow.com/a/39217788 e https://2.python-requests.org/en/master/user/quickstart/#raw-response-content.

Tipo de retorno:

requests.Response

suspend(reason)

Suspende o documento.

Parâmetros:

reason (str) – Motivo da suspensão do documento.

Retorna:

Se o documento foi suspenso.

Tipo de retorno:

bool

activate(reason)

Ativa o documento.

Parâmetros:

reason (str) – Motivo da re-ativação do documento.

Retorna:

Se o documento foi re-ativado.

Tipo de retorno:

bool

revoke(reason)

Revoga um documento no contexto do Conector e no contexto do Serviço RAP.

Parâmetros:

reason (str) – Motivo da revogação do documento.

Retorna:

Se o documento foi marcado como “irá ser revogado”.

Tipo de retorno:

bool

retry_processing(step=None)

Caso o documento esteja em um estado de falha, tenta reiniciar a etapa desejada do processamento.

Parâmetros:

step (DocumentProcessingStep, optional) – Qual etapa para re-executar. Caso omitido, a etapa tentará ser inferida a partir do current_state do documento.

Retorna:

True em caso de sucesso.

Tipo de retorno:

bool

set_authorization(desired_auth_status, description)

Atualiza o estado de autorização de um documento para permitir ou proibir a assinatura e registro de um documento após a revisão manual do arquivo gerado pelo Conector.

Atenção: documentos com a revisão manual desativada terão seu estado de autorização atualizado para authorized automaticamente pelo Conector.

Parâmetros:
  • desired_auth_status (DocumentAuthorizationState) – Estado de autorização desejado.

  • description (str) – Descrição textual para o novo estado de autorização.

Retorna:

True em caso de sucesso.

Tipo de retorno:

bool

Classes Principais para Documentos Externos

De forma análoga, a funcionalidade do Conector voltada aos diplomas digitais externos pode ser acessada através da seguinte classe, que tem a API modelada para ser o mais próximo possível do cliente tradicional:

ExternalClient

class rapconector.client.ExternalClient(base_url, *args, **kwargs)

Cliente da API, para diplomas digitais externos.

Observação: qualquer parâmetro não listado abaixo será repassado diretamente para o construtor do requests.Session.

Parâmetros:
  • base_url (str) – URL do conector.

  • email (str, optional) – E-mail para autenticação.

  • password (str, optional) – Senha para autenticação.

  • default_timeout (number, optional) – Timeout padrão para ser utilizado em todas as requisições.

Retorna:

Instância da classe.

list_documents(state=None, document_type=None, cpf=None, page=None, start_date=None, end_date=None, limit=None)

Lista todos os documentos processados pelo RAP Conector, indicando para cada documento o seu estado atual.

Parâmetros:
  • state (DocumentStateCode, optional) – Código de estado para utilizar como filtro. O retorno incluirá todos os documentos que já passaram pelo estado especificado. Nesse contexto, currentState representa o estado corrente da consulta e não o estado atual do documento.

  • document_type (ExternalDocumentType, optional) – Tipo de documento, para utilizar como filtro.

  • cpf (str, optional) – CPF do diplomado, para utilizar como filtro.

  • start_date (string, optional) – Parâmetro para filtragem, de forma que a resposta só ira conter documentos criados após essa data. Formato da data é o definido em RFC 3339, seção 5.6 (exemplo: 2021-03-21).

  • end_date (string, optional) – Complementar do start_date. Deve ser fornecido caso ele não seja nulo.

  • page (int, optional) – Número da página utilizada na paginação dos resultados.

  • limit (int, optional) – Quantos items retornar por página.

Retorna:

Lista de documentos.

Tipo de retorno:

list(Document)

insert_document(document_type, document_data, document_file=None)

Insere um novo documento ou um lote de documentos.

IMPORTANTE: As etapas de processamento dos documentos possuem uma ordem lógica bem definida que deve ser respeitada. Inicialmente deve ser gerada, assinada e registrada a Documentação Acadêmica Externa. Em seguida, deve ser gerado, assinado e registrado o Diploma Digital Externo associado.

Parâmetros:
  • document_type (ExternalDocumentType) – Código do tipo do documento.

  • document_data (str) – Dados e metadados do documento, em formato JSON. No caso da inserção em lote, o JSON esperado é um array onde cada item representa (e obedece o schema) da inserção de um único documento. Caso o documento seja do tipo ExternalDocumentType.EXTERNAL_ACADEMIC_DOC, deve ser passado no parâmetro document_file o arquivo XML assinado da Documentação Acadêmica.

  • document_file (tuple or list(tuple), optional) – Arquivo(s) do documento, onde um arquivo é uma tupla name (str), file (IOBase), mime_type (str).

Retorna:

O identificador do documento inserido, ou uma lista de identificadores no caso da inserção em lote.

Tipo de retorno:

int or list(int)

authenticate_document(document_type, document_file)

Verifica a autenticidade de um documento no contexto do registro do Serviço RAP.

Parâmetros:
  • document_type (ExternalDocumentType) – Código do tipo do documento.

  • document_file (tuple or list(tuple), optional) – Arquivo para verificar, onde um arquivo é uma tupla (name (str), file (IOBase), mime_type (str)).

Tipo de retorno:

DocumentAuthenticityResult

delete_group(group_id)

Deleta um grupo de documentos da base de dados do Conector, incluindo todos os documentos nele contidos.

IMPORTANTE: Essa operação apaga apenas os documentos do registro local, de forma que não deleta os documentos preservados no registro do Serviço RAP. Para a remoção dos documentos do registro do RAP é necessário revogá-los antes deletar os dados no Conector.

Parâmetros:

group_id (str) – Identificador do grupo de documentos a ser removido.

Retorna:

Número de documentos removidos.

Tipo de retorno:

int

get_document(id_or_security_code)

Exibe as informações básicas de um documento, incluindo o código de segurança que se torna disponível após o documento ser gerado e o recibo após o documento ser registrado.

Cada documento possui um código de segurança baseado no seu contexto. No caso do Diploma Digital esse código de segurança é o Código de Validação do Diploma.

Parâmetros:

id_or_security_code (int or str) – Identificador ou código de segurança do documento.

Retorna:

O documento especificado.

Tipo de retorno:

Document

get_group(group_id)

Exibe as informações básicas de um grupo de documentos, incluindo os slots ocupados e disponíveis para a inserção de novos documentos.

IMPORTANTE:: Novos documentos só devem ser inseridos em grupos parcialmente ocupados caso o documento seja do tipo do slot disponível e que contenha dados complementares aos demais documentos.

Parâmetros:

group_id (str) – Identificador do grupo de documentos.

Retorna:

O documento especificado, caso exista. None caso contrário.

Tipo de retorno:

Document

get_signature_config()

Lista as configurações de assinatura dos documentos incluindo os assinadores, seus substitutos e as respectivas tags.

O schema é:

[
    {
        "documentName": "string",
        "documentType": 0,
        "signatureConfig": [
        {
            "tagName": "string",
            "signers": [
            {
                "id": "string",
                "name": "string",
                "substitutes": [
                {
                    "id": "string",
                    "name": "string"
                }
                ]
            }
            ]
        }
        ]
    }
]
Retorna:

Objeto JSON contendo informações sobre as configurações de assinatura.

Tipo de retorno:

dict

healthcheck()

Retorna dados sobre a saúde do serviço. Por exemplo:

{
    "status": "pass",
    "version": "1",
    "releaseId": "0.7.8",
    "checks": {
        "conector": [
            {
                "status": "pass",
                "version": "0.7.8"
            }
        ],
        "RAP": [
            {
                "status": "pass",
                "version": "1.0.0"
            }
        ],
        "database": [
            {
                "status": "pass"
            }
        ]
    }
}
Retorna:

Objeto JSON contendo informações sobre o estado do serviço.

Tipo de retorno:

dict

list_groups(group_type=None, page=None, limit=None)

Lista todos os grupos de documentos, incluindo seus slots ocupados e disponíveis para a inserção de novos documentos.

IMPORTANTE:: Novos documentos só devem ser inseridos em grupos parcialmente ocupados caso o documento seja do tipo do slot disponível e que contenha dados complementares aos demais documentos.

Parâmetros:
  • group_type (DocumentGroupType, optional) – Tipo do grupo de documentos, utilizado para a filtragem dos resultados.

  • page (int, optional) – Número da página utilizada na paginação dos resultados.

  • limit (int, optional) – Quantos items retornar por página.

Retorna:

Lista de grupos de documentos.

Tipo de retorno:

list(DocumentGroup)

retrieve_file(document_type, client_id, your_number)

Recupera o arquivo de um documento diretamente do Serviço de Preservação usando os metadados do documento preservado.

Parâmetros:
  • document_type (ExternalDocumentType) – Código do tipo do documento.

  • client_id (string) – Identificador da instituição cliente.

  • your_number (string) – Identificador do documento no contexto do cliente.

Retorna:

Um objeto requests.Response, com a propriedade stream setada para True. Para exemplos de como realizar o download do arquivo de forma eficiente, ver https://stackoverflow.com/a/39217788 e https://2.python-requests.org/en/master/user/quickstart/#raw-response-content.

Tipo de retorno:

requests.Response

validate_document(document_type, document_data, schema_version, document_format)

Verifica a conformidade do documento em relação às normas do diploma digital.

Parâmetros:
  • document_type (DocumentType) – Código do tipo do documento a ser validado.

  • document_data (str) – O documento, como uma string.

  • schema_version (str) – A versão do schema a ser utilizado para validação.

  • document_format (DocumentFormat) – O formato do documento a ser validado (JSON ou XML).

Tipo de retorno:

DocumentValidationResult

with_document_id(document_id)

Retorna uma instância de Document com somente o campo document_id preenchido. Útil para evitar requisições adicionais. Por exemplo:

# 2 requisições: uma para get_document() e outra para get_receipt()
receipt = conector.get_document(372).get_receipt()

# 1 única requisição, pois `with_document_id` cria um objeto vazio
receipt = conector.with_document_id(372).get_receipt()
Parâmetros:

document_id (int) – Identificador do documento.

Tipo de retorno:

Document

Tipos de retorno

As classes abaixo representam os tipos de objetos que são retornados pelo Conector.

DocumentAuthenticityResult

class rapconector.document.DocumentAuthenticityResult(json)

Resultado da autenticação de um documento.

Observação: o único campo que tem garantia de estar preenchido é o campo valid os outros campos podem ou não estar preenchidos, de acordo com a validade do documento.

dlt_id

Identificador da blockchain em que o documento está registrado.

tx_receipt

Código do recibo da transação de registro do documento na blockchain escolhida.

doc_hash

Hash do documento registrado na blockchain.

valid

Booleano que indica se o status do documento é válido no serviço RAP.

register_root

Raiz da estrutura de dados utilizada para registro do documento na blockchain.

client_id

Identificador da instituição no serviço RAP.

your_number

Identificador único do documento no serviço RAP.

register_date

Data e hora de registro do documento na blockchain (timestamp Unix).

confirmations

Número de confirmações da transação de registro do documento na blockchain.

revocation_date

Data e hora da revogação do documento na blockchain (timestamp Unix).

DocumentGroup

class rapconector.document.DocumentGroup(json)

Representação de um grupo de documentos.

group_id

String de identificação do grupo.

document_stubs

Documentos pertencentes ao grupo, representados por uma lista de dicionários contendo as chaves document_id e document_type.

DocumentSignature

class rapconector.document.DocumentSignature(json)

Representação de uma assinatura em um documento.

signer

Nome do assinante.

signer_id

Identificador do assinante.

signature_date

Data e hora em que a assinatura foi coletada, em string no formato ISO 8601.

tag

Tag da assinatura.

state

Estado da assinatura. Ver DocumentSignatureState.

archiving_signature

Se a assinatura é uma assinatura de arquivamento.

substitute_signer

Nome do assinante substituto, caso exista.

substitute_signature_state

Estado da assinatura substituta, caso exista. Ver DocumentSignatureState.

created_at

Data e hora em que a assinatura foi criada no RAP Conector, em string no formato ISO 8601.

DocumentState

class rapconector.document.DocumentState(json)

Representação do estado atual do processamento de um documento.

current_state

Código de estado atual do documento. Ver DocumentStateCode.

description

Descrição textual do estado atual do documento.

additional_info

Informações adicionais sobre o estado atual do documento.

signatures

Assinaturas do documento. Ver DocumentSignature. Possivelmente nulo.

revocation

Motivo de revogação do documento. Ver DocumentRevocationData. Possivelmente nulo.

last_update

Data e a hora da última vez que algum dado do documento sofreu alteração, no formato ISO 8601. Possivelmente nulo.

DocumentStateChange

class rapconector.document.DocumentStateChange(previous_state, current_state, description, timestamp, additional_info)

Representação do histórico de processamento de um documento.

previous_state

Código de estado anterior do documento. Ver DocumentStateCode.

current_state

Código de estado atual do documento. Ver DocumentStateCode.

timestamp

Timestamp (str) referente à mudança de estado do documento.

description

Descrição textual do estado do documento.

additional_info

Informações adicionais sobre o estado do documento.

Enumerações

Enums para facilitar o tratamento de strings e constantes númericas comumente utilizadas e retornadas pelo Conector.

DocumentAuthorizationState

class rapconector.document.DocumentAuthorizationState

Enumeração dos possíveis estados de autorização de um documento.

AUTHORIZED = 'authorized'

Autorizado.

UNAUTHORIZED = 'unauthorized'

Não-autorizado.

AWAITING = 'awaiting'

Aguardando.

DocumentProcessingStep

class rapconector.document.DocumentProcessingStep

Enumeração das possíveis etapas de processamento para re-executar.

PROCESSING = 'restart-processing'

Para re-executar o processamento de um documento.

GENERATION = 'retry-generation'

Para re-executar o processo de geração de um documento.

SIGNATURE = 'retry-signature'

Para re-executar o processo de assinatura de um documento.

REVOCATION = 'retry-revocation'

Para re-executar o processo de revogação de um documento.

REGISTRATION = 'retry-registration'

Para re-executar o processo de registro de um documento.

DocumentRevocationReason

class rapconector.document.DocumentRevocationReason

Enumeração das possíveis justificativas para revogação de um documento.

ERRO_DE_FATO = 'Erro de Fato'

Erro de Fato.

ERRO_DE_DIREITO = 'Erro de Direito'

Erro de Direito.

DECISAO_JUDICIAL = 'Decisão Judicial'

Decisão Judicial.

REEMISSAO_PARA_COMPLEMENTO_DE_INFORMACAO = 'Reemissão para Complemento de Informação'

Reemissão para Complemento de Informação.

REEMISSAO_PARA_INCLUSAO_DE_HABILITACAO = 'Reemissão para Inclusão de Habilitação'

Reemissão para Inclusão de Habilitação.

REEMISSAO_PARA_ANOTACAO_DE_REGISTRO = 'Reemissão para Anotaçao de Registro'

Reemissão para Anotaçao de Registro.

DocumentSignatureState

class rapconector.document.DocumentSignatureState

Enumeração dos possíveis estados de uma DocumentSignature.

NOT_SIGNED = 0

Não assinado.

PROCESSING = 1

Assinatura em processamento, no caso da assinatura principal.

SUBSTITUTE_PROCESSING = 1

Assinatura substituta concluída.

SIGNED = 2

Assinatura concluída.

DocumentStateCode

class rapconector.document.DocumentStateCode

Enumeração dos possíveis estados de um Document.

UNKNOWN = 0

Desconhecido

READY_TO_CREATE = 1

Pronto para gerar

CREATED = 2

Gerado

SIGNING_STARTING = 3

Iniciando assinatura

SIGNING_STARTED = 4

Assinatura iniciada

SIGNING_IN_PROGRESS = 5

Assinando documento

SIGNED = 6

Documento assinado

READY_FOR_REGISTRATION = 7

Pronto para registrar

REGISTRATION_STARTED = 8

Registro iniciado

REGISTRATION_FINISHED = 9

Processo finalizado

VALID = 10

Documento válido

SUSPENDED = 11

Documento suspenso

REVOCATION_STARTED = 12

Iniciando revogação

REVOCATION_IN_PROGRESS = 13

Revogando

REVOKED = 14

Documento revogado

ERROR_DURING_CREATION_PREPARATION = 500

Erro ao preparar a geração

ERROR_DURING_CREATION = 501

Erro na geração

ERROR_DURING_SIGNING_STARTING = 502

Erro ao iniciar a assinatura

ERROR_DURING_SIGNING = 503

Erro ao assinar o documento

ERROR_DURING_REGISTRATION = 504

Erro ao iniciar o registro

ERROR_FINISHING_REGISTRATION = 505

Erro ao finalizar o registro

ERROR_DURING_REVOCATION = 506

Erro na revogação

DocumentType

class rapconector.document.DocumentType

Enumeração dos possíveis tipos de um Document.

PARTIAL_ACADEMIC_TRANSCRIPT = 1

Histórico escolar parcial. Equivalente a partial_academic_transcript.

DIGITAL_DEGREE = 2

Diploma digital. Equivalente a digital_degree.

FINAL_ACADEMIC_TRANSCRIPT = 3

Histórico escolar final. Equivalente a final_academic_transcript.

ACADEMIC_DOC_MEC_DEGREE = 4

Documentação acadêmica. Equivalente a academic_doc_mec_degree.

VISUAL_REP_DEGREE = 5

Representação visual. Equivalente a visual_rep_degree.

DEGREE_REVOCATION_LIST = 8

Lista de diplomas anulados. Equivalente a degree_revocation_list.

AUDIT_FILE_REGISTRAR = 9

Arquivo de fiscalização da IES registradora. Equivalente a audit_file_registry.

AUDIT_FILE_ISSUER = 10

Arquivo de fiscalização da IES emissora. Equivalente a audit_file_issuer.

DIGITAL_CURRICULUM = 11

Currículo escolar digital. Equivalente a digital_curriculum.

VISUAL_REP_CURRICULUM = 12

Representação Visual do Currículo Escolar. Equivalente a visual_rep_curriculum.

VISUAL_REP_TRANSCRIPT = 13

Representação Visual do Histórico Escolar Integral. Equivalente a visual_rep_transcript.

DocumentVersion

class rapconector.document.DocumentVersion

Enumeração das possíveis versões de um arquivo a ser baixado.

GENERATED = 'generatedDocument'

Versão gerada do documento.

SIGNED = 'signedDocument'

Versão assinada do documento.

REGISTERED = 'registeredDocument'

Versão registrada do documento.

ExternalDocumentType

class rapconector.document.ExternalDocumentType

Enumeração dos possíveis tipos de um Document.

EXTERNAL_DEGREE = 6

Diploma externo. Equivalente a external_degree.

EXTERNAL_ACADEMIC_DOC = 7

Documentação acadêmica externa. Equivalente a external_academic_doc.

DocumentRevocationData

Deixada por último pois não é exatamente uma classe de enumeração, mas sim uma classe para ajudar a construir os dados de revogação de um documento.

class rapconector.document.DocumentRevocationData(reason, notes='')

Representa dados sobre a revogação de um documento.

Inicializa um objeto contendo dados sobre a revogação de um documento.

Parâmetros:
  • reason (DocumentRevocationReason) – String contendo a justificativa da revogação.

  • notes (str, optional) – Observações adicionais sobre a revogação.

as_json()

Serializa os dados sobre a revogação, em formato JSON.

Exceções

Exceções que podem ser levantadas pelos métodos das classes principais.

AuthenticationError

class rapconector.errors.AuthenticationError

Credenciais de autenticação incorretas fornecidas ao Conector.

NotFoundError

class rapconector.errors.NotFoundError

Objeto não encontrado no Conector.

ServerError

class rapconector.errors.ServerError

Erro inesperado no servidor do Conector.