Endpoints Signatários

Endpoints Signatários

🚧

Importante

Não esqueça de enviar o tokenAPI e cryptKey em sua requisição.

Ex.: https://secure.d4sign.com.br/api/v1/safes?tokenAPI={SEU-TOKEN}&cryptKey={SEU-CRYPT-KEY}

Listar signatários de um documento

GET /documents/{UUID-DOCUMENT}/list

Testar endpoint 🧪


Esse objeto retornará todos os signatários de um documento.

{
    "Content-Type": "application/json"
}
{
    "uuidDoc": "9f08bf18-bf4b-410f-9701-c286e5b1cad1",
    "nameDoc": "teste.pdf",
    "type": "application/pdf",
    "size": "118990",
    "pages": "6",
    "uuidSafe": "06b3ddb1-abc9-4ab8-b944-0d7c940486af",
    "safeName": "Atendimento",
    "statusId": "3",
    "statusName": "Aguardando Assinaturas",
    "statusComment": "Comentário sobre cancelamento",
    "whoCanceled": "E-mail de quem cancelou o documento",
    "list": {
    	"key_signer": "NwYj=",
    	"user_name": "Signatario 1",
    	"user_document": "000000000000 (CPF)",
    	"email": "[email protected]",
    	"signed": "1",
    	"sign_info": {
    		"ip": "192.168.0.1",
    		"ip_reverser": "bfb467a6.virtua.com.br porta: 33421",
    		"geolocation": "-23 -23",
    		"user_agent": "Mozilla",
    		"date_signed": "2038-03-29 11:05:34",
    		"date_signed_atom": "2038-03-29T11:05:34-03:00"
    	},
    	"type": "1",
    	"foreign": "0",
    	"certificadoicpbr": "0",
    	"assinatura_presencial": "0",
    	"assinatura_presencial_link": "LINK PARA ASSINATURA PRESENCIAL" - O link só será exibido depois que o documento for enviado para assinatura,
    	"embed_methodauth": "email",
    	"embed_smsnumber": "",
    	"email_sent": "1",
    	"email_sent_status": "Delivery",
    	"email_sent_message": "Mensagem entregue com sucesso.",
    	"upload_allowed": "0",
    	"upload_obs": "Descricao dos documentos",
    	"documents_attached": "[]",
    	"date": "2016-04-17 13:56:21",
    	"docauth": "1",
    	"docauth_text": "DADOS CAPTURADOS DO DOCUMENTO REGISTRADO (SOLICITE ESSE RECURSO EM NOSSO [email protected])",
    	"password_code": "Código de acesso do signatário"
    	
	}
}
ParâmetroDescrição
UUID-DOCUMENT (obrigatório)UUID do documento que deverá ser listado.

Listar Grupos de Assinaturas

GET /groups/{UUID-SAFE}

Testar endpoint 🧪

Este método listará todos os grupos de assinatura do cofre

{
    "Content-Type": "application/json"
}
{
    "uuid_grupo": "018715xc-054b-409f-b122-f683951e5460",
    "nome": "Grupo Jurídico"
}
ParâmetroDescrição
UUID-SAFE (obrigatório)UUID do COFRE que deverá ser listado.

Cadastrar signatários

POST/documents/{UUID-DOCUMENT}/createlist

Testar endpoint 🧪

Esse objeto realizará o cadastro dos signatários do documento, ou seja, quais pessoas precisam assinar esse documento.

{
    "signers" : [
        {
            "email": "[email protected]",
            "act": "1",
            "foreign": "1",
            "certificadoicpbr": "0",
            "assinatura_presencial": "0",
            "docauth": "0",
            "docauthandselfie": "0",
       	    "embed_methodauth": "email",
      	    "embed_smsnumber": "",
      	    "upload_allow": "0",
      	    "upload_obs": "Contrato Social e Conta de Luz",
      	    "whatsapp_number": "+5511981876540" (opcional),
      	    "uuid_grupo": "UUID DO GRUPO" (opcional),
      	    "certificadoicpbr_tipo": "2" (opcional),
      	    "certificadoicpbr_cpf": "CPF" (opcional),
      	    "certificadoicpbr_cnpj": "CNPJ" (opcional),
      	    "password_code": "Código de acesso" (opcional),
      	    "auth_pix": "0" (opcional),
      	    "auth_pix_nome": "Nome do signatário" (opcional),
      	    "auth_pix_cpf": "21917876280" (opcional),
      	    "videoselfie": "0" (opcional),
      	    "d4sign_score": "0" (opcional),
      	    "d4sign_score_nome": "Nome do signatário" (opcional),
      	    "d4sign_score_cpf": "21917876280" (opcional),
      	    "d4sign_score_similarity": "90" (min 70 - max 90),
        },
        {...}
        ]
}
{
    "key_signer": "NwYu=",
    "email": "[email protected]",
    "act": "1",
    "foreign": "0",
    "certificadoicpbr": "0",
    "assinatura_presencial": "0",
    "assinatura_presencial_link": "LINK PARA ASSINATURA PRESENCIAL" - O link só será exibido depois que o documento for enviado para assinatura,
    "doc_auth": "0",
    "embed_methodauth": "email",
    "embed_smsnumber": "",
    "upload_allow": "0",
    "upload_obs": "Contrato Social e Conta de Luz",
    "docauthandselfie": "0",
    "skipemail": "0",
    "whatsapp": "",
    "password_code": "",
    "status": "created"
}
ParâmetroDescrição
email (obrigatório)E-mail do signatário (pessoa que precisa assinar o documento)
act (obrigatório)Ação da assinatura.
Ações permitidas:
1 = Assinar
2 = Aprovar
3 = Reconhecer
4 = Assinar como parte
5 = Assinar como testemunha
6 = Assinar como interveniente
7 = Acusar recebimento
8 = Assinar como Emissor, Endossante e Avalista
9 = Assinar como Emissor, Endossante, Avalista, Fiador
10 = Assinar como fiador
11 = Assinar como parte e fiador
12 = Assinar como responsável solidário
13 = Assinar como parte e responsável solidário
foreign (obrigatório)Indica se o signatário é estrangeiro, ou seja, se possui CPF.
0 = Possui CPF (Brasileiro).
1 = Não possui CPF (Estrangeiro).
Para os signatários definidos como 'estrangeiros', o CPF não será exigido.
foreign_langIndica qual idioma será utilizado para o estrangeiro.
en = Inglês (US)
es = Espanhol
ptBR = Português
certificadoicpbr (obrigatório)Indica se o signatário DEVE efetuar a assinatura com um Certificado Digital ICP-Brasil.
0 = Será efetuada a assinatura padrão da D4Sign.
1 = Será efetuada a assinatura com um Certificado Digital ICP-Brasil.
assinatura_presencial (obrigatório)Indica se o signatário DEVE efetuar a assinatura de forma presencial.
1 = Será efetuada a assinatura presencial.
0 = Não será efetuada a assinatura presencial.
docauth (opcional)Indica se o signatário DEVE efetuar a assinatura apresentando um documento com foto.
1 = Será efetuada a assinatura exigindo um documento com foto.
0 = Não será efetuada a assinatura exigindo um documento com foto.
docauthandselfie (opcional)Indica se o signatário DEVE efetuar a assinatura apresentando um documento com foto e depois registrar uma selfie segurando o mesmo documento.
1 = Será efetuada a assinatura exigindo um documento com foto e uma selfie segurando o documento.
0 = Não será efetuada a assinatura exigindo um documento com foto e uma selfie segurando o documento.
embed_methodauth (opcional)Indica qual o método de autenticação será utilizado no EMBED.
email = O token será enviado por e-mail
password = Caso o signatário já possua uma conta D4Sign, será exigida a senha da conta.
sms = O token será enviado por SMS (para utilizar essa opção entre em contato com a equipe comercial da D4Sign)
whats = O token será enviado por WhatsApp (para utilizar essa opção entre em contato com a equipe comercial da D4Sign)
embed_smsnumber (opcional)Indica o número de telefone que será enviado o TOKEN via SMS ou WhatsApp.
Atenção: esse número deverá seguir o padrão E.164.
Ex.: +5511953020202 (código do país, DDD, número do telefone)
upload_allow (opcional)Indica se o signatário poderá enviar outros documentos
upload_obs (opcional)Se o upload_allow for setado como 1, indique aqui quais documentos o signatário deve enviar
after_position (opcional)Caso o seu documento esteja na fase "Aguardando assinaturas" e a sequencia de assinatura estiver sendo seguida, você poderá determinar qual a posição do signatário que você deseja adicionar.
Exemplo:
[email protected]
[email protected]
[email protected]
[email protected]
Se você definir a variável after_position com o número 1, o signatário será inserido após o primeiro signatário já cadastrado, no exemplo o [email protected].
skipemail (opcional)Defina com o valor 1 para não enviar e-mails ao signatário
whatsapp_number (opcional)Para cadastrar um nº de Whatsapp para assinatura, insira o nº de telefone. (Não esqueça de apagar o 1º parâmetro de e-mail e também o UUID do grupo).
uuid_grupo (opcional)Para cadastrar um grupo de assinaturas, insira o UUID do grupo. (Não esqueça de apagar o 1º parâmetro de e-mail).
certificadoicpbr_tipo (opcional)Definir uma modalidade de assinatura com certificado digital. 1 = Qualquer certificado. 2 = e-CPF. 3 = e-CNPJ
certificadoicpbr_cpf (opcional)Entre com o CPF do signatário. DEIXE EM BRANCO PARA ACEITAR QUALQUER CERTIFICADO E-CPF.
certificadoicpbr_cnpj (opcional)Entre com o CNPJ do signatário. DEIXE EM BRANCO PARA ACEITAR QUALQUER CERTIFICADO E-CNPJ.
password_code (opcional)Entre com um código para o acesso do signatário. DEIXE EM BRANCO PARA REMOVER O CÓDIGO ANTERIOR.
auth_pix (opcional)Autenticacão bancária por PIX
auth_pix_nomeCaso o auth_pix seja 1, o nome do signatário será obrigatório
auth_pix_cpfCaso o auth_pix seja 1, o CPF do signatário será obrigatório
videoselfieCaso o videoselfie seja 1, o signatário deverá registrar uma vídeo selfie no momento da assinatura
d4sign_score (opcional)Ativação da D4Sign Score - Consulta na base de dados do Governo Federal - Só será aceita se docauthandselfie =1 ou videoselfie = 1.

A consulta será realizada no Denatran, ou seja, o signatário deve possuir uma CNH.

Caso o signatário não possua uma CNH (cadastro no Denatran), nenhum crédito será descontado da D4Sign Score.
d4sign_score_nomeCaso o d4sign_score seja 1, o nome do signatário será obrigatório
d4sign_score_cpfCaso o d4sign_score seja 1, o CPF do signatário será obrigatório
d4sign_score_similarityNível de similaridade exigida - min 70 - max 90

Alterar signatário

POST/documents/{UUID-DOCUMENT}/changeemail

Testar endpoint 🧪

Esse objeto atualizará o e-mail do signatário.

{
    "Content-Type": "application/json"
}
{
"email-before": "[email protected]" ou "+5511981764321",
"email-after": "[email protected]" ou "+5511981764321",
"key-signer": "NyWx="
},
{
    "message": "E-mail changed"
}
ParâmetroDescrição
email-before (obrigatório)ANTIGO e-mail ou número de WhatsApp do signatário
email-after (obrigatório)NOVO e-mail ou número de WhatsApp do signatário
key-signerChave do signatário (anterior - before)

O "key-signer", é encontrado listando os signatários de um documento.


Alterar número do SMS

POST/documents/{UUID-DOCUMENT}/changesmsnumber

Testar endpoint 🧪

Esse objeto atualizará o número do SMS do signatário

{
    "Content-Type": "application/json"
}
{
    "email": "[email protected]",
    "sms-number": "+5511953874555",
    "key-signer": "NyWx="
}
{
    "message": "SMS number changed"
}

ParâmetroDescrição
email (obrigatório)E-mail do signatário
sms-number (obrigatório)NOVO número de SMS do signatário
key-signerChave do signatário

Alterar código de acesso do signatário

POST/documents/{UUID-DOCUMENT}/changepasswordcode

Testar endpoint 🧪

Esse objeto atualizará o código de acesso do signatário

{
    "Content-Type": "application/json"
}
{
    "email": "[email protected]",
    "password-code": "Código para acessar o documento",
    "key-signer": "NyWx="
}
{
    "message": "Password code changed",
}

ParâmetroDescrição
email (obrigatório)E-mail do signatário
password-codeCódigo para acessar o documento. Deixe em branco para remover o código atual.
key-signerChave do signatário

Remover signatário

POST/documents/{UUID-DOCUMENT}/removeemaillist

Testar endpoint 🧪

{
    "Content-Type": "application/json"
}
{
    "email-signer": "[email protected]",
    "key-signer": "NyWx="
}
{
    "message": "E-mail has removed"
}

ParâmetroDescrição
email-signer (obrigatório)E-mail do signatário
key-signer (obrigatório)Chave do signatário

Adicionar assinatura posicionada no documento principal ou anexo com pins de rubrica

POST/documents/{UUID-MAIN-DOCUMENT}/addpins

Testar endpoint 🧪

Esse objeto irá adicionar uma assinatura a posição que for definida no documento.

{
    "Content-Type": "application/json"
}
{
"pins": [
{ 
"document": "uuid-do-documento",
"email" : "[email protected]",
"page_height":1097,
"page_width": 790,
"page":1,
"position_x":30,
"position_y":30,
"type":0
}
]
}
{
  "message": "success"
}
ParâmetroDescrição
document (obrigatório)uuid do doc principal ou slave/anexo
email (obrigatório)E-mail do signatário que terá o pin adicionado. Ele deve estar já deve ter sido adicionado como signatário no documento.
page_height (obrigatório)Altura da página do documento em mm
page_width (obrigatório)Largura da página do documento em mm
page (obrigatório)Página que ficará o pin no documento selecionado no parâmetro 1
position_x (obrigatório)Posição X da assinatura em mm
position_y (obrigatório)Posição Y da assinatura em mm
type0 para assinatura, 1 para rubrica e 2 para selo

Lembrando que o modelo abaixo segue o padrão de uma folha A4 retrato.


*Para saber o uuid do slave, é preciso fazer a seguinte requisição já apresentada anteriormente na documentação:

GET/documents/{uuid-main-document}/listslaves

Testar endpoint 🧪

Após a mensagem de sucesso, atualize a tela da viewblob e o pin deve estar na página e posição definida no body da requisição.


Remover assinatura posicionada ao documento

POST/documents/{UUID-DOCUMENT}/removepins

Esse objeto irá remover uma assinatura a posição que for definida no documento

{
    "Content-Type": "application/json"
}
{
  "pins": [
    {
      "email": "[email protected]",
      "page": 1,
      "position_x": 30,
      "position_y": 30
    }
  ]
}
{
  "message": "success"
}
ParâmetroDescrição
email (obrigatório)E-mail do signatário
page (obrigatório)A página
position_x (obrigatório)Posição X da assinatura
position_y (obrigatório)Posição Y da assinatura

Listar assinaturas posicionadas ao documento

GET/documents/{UUID-DOCUMENT}/listpins

Esse objeto irá listar as assinaturas e suas posições em um documento

{
    "Accept": "application/json"
}
{
  "pins": [
    {
      "page_height": "300",
      "page_width": "500",
      "pagina": "1",
      "position_x": "1",
      "position_y": "1",
      "email": "[email protected]"
    }
  ]
}

Cadastrar informações do signatário

POST/documents/{UUID-DOCUMENT}/addinfo

Testar endpoint 🧪

🚧

Importante

APENAS PARA ASSINATURA PRESENCIAL

Esse objeto cadastrará as informações (nome, cpf e data de nascimento) no signatário criado. Você poderá utilizar esse objeto para as assinaturas presenciais. Se você souber os dados do signatário, cadastre-os para evitar que o signatário precise informá-los no momento da assinatura.

{
    "Content-Type": "application/json"
}
{
    "key_signer": "NwYj=",
    "email": "[email protected]",
    "display_name": "Nome do Signatário",
    "documentation": "CPF do Signatário",
    "birthday": "Data de Nascimento do Signatário",
    "tokenAPI": "{token-user}"
}
{
    "uuid-doc": 00004fa2-a361-42e3-a923-bb088b1809fe,
    "email": "[email protected]",
    "name": "Nome do signatário",
    "documentation": "CPF do signatário",
    "birthday": "Data de nascimento do signatário",
    "status": "changed"
}

ParâmetroDescrição
key_signerChave do signatário
email (obrigatório)E-mail do signatário cadastrado
display_name (opcional)Informar o nome do signatário
documentation (opcional)Informar o CPF do signatário
birthday (opcional)Informar a data de nascimento do signatário

Criação de Nomenclatura em Assinar Como

POST documents/{UUID-USUARIO}/addsignaturetype

Testar endpoint 🧪

O novo endpoint retorna um número “Act” usado para cadastrar signatários, modificando a descrição da assinatura (Assinar como).

A verificação do uuid do usuário, está disponível em [Verificar usuários.](A verificação do uuid do usuário, está disponível em https://docapi.d4sign.com.br/docs/usu%C3%A1rios)

{
    "tipo": "Testemunha Teste"
}
{
    "act": 373,
    "tipo_assinatura": "Testemunha Teste",
    "sucesso": 1
}

Parâmetros de requisição

ParâmetroDescrição
tipoNome/Título que será adicionado ao Assinar como

Nossa Documentação disponibiliza 13 números de Act:

Após usar o novo Endpoint e gerar um numero de Act (347), deve-se vinculá-lo a um novo signatário usando o endpoint Cadastrar Signatários. Disponível em Cadastro de signatário.

O novo numero de Act é vinculado à plataforma, e não ao usuário. Qualquer conta que queira utilizar o número tem permissão para fazê-lo, contanto que conheça o número que já foi cadastrado.

É possível cadastrar um novo Assinar como que já exista (cadastrar um Nome repetido), e cada vez que o cadastro é realizado ele gera um novo número de Act.

Após cadastrar um novo Act que possua o mesmo nome de um que existia previamente, os dois funcionam normalmente (Não há conflito).

A Act cadastrado deverá estar disponível na plataforma para utilização.


Listar detalhes de Grupo de assinatura

GET/groups/{UUID-COFRE}/groupdetails/{UUID-GROUP}

Testar endpoint 🧪

Esse objeto irá listar os detalhes de um grupo de assinatura apenas se o tokenAPI é o dono da conta do uuid_grupo, ou se há algum compartilhamento do grupo no uuid_cofre informado.

{
    "Content-Type": "application/json"
}
{
    "name_group": "[email protected]",
    "group_details": [
        {
            "uuid_conta": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "uuid_grupo": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "email": "[email protected]",
            "tipo_assinatura": "1",
            "certificado_digital": "0",
            "doc_auth": "0",
            "assinatura_presencial": "0",
            "estrangeiro": "0",
            "removido": "0",
            "dt_cadastro": "2024-01-04 11:48:31",
            "desativar_remocao": "0",
            "signatario_editavel": "0",
            "doc_authselfie": "0",
            "sequencia": "1",
            "upload_permitido": "0",
            "upload_obs": null,
            "clausula_destaque": "0",
            "nome_tipo_assinatura": "Assinar"
        },
        {
            "uuid_conta": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "uuid_grupo": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "email": "[email protected]",
            "tipo_assinatura": "1",
            "certificado_digital": "0",
            "doc_auth": "0",
            "assinatura_presencial": "0",
            "estrangeiro": "0",
            "removido": "0",
            "dt_cadastro": "2024-01-04 11:48:41",
            "desativar_remocao": "0",
            "signatario_editavel": "0",
            "doc_authselfie": "0",
            "sequencia": "2",
            "upload_permitido": "0",
            "upload_obs": null,
            "clausula_destaque": "0",
            "nome_tipo_assinatura": "Assinar"
        },
        {
            "uuid_conta": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "uuid_grupo": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            "email": "[email protected]",
            "tipo_assinatura": "1",
            "certificado_digital": "0",
            "doc_auth": "0",
            "assinatura_presencial": "0",
            "estrangeiro": "0",
            "removido": "0",
            "dt_cadastro": "2024-01-04 11:49:02",
            "desativar_remocao": "0",
            "signatario_editavel": "0",
            "doc_authselfie": "0",
            "sequencia": "3",
            "upload_permitido": "0",
            "upload_obs": null,
            "clausula_destaque": "0",
            "nome_tipo_assinatura": "Assinar"
        }
    ]
}

ParâmetroDescrição
uuid-cofreUUID de algum cofre que esteja compartilhado com o grupo.
uuid-groupUUID do grupo que deseja listar.

Copiar Link de Assinatura

GET/documents/{UUID-DOCUMENTO}/signaturelink/{ID_LINKASSINATURA}

Testar endpoint 🧪

Esse objeto irá permitir que o usuário copie o link de assinatura de um signatário específico de um documento específico via API.

{
    "Content-Type": "application/json"
}
{
    "link": "https://sandbox.d4sign.com.br/w/i/{uuid-documento}/xxxxxxxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx/xxxx"
}
ParâmetroDescrição
uuid-documentoUUID do documento
ID_linkassinaturaID do link de assinatura do signatário que deve assinar (key-signer decodificado em base 64)

O link de assinatura disponível após o envio para o signatário.

Portanto, deve-se trazer um retorno de erro, caso a requisição seja feita em alguma outra fase aonde não exista o link.

Apenas as seguintes permissões podem realizar a consulta:

  • Dono do cofre;
  • Permissão administrador, no caso do cofre ser compartilhado;
  • Permissão padrão, no caso do cofre ser compartilhado.

Inserir pin de rubrica do grupo de assinatura no documento.


Iremos dividir em 3 passos:

  1. Inserir grupos de signatários a um documento;
  2. Listar os grupos adicionados como signatários de um documento para descobrir o e-mail que foi criado para designar esse grupo;
  3. Inserir pins de rubrica da assinatura diretamente vinculados aos grupos inseridos no documento.

  1. Inserir grupos de signatários a um documento;

O primeiro passo é permitir que um grupo de signatário possa ser vinculado a um documento como signatário. As únicas restrições existentes, além das restrições básicas de permissão, são: o documento deve estar na fase de “Aguardando Signatários” e o grupo deve estar disponível para seleção no mesmo cofre onde o documento foi inserido.

Com estas regras satisfeitas, é possível utilizar o endpoint abaixo para inserir um grupo ao documento

POST/documents/{UUID-DOCUMENT}/createlist

Testar endpoint 🧪

Esse objeto realizará o cadastro dos signatários do documento, ou seja, quais pessoas precisam assinar esse documento.

{
    "signers" : [
        {
            "email": "[email protected]",
            "act": "1",
            "foreign": "1",
            "certificadoicpbr": "0",
            "assinatura_presencial": "0",
            "docauth": "0",
            "docauthandselfie": "0",
       	    "embed_methodauth": "email",
      	    "embed_smsnumber": "",
      	    "upload_allow": "0",
      	    "upload_obs": "Contrato Social e Conta de Luz",
      	    "whatsapp_number": "+5511981876540"(opcional),
      	    "uuid_grupo": "UUID DO GRUPO" (opcional),
      	    "certificadoicpbr_tipo": "2" (opcional),
      	    "certificadoicpbr_cpf": "CPF" (opcional),
      	    "certificadoicpbr_cnpj": "CNPJ" (opcional)
      	    "password_code": "Código de acesso" (opcional),
      	    "auth_pix": "0" (opcional),
      	    "auth_pix_nome": "Nome do signatário" (opcional),
      	    "auth_pix_cpf": "21917876280" (opcional),
      	    "videoselfie": "0" (opcional),
      	    "d4sign_score": "0" (opcional),
      	    "d4sign_score_nome": "Nome do signatário" (opcional),
      	    "d4sign_score_cpf": "21917876280" (opcional),
      	    "d4sign_score_similarity": "90" (min 70 - max 90),
        },
        {...}
        ]
}
{
    "key_signer": "NwYu=",
    "email": "[email protected]",
    "act": "1",
    "foreign": "0",
    "certificadoicpbr": "0",
    "assinatura_presencial": "0",
    "assinatura_presencial_link": "LINK PARA ASSINATURA PRESENCIAL" - O link só será exibido depois que o documento for enviado para assinatura,
    "doc_auth": "0",
    "embed_methodauth": "email",
    "embed_smsnumber": "",
    "upload_allow": "0",
    "upload_obs": "Contrato Social e Conta de Luz",
    "docauthandselfie": "0",
    "skipemail": "0",
    "whatsapp": "",
    "password_code": "",
    "status": "created"
}
ParâmetroDescrição
email (obrigatório)E-mail do signatário (pessoa que precisa assinar o documento)
act (obrigatório)Ação da assinatura.
Ações permitidas:
1 = Assinar
2 = Aprovar
3 = Reconhecer
4 = Assinar como parte
5 = Assinar como testemunha
6 = Assinar como interveniente
7 = Acusar recebimento
8 = Assinar como Emissor, Endossante e Avalista
9 = Assinar como Emissor, Endossante, Avalista, Fiador
10 = Assinar como fiador
11 = Assinar como parte e fiador
12 = Assinar como responsável solidário
13 = Assinar como parte e responsável solidário
foreign (obrigatório)Indica se o signatário é estrangeiro, ou seja, se possui CPF.
0 = Possui CPF (Brasileiro).
1 = Não possui CPF (Estrangeiro).
Para os signatários definidos como 'estrangeiros', o CPF não será exigido.
foreign_langIndica qual idioma será utilizado para o estrangeiro.
en = Inglês (US)
es = Espanhol
ptBR = Português
certificadoicpbr (obrigatório)Indica se o signatário DEVE efetuar a assinatura com um Certificado Digital ICP-Brasil.
0 = Será efetuada a assinatura padrão da D4Sign.
1 = Será efetuada a assinatura com um Certificado Digital ICP-Brasil.
assinatura_presencial (obrigatório)Indica se o signatário DEVE efetuar a assinatura de forma presencial.
1 = Será efetuada a assinatura presencial.
0 = Não será efetuada a assinatura presencial.
docauth (opcional)Indica se o signatário DEVE efetuar a assinatura apresentando um documento com foto.
1 = Será efetuada a assinatura exigindo um documento com foto.
0 = Não será efetuada a assinatura exigindo um documento com foto.
docauthandselfie (opcional)Indica se o signatário DEVE efetuar a assinatura apresentando um documento com foto e depois registrar uma selfie segurando o mesmo documento.
1 = Será efetuada a assinatura exigindo um documento com foto e uma selfie segurando o documento.
0 = Não será efetuada a assinatura exigindo um documento com foto e uma selfie segurando o documento.
embed_methodauth (opcional)Indica qual o método de autenticação será utilizado no EMBED.
email = O token será enviado por e-mail
password = Caso o signatário já possua uma conta D4Sign, será exigida a senha da conta.
sms = O token será enviado por SMS (para utilizar essa opção entre em contato com a equipe comercial da D4Sign)
whats = O token será enviado por WhatsApp (para utilizar essa opção entre em contato com a equipe comercial da D4Sign)
embed_smsnumber (opcional)Indica o número de telefone que será enviado o TOKEN via SMS ou WhatsApp.
Atenção: esse número deverá seguir o padrão E.164.
Ex.: +5511953020202 (código do país, DDD, número do telefone)
upload_allow (opcional)Indica se o signatário poderá enviar outros documentos
upload_obs (opcional)Se o upload_allow for setado como 1, indique aqui quais documentos o signatário deve enviar
after_position (opcional)Caso o seu documento esteja na fase "Aguardando assinaturas" e a sequencia de assinatura estiver sendo seguida, você poderá determinar qual a posição do signatário que você deseja adicionar.
Exemplo:
[email protected]
[email protected]
[email protected]
[email protected]
Se você definir a variável after_position com o número 1, o signatário será inserido após o primeiro signatário já cadastrado, no exemplo o [email protected].
skipemail (opcional)Defina com o valor 1 para não enviar e-mails ao signatário
whatsapp_number (opcional)Para cadastrar um nº de Whatsapp para assinatura, insira o nº de telefone. (Não esqueça de apagar o 1º parâmetro de e-mail e também o UUID do grupo).
uuid_grupo (opcional)Para cadastrar um grupo de assinaturas, insira o UUID do grupo. (Não esqueça de apagar o 1º parâmetro de e-mail).
certificadoicpbr_tipo (opcional)Definir uma modalidade de assinatura com certificado digital. 1 = Qualquer certificado2 = e-CPF3 = e-CNPJ
certificadoicpbr_cpf (opcional)Entre com o CPF do signatário. DEIXE EM BRANCO PARA ACEITAR QUALQUER CERTIFICADO E-CPF.
certificadoicpbr_cnpj (opcional)Entre com o CNPJ do signatário. DEIXE EM BRANCO PARA ACEITAR QUALQUER CERTIFICADO E-CNPJ.
password_code (opcional)Entre com um código para o acesso do signatário. DEIXE EM BRANCO PARA REMOVER O CÓDIGO ANTERIOR.
auth_pix (opcional)Autenticacão bancária por PIX
auth_pix_nomeCaso o auth_pix seja 1, o nome do signatário será obrigatório
auth_pix_cpfCaso o auth_pix seja 1, o CPF do signatário será obrigatório
videoselfieCaso o videoselfie seja 1, o signatário deverá registrar uma vídeo selfie no momento da assinatura
d4sign_score (opcional)Ativação da D4Sign Score - Consulta na base de dados do Governo Federal - Só será aceita se docauthandselfie =1 ou videoselfie = 1.

A consulta será realizada no Denatran, ou seja, o signatário deve possuir uma CNH.

Caso o signatário não possua uma CNH (cadastro no Denatran), nenhum crédito será descontado da D4Sign Score.
d4sign_score_nomeCaso o d4sign_score seja 1, o nome do signatário será obrigatório
d4sign_score_cpfCaso o d4sign_score seja 1, o CPF do signatário será obrigatório
d4sign_score_similarityNível de similaridade exigida - min 70 - max 90

Conforme imagem acima (onde act significa o tipo de ação que este grupo terá no processo de assinatura, como assinar, aprovar, etc; e uuid_grupo é o uuid do grupo presente no mesmo cofre que este documento, que pode ser consultado a partir de outro endpoint já existente e funcional na documentação:

GET /groups/{UUID-SAFE}

Testar endpoint 🧪

Este método listará todos os grupos de assinatura do cofre

{
    "Content-Type": "application/json"
}
{
    "uuid_grupo": "018715xc-054b-409f-b122-f683951e5460",
    "nome": "Grupo Jurídico"
}
ParâmetroDescrição
UUID-SAFE (obrigatório)UUID do COFRE que deverá ser listado.

  1. Listar os grupos adicionados como signatários de um documento para descobrir o e-mail que foi criado para designar esse grupo.

Após inserir corretamente um grupo como signatário de um documento, temos que confirmar que o grupo é listado corretamente como signatário através da API. Esta é uma condição essencial para permitir que os pins sejam inseridos no terceiro passo. Utilizando o endpoint abaixo, podemos listar todos os signatários do documento.

GET /documents/{UUID-DOCUMENT}/list

Testar endpoint 🧪


Esse objeto retornará todos os signatários de um documento.

{
    "Content-Type": "application/json"
}
{
    "uuidDoc": "9f08bf18-bf4b-410f-9701-c286e5b1cad1",
    "nameDoc": "teste.pdf",
    "type": "application/pdf",
    "size": "118990",
    "pages": "6",
    "uuidSafe": "06b3ddb1-abc9-4ab8-b944-0d7c940486af",
    "safeName": "Atendimento",
    "statusId": "3",
    "statusName": "Aguardando Assinaturas",
    "statusComment": "Comentário sobre cancelamento",
    "whoCanceled": "E-mail de quem cancelou o documento",
    "list": {
    	"key_signer": "NwYj=",
    	"user_name": "Signatario 1",
    	"user_document": "000000000000 (CPF)",
    	"email": "[email protected]",
    	"signed": "1",
    	"sign_info": {
    		"ip": "192.168.0.1",
    		"ip_reverser": "bfb467a6.virtua.com.br porta: 33421",
    		"geolocation": "-23 -23",
    		"user_agent": "Mozilla",
    		"date_signed": "2038-03-29 11:05:34",
    		"date_signed_atom": "2038-03-29T11:05:34-03:00"
    	},
    	"type": "1",
    	"foreign": "0",
    	"certificadoicpbr": "0",
    	"assinatura_presencial": "0",
    	"assinatura_presencial_link": "LINK PARA ASSINATURA PRESENCIAL" - O link só será exibido depois que o documento for enviado para assinatura,
    	"embed_methodauth": "email",
    	"embed_smsnumber": "",
    	"email_sent": "1",
    	"email_sent_status": "Delivery",
    	"email_sent_message": "Mensagem entregue com sucesso.",
    	"upload_allowed": "0",
    	"upload_obs": "Descricao dos documentos",
    	"documents_attached": "[]",
    	"date": "2016-04-17 13:56:21",
    	"docauth": "1",
    	"docauth_text": "DADOS CAPTURADOS DO DOCUMENTO REGISTRADO (SOLICITE ESSE RECURSO EM NOSSO [email protected])",
    	"password_code": "Código de acesso do signatário"
    	
	}
}
ParâmetroDescrição
UUID-DOCUMENT (obrigatório)UUID do documento que deverá ser listado.

  1. Inserir pins de rubrica da assinatura diretamente vinculados aos grupos inseridos no documento;

Considerando que, no fluxo normal, precisamos apenas enviar os dados de posicionamento do pin no documento e o e-mail do signatário que será vinculado a este pin, podemos apenas trocar o e-mail pelo email usado como referência ao grupo que obtivemos no passo anterior.

A requisição do endpoint abaixo vai utilizar este email para buscar na lista de signatários se esse pin pode ser inserido e vinculado. Neste caso, conforme observamos nos passos anteriores, o e-mail do pin e o da lista de signatários são iguais.

POST/documents/{uuid-document}/addpins

Testar endpoint 🧪

Esse objeto irá adicionar a rubrica do signatário selecionado ao documento anexo.

{
"pins": [
{ 
"document": "uuid_document",
"email" : "[email protected]",
"page_height": 300,
"page_width": 500,
"page":1,
"position_x":30,
"position_y":30
}
]
}
{
    "message": "success"
}
ParâmetroDescrição
document (obrigatório)uuid do doc principal ou slave/anexo
email (obrigatório)E-mail do signatário que terá o pin adicionado. Ele deve estar já deve ter sido adicionado como signatário no documento.
page_height (obrigatório)Altura da página do documento em mm
page_width (obrigatório)Largura da página do documento em mm
page (obrigatório)Página que ficará o pin no documento selecionado no parâmetro 1
position_x (obrigatório)Posição X da assinatura em mm
position_y (obrigatório)Posição Y da assinatura em mm

Ao trazer a mensagem de sucesso, o pin de rubrica da assinatura deve estar disponível no documento da plataforma e em sua posição determinada na API.



Replicar posição de assinatura em todas as páginas de um documento e anexo

POST/documents/{uuid-document}/addpinswithreplics

Testar endpoint 🧪

Esse objeto irá replicar posições de assinatura em todas as páginas do documento principal e anexos.

{
    "pins": {
        "email": "[email protected]",
        "page_height": "1097px",
        "page_width": "790px",
        "position_x": 360,
        "position_y": 150,
        "type": 1,
        "document_slaves": [
            {
                "uuid": "{uuid-slave}"
            },
            {
                "uuid": "{uuid-slave}"
            }
        ]
    }
}
{
    "message": "success"
}
ParâmetroDescrição
uuid-document (obrigatório)uuid do documento principal
email (obrigatório)E-mail do signatário que terá o pin adicionado. Ele deve estar já deve ter sido adicionado como signatário no documento.
page_height (obrigatório)Altura da página do documento em px
page_width (obrigatório)Largura da página do documento em px
position_x (obrigatório)Posição X da assinatura em mm
position_y (obrigatório)Posição Y da assinatura em mm
type (opcional)Escolha qual será o tipo da posição de assinatura - 0:assinatura; 1:rubrica e 2:selo
uuid (opcional)Caso queira replicar a posição de assinatura também nos arquivos em anexo, adicione o uuid do slave que deseja adicionar.

Ao trazer a mensagem de sucesso, o pin com a posição de assinatura deve estar disponível em todas as páginas do documento da plataforma e em sua posição determinada na API.


Remover posições de assinatura replicadas no documento e anexo

POST/documents/{uuid-document}/removepinswithreplics

Testar endpoint 🧪

Esse objeto irá remover as posições de assinatura replicadas no documento principal e anexos.

{
    "pins": {
        "email": "[email protected]",
        "position_x": 360,
        "position_y": 150
    }
}
{
    "message": "success"
}
ParâmetroDescrição
uuid-document (obrigatório)uuid do documento principal
email (obrigatório)E-mail do signatário que terá o pin removido. Ele deve estar já deve ter sido adicionado como signatário no documento.
position_x (obrigatório)Posição X da assinatura em mm
position_y (obrigatório)Posição Y da assinatura em mm