Índice:


       

Objetivo


       O objetivo deste documento é demonstrar como integrar o sistema RM com o portal de assinatura digital de documentos TOTVS Assinatura Eletrônica. 

Introdução


          O TOTVS Assinatura Eletrônica é um sistema para assinatura digital ou eletrônica de documentos. Ele permite que documentos sejam cadastrados indicando assinadores e validadores para os mesmos. É possível fazer a assinatura digital dos documentos caso seja informado um certificado A1, ou apenas a assinatura eletrônica, que não requer certificado. As pessoas indicadas para o processo recebem e-mails indicando que precisam entrar no portal para realizar a assinatura ou validação. Ao tentarem acessar, caso não tenham ainda cadastro no portal TOTVS Assinatura Eletrônica, este poderá ser feito neste momento.

Integração com TOTVS Assinatura Eletrônica


         A integração do RM com o TOTVS Assinatura Eletrônica permite que enviemos documentos diretamente de dentro do RM para serem assinados no TOTVS Assinatura Eletrônica, proporcionando a possibilidade de controlar fluxos de processos pelo status do documento. Por exemplo, só permitir avançar em um dado processo se o documento informado tiver sido assinado no portal TOTVS Assinatura Eletrônica por todas as pessoas indicadas.


Configurando o RM para a Integração com TOTVS Assinatura Eletrônica


Nessa tela, preencha os campos de acordo com o seu ambiente: RM - Parametrização inicial

Documentação das APIs TOTVS Assinatura Eletrônica


       https://totvs-sign.readme.io/reference/gettings-started


Para enviar documentos com destinatários no qual o tipo autenticação seja via envio de código por e-mail basta adicionar no objeto GlbTotvsSignAssinante o TipoAutenticacao = GlbTOTVSSignTipoAutenticacaoEnum.CodeByEmail

 new GlbTotvsSignAssinante
            {
              Acao = GlbTOTVSSignAcaoUsuarioEnum.Assinar,
              Email = "[email protected]",
              PapelAssinante = "Fiador",
              Nome = "Maria da Silva",
              TipoAutenticacao = GlbTOTVSSignTipoAutenticacaoEnum.CodeByEmail,
              TipoIdentificacao = GlbTOTVSSignTipoIdentificacaoEnum.Brasil,
              Identificacao = "111.111.111-11"
            }

Todas as regras de negócios que envolvem a integração do RM com o TAE são tratadas pelo TAE.

public class GlbTotvsSignAssinante
  {
    /// <summary>
    /// Email do destinatario
    /// </summary>
    [JsonProperty("email", Required = Required.Always)]
    public string Email { get; set; }
    /// <summary>
    /// Acao atribuida ao destinatario
    /// </summary>
    [JsonProperty("acao", Required = Required.Always)]
    public GlbTOTVSSignAcaoUsuarioEnum Acao { get; set; }

    /// <summary>
    /// Indica a ordem no worflow
    /// </summary>
    [JsonProperty("workflow", Required = Required.Default)]
    public int OrdemWorkflow { get; set; }

    /// <summary>
    /// Papel na assinatura. Ex: "como locatário", "como fiador"
    /// </summary>
    [JsonProperty("papelAssinante", NullValueHandling = NullValueHandling.Ignore)]
    public string? PapelAssinante { get; set; }

    /// <summary>
    /// Tipo de autenticação https://totvs-sign.readme.io/reference/v1documentos
    /// </summary>
    [JsonProperty("tipoAutenticacao", NullValueHandling = NullValueHandling.Ignore)]

    public GlbTOTVSSignTipoAutenticacaoEnum? TipoAutenticacao { get; set; }

    /// <summary>
    ///Nome completo do assinante
    /// </summary>
    [JsonProperty("nomeCompleto", NullValueHandling = NullValueHandling.Ignore)]
    public string? Nome { get; set; }

    /// <summary>
    /// Tipo de documento de Identificação do assinante
    /// </summary>
    [JsonProperty("tipoIdentificacao", NullValueHandling = NullValueHandling.Ignore)]
    public GlbTOTVSSignTipoIdentificacaoEnum? TipoIdentificacao { get; set; }

    /// <summary>
    /// Identificacao de acordo com o que foi definido no "tipoIdentificacao"
    /// </summary>
    [JsonProperty("identificacao", NullValueHandling = NullValueHandling.Ignore)]
    public string? Identificacao { get; set; }
  }