Árvore de páginas


O documento a seguir tem por objetivo orientar as integrações sobre as jornadas principais utilizando as APIS do TAE  - TOTVS Assinatura Eletrônica.

Documentação das apis : https://totvs-sign.readme.io/reference/gettings-started


    Mantenha os status dos documentos atualizados na integração via webhooks


    Configure webhooks para acompanhar em tempo real vários eventos disparados na plataforma, de modo que sua integração possa reagir proativamente à eles. São eles: documento finalizado, excluído, rejeitado, reaberto, assinatura realizada e muito mais.


    Considere a seguinte jornada de uma integração: A escola envia um contrato para um aluno, e somente após a finalização desse documento com as assinaturas solicitadas, poderá dar seguimento na matrícula e nos demais processos da escola.


    1- Cenário sem webhook:

       I- O sistema da escola gera o documento de matrícula e envia para o aluno.
       II - De tempo em tempo o sistema da escola consulta do status do documento no TAE para saber se o documento já foi assinado. 
            obs: A consulta é unitária, então se enviar 1000 matrículas, e estiver conferindo o status de 2 em 2 minutos, o sistema integrador realizaria 1000 requisições a cada dois minutos nas apis do TAE para conferir se o status do documento mudou.
       III - Quando o status do documento mudar o sistema seguiria com os processos da escola.


    2- Cenário com webhook:

      I- O administrador da empresa indica que gostaria de receber notificações de callback (webhook) para documentos finalizados.

      II- O sistema da escola gera o documento de matrícula e envia para o aluno.

      III - Quando o documento for finalizado, o TAE envia uma notificação para o sistema integrador informando que aquele documento foi finalizado e o sistema segue com seus processos da escola.


    Vantagens de utilizar o webhook

    * Receber notificações em tempo real dos eventos que escolher, para todos os documentos ou apenas documentos específicos;

    * Elimina a necessidade de realizar um processamento em loop (repetição "sem fim"), prejudicial a ambos os sistemas;

    * Obtem informações detalhadas e personalizadas sobre cada notificação;

    * Interface amigável para gerir os webhooks de sua empresa.


    Para criar os webhooks para os eventos que deseja que seu sistema seja notificado, basta acessar o TAE com um usuário administrador da empresa, clicar no menu Integrações → Webhook → Criar webhook.


    Após cadastrado ele será exibido na lista de webhooks


    É importante só manter webhooks ativos se a URL do sistema integrador já estiver online e apta a receber as notificações conforme foi o webhook foi configurado.

    Webhooks ativos vão ser executados para todos os documentos da empresa, sempre que o evento definido ocorrer.


    Exemplo: No caso acima, todos os documentos da empresa quando finalizados irão realizar uma requisição POST para a URL configurada no webhook informando o id do documento e o status.



    Caso só queira notificar documentos específicos, o webhook deve ser setado como status INATIVO, e os passos do guia abaixo devem ser seguidos.

    Para realizar um callback para documentos específicos é necessário criar um webhook seguindo os passos acima, e configurá-lo como "inativo".

    Assim, ao invés de ser executado para todos os documentos da empresa, ele só será disparado nos documentos que ele for configurado. 


    Após criar o webhook utilize a API WEBHOOKS do TAE. 

    Necessário autenticar na api com Bearer token do usuário administrador da empresa. (Gerado na rota de login API IDENTITY) - LINK API


    Busque pelo Webhook cadastrado anteriormente através da rota Get /v1/subscription -  LINK API


    Serão listados todos os webhooks cadastrados da sua empresa:


    Para gerar um callback personalizado para esse webhook, possíbilitando incluí-lo em documentos específicos, basta copiar o ID do webhook e utilizar a rota POST /v1/callbacks para criar o callback personalizado.  - LINK API

    Nesse momento é necessário indicar o subscriptionId referente ao webhook "pai" desse callback.

    Também é possivel definir novos campos para compor o "body" da requisição. Se novos atributos forem enviados, irão sobrescrever os atributos originais do webhook pai. Se nada for enviado no body, os atributos permanecerão conforme configurados no webhook.


    É possível consultar os detalhes do webhook também pela API, pela rota GET /v1/subscription/{subscritionId}   -  LINK API


    Seu callback personalizado irá utilizar as configurações do webhook pai, podendo ou não ter ser body personalizado.


    No exemplo abaixo, não personalizaremos os atributos do body da requisição, mantendo os que foram definidos no webhook.


    Ao executar com sucesso, a api retornará o id desse callback personalizado.

    Esse id poderá ser atribuido nos documentos no qual você deseja ser notificado sobre esse evento.

    A inclusão do callback em uma publicação pode ser feita em qualquer momento após o upload do arquivo, basta ter o id do arquivo e o id do callback.


    Utilize a api Sign Integration na rota POST /v1/Publicacoes/{idArquivo}/CallBacks  - LINK API


    A api retornará sucesso.



    Após isso, quando esse documento for finalizado. O TAE irá notificar o webhook relacionado com esse callback indicado.


    Callback recebido pela integração:



    Obs: Um documento pode ter N callbacks (desde que sejam distintos).
            Um callback pode estar vinculado a N documentos.



    Em construção




    O TAE oferece um recurso onde é possível consultar uma lista de ids de documentos e obter os status e principais informações sobre cada um deles, sem a necessidade de estar logado como usuário participante dos documentos.

    É utilizado geralmente na implementação de monitores de documentos de toda a empresa, onde todos os usuários de uma integração precisam consultar os status e acompanhar a evolução dos documentos, mesmo sem participar dos mesmos.


    Esse recurso está implementado no Monitor de arquivos do RM e do DATASUL, e pode ser implementado em qualquer integração que possua essa necessidade.


    Obs: Usuários de serviço são de uso exclusivo de integrações que implementam o monitor de status de arquivo.

    Não fazem envio de documentos, assinaturas ou acessam a plataforma.


    Rota(s) do TAE que exigem autenticação com token de um usuário de serviço:

    API SIGNINTEGRATION → ENDPOINT /v2/publicacoes/documentos-empresa - LINK API


    Acesse o TAE com o acesso do administrador da empresa e clique no menu: Configurações → Integração → Usuário de serviço

    Serão listados os usuários de serviço já criados na empresa, para criar um novo usuário de serviço clique no botão  "+ Criar usuário de serviço".



    Preencha os dados para criação do usuário.


    OBS: Lembrando, esse usuário não realiza publicação de documentos, não acessa o portal, não assina documentos. É utilizado apenas para consultar status dos documentos da empresa nas rotas que o exigem.




    Para consumir as rotas que exigem o uso de usuário de serviço, será necessário realizar login na api do identity informando os dados do usuário de serviço, que serão parametrizados de alguma forma na integração, gerando assim o token para utilizar as rotas.


    O Autor do documento pode definir o tipo de autenticação que seus destinatários irão utilizar para acessar o documento no TAE.


    1- Por login no Sistema (o destinatário receberá um link por e-mail, irá se cadastrar no TAE e após logar na plataforma terá acesso ao documento).
    2- Por envio de código por e-mail (o destinatário receberá um link de acesso direto ao documento via e-mail, ao acessar, receberá um novo e-mail com um código de verificação. Após digitar o código, terá acesso ao documento.)


    Ao criar uma publicação (LINK API), ou ao adicionar um destinatário em uma publicação existente (LINK API), o autor define os dados do destinatário. Sendo eles:


    Para definir um destinatário para não precisar se cadastrar no TAE e utilizar a assinatura sem cadastro (por envio de código por e-mail), o destinatário deverá ser configurado com:

    tipoAutenticacao : 2  
    nomeCompleto:  string
    tipoIdentificacao:  (1,2 ou 3)
    identificacao (opcional): (cpf, cnpj, id internacional ou vazio para ser preenchido pelo usuário)


    Em integrações que desejam implementar dentro do sistema integrador todo o processo de assinatura, sem a necessidade do destinatário ir no TAE, deve ser seguido os passos a diante:


    OBS: Só é necessário solicitar o cadastro de ApplicationID para integrações que serão construídas e utilizarão o fluxo de assinatura sem cadastro, onde o destinatário realizará a assinatura dentro do sistema integrador.

    Quando o destinatário for realizar a assinatura diretamente no TAE não é necessário o ApplicationID nem os fluxos abaixo.


    1- Solicitar o cadastro de um ApplicationId para seu sistema integrador, onde a jornada de assinatura sem cadastro será implementada.


    2- O sistema listar o(s) documento(s) que o usuário precisa assinar. No exemplo abaixo, ao clicar em matrícula o sistema vai identificar qual o ID do documento de matrícula que foi enviado para esse aluno.

    E pelo id do documento irá buscar os dados desse destinatário no TAE, mais precisamente o PublicKey do usuário, que é um identificador único por participante de um documento, necessário para realizar a solicitação de código de verificação e a validação do mesmo.  (LINK API) (Passo 1)

    De posse do publicKey do destinatário (aluno logado no sistema), enviar uma solicitação para a API do TAE responsável pelo envio de código de verificação por e-mail.  Obs: é necessário enviar o ApplicationID do sistema integrador nos headers da requisição para acessar essa rota  (LINK API) (PASSO 2).

    O aluno irá receber o código de verificação de 6 dígitos no e-mail. (PASSO 3)

    O sistema deverá fornecer a interface para digitação do código e o botão de validar, que ao ser preenchido irá enviar o publicKey do destinatário e o código de validação para rota responsável por autenticar o usuário e gerar um token de autorização. (LINK API) (PASSO 4)


    3- Autenticado com o token de autorização do destinatário, o sistema irá conseguir consultar a publicação, exibir os principais dados, o arquivo pdf, e possibilitar a assinatura/download.

    Agora é possível realizar um get para obter os dados da publicação e exibir o que for necessário na sua interface para que o destinatário possa conferir os dados do documento. Um dos itens retornadas é a signedUrl que é um acesso direto ao PDF que será assinado. (LINK API) (PASSO 1)

    Para exibir o PDF, utilize a rota de baixar o base64 do pdf a partir de um link assinado (signedUrl). E então renderize no player de pdf adotado na sua interface. (LINK API) (PASSO 2)

    Para assinar o documento, basta realizar uma requisição para a rota de assinatura sem cadastros. (LINK API) (PASSO 3).


    Características da jornada: A integração não precisa implementar os recursos de visualizar e assinar o documento. O assinante acessará o documento pelo próprio portal do TAE e fará a assinatura.

    https://excalidraw.com/#json=osSYZga9irrgR9cmcyFjw,PngksyWNw09SgiwGqAzJGg

    Características da jornada: Uso da autenticação por envio de token por e-mail (sem cadastro de usuário)

    https://excalidraw.com/#json=Hbn_rAGadqVK0Le3QQ5z6,_YZ1VBwV7UIoJRR2ywhauA