Criando um Documento

Como criar um documento/enviar um documento para assinatura.

A criação de documentos difere um pouco das outras mutations por ter o upload de um arquivo. Primeiramente, vamos precisar escrever a mutation:

mutation CreateDocumentMutation(
  $document: DocumentInput!, # Definição das variáveis $document,
  $signers: [SignerInput!]!, # $signers e $file, com seus respectivos
  $file: Upload!             # tipos. (Os "!" indicam que são
) {                          # parâmetros obrigatórios)      
  createDocument(
    document: $document,     # Passa para os parâmetros da mutation o 
    signers: $signers,       # valor das variáveis.
    file: $file,             #
    organization_id: 123,    # OPCIONAL: Cria em outras organizações do usuário, senão usa a atual
    folder_id: "a1b2c3"      # OPCIONAL: Cria arquivado em uma pasta
  ) {
    id
    name
    refusable
    sortable
    created_at
    signatures {
      public_id
      name
      email
      created_at
      action { name }
      link { short_link }
      user { id name email }
    }
  }
}

Após, precisamos dos valores das variáveis definidas na mutation em um JSON:

Percebeu que não foi colocado nenhum valor para a variável $file? Pois é, como é realizado o upload desse arquivo, a requisição precisa ser enviada como multipart/form-data, dessa forma o arquivo precisa ser um pouco diferente. Você pode fazer isso direto no Altairarrow-up-right:

circle-exclamation

Criando documento em Sandbox

Nossa API também suporta o envio de documento de teste, que não consomem créditos de documentos, assim facilitando a integração para quem ainda não adquiriu um plano com documentos ilimitados. Para saber como faz acesse nossa página de sandbox.

Mais opções

chevron-rightPosicionar campos de assinatura "positions"hashtag

Como mostrado no exemplo acima, para adicionar campos de assinatura ao criar o documento você precisa adicionar o atributo "positions".

O "x" é posição horizontal de 0 a 100% O "y" é posição vertical de 0 a 100% O "z" é o número da página começando no 1

O "element" é o tipo de assinatura: "SIGNATURE": Assinatura "NAME": Nome do signatário "INITIALS": Rúbrica "DATE": Data de assinatura "CPF": CPF do signatário

Pra saber quais posições passar no x e y, você pode criar um documento de exemplo no painel do Autentique e buscar as posições ao resgatar o documento usando "positions":

chevron-rightExigir verificação por SMS e/ou documento com foto "security_verifications"hashtag

Para exigir dos signatários a verificação por SMS e/ou documento com foto, é preciso adicionar o atributo "security_verifications" no signatário que você deseja que essas verificações sejam necessárias. Lembrando que você deve consultar no painel o custo de créditos de verificação adicionais necessários.

O "type" é o tipo de verificação: "SMS": Validação por SMS ("verify_phone" é opcional e exige celular especificado) "MANUAL": Exigir documento com foto (Aprovação manual) "UPLOAD": Exigir documento com foto (Documento com foto) "LIVE": Exigir documento com foto (Documento, selfie e prova de vida) "PF_FACIAL": Exigir documento com foto (Biometria SERPRO) "BIOMETRIC_AND_TEXT_EXTRACTION": Exigir documento com foto (Documento com foto e facematch)

Apesar de ser possível ter múltiplas verificações para o mesmo signatário, dentre as seguintes opções somente é possível escolher uma delas por signatário: MANUAL, UPLOAD, LIVE e PF_FACIAL.

Quando utilizar os tipos UPLOAD, LIVE, PF_FACIAL e BIOMETRIC_AND_TEXT_EXTRACTION , há o comportamento padrão de serem alterados para MANUAL quando o signatário exceder a quantidade máxima de tentativas no processo de validação documental. Para desativar esse comportamento é necessário utilizar o parâmetro fallback_behavior, que acusará falha no documento e o rejeitará automaticamente.

chevron-rightCriar documento a partir de modelohashtag

Não há uma forma na API de você conseguir usar os modelos do painel para criar documentos, porém você consegue fazer algo parecido à partir do seu código:

  1. Criar um modelo fixo em HTML na máquina, demarcando os lugares com variáveis para substituir por valores. (Ex: "Eu, $NomeSignatario$ aceito esse contrato")

  2. Por código, duplicar esse HTML e nessa duplicata, substituir os campos de variáveis pelos valores reais. ( Ex: $NomeSignatario$ => Jorge Silva )

  3. Enviar esse arquivo HTML com os valores substituídos para a nossa API, através da mutation createDocument, igual como já funciona para outros tipos de arquivos

chevron-rightExemplo de criação de documento com NodeJShashtag

Se você usa o Postman, você pode gerar esses exemplos à partir da collection para o Postman disponibilizada aqui na documentação.

Desse exemplo é só substituir o token de API, email do signatário e caminho para o arquivo.

chevron-rightExemplo de criação de documento com PHPhashtag

Se você usa o Postman, você pode gerar esses exemplos à partir da collection para o Postman disponibilizada aqui na documentação.

Desse exemplo é só substituir o token de API, email do signatário e caminho para o arquivo.

chevron-rightExemplo de criação de documento com Python3hashtag

Se você usa o Postman, você pode gerar esses exemplos à partir da collection para o Postman disponibilizada aqui na documentação.

Desse exemplo é só substituir o token de API, email do signatário e caminho para o arquivo.

chevron-rightExemplo de criação de documento com C#hashtag

Se você usa o Postman, você pode gerar esses exemplos à partir da collection para o Postman disponibilizada aqui na documentação.

Desse exemplo é só substituir o token de API, email do signatário e caminho para o arquivo.

circle-info

Você pode conferir o que é cada um desses parâmetros direto na documentação completa da API GraphQL, no menu Docs do Altairarrow-up-right. Se você não sabe como fazer isso, confira o nosso tutorial em Usando o Altair.

Para importar e usar no Postman

Atualizado