Como assinar sem obrigatoriedade de e-mail:
A utilização do e-mail é uma premissa obrigatória para o Sign. No entanto, alguns usuários não possuem e-mail ou desejam assinar sem essa exigência. Pensando nisso, foi adicionada uma nova funcionalidade para atender a essa necessidade. Atualmente, está disponível apenas via API e com solicitação de liberação.
Ao enviar um envelope para assinatura sem exigir o e-mail, o sistema cria automaticamente um e-mail fictício internamente. É necessário que um canal de comunicação (communicationChannel) seja escolhido, podendo ser a própria plataforma, SMS ou WhatsApp. Esse canal deve ser configurado utilizando os plugins(conectores) disponíveis ao gerar o envelope.
Exemplo de envelope sem obrigatoriedade de e-mail utilizando a plataforma como canal de comunicação. Note que o processo de assinatura chega via notificação e o e-mail fictício gerado é randômico:
Canais de comunicação disponíveis na ausência do e-mail:
Canal de comunicação | Descrição | E-mail obrigatório |
Plataforma | Necessita de um usuário interno com Login e Senha da plataforma | Não (exceto o login para o usuário interno) |
SMS | Necessita de um plugin (conector) para envio de SMS | Não |
Necessita de um plugin (conector) para envio via WhatsApp | Não |
Passos para criar e enviar para a assinatura um envelope sem obrigatoriedade de e-mail:
- Criar um rascunho do envelope (passando como “false” o valor para o atributo “mandatoryEmail”).
- Enviar para assinatura.
1° – Visão geral da criação de um rascunho do envelope:
Para a chamar a primitiva via API, deve ser feito um POST para a URL: rest/platform/ecm_ged/actions/saveEnvelope
passando um JSON como corpo da requisição com os seguinte parâmetros de versionamento no Headers:
Accept: application/json;seniorx.version=3
Atributos utilizados nesta primitiva:
Atributo | Descrição | Tipo | Obrigatório |
Name | Nome do envelope | String | Não |
envelopeDocuments | Lista de documentos | Array | Não |
signers (ver tabela 2) | Signatários | Array | Não |
instructionsToSign | Instruções para os signatários | String | Não |
askGeolocation | Habilitar/Desabilitar coleta de posição geográfica | DONT_ASK_LOCATION, ASK_LOCATION ou REQUIRED_LOCATION | Não |
recurrentNotificationIntervalDays | Recorrência de dias para notificação | Int | Sim (padrão 0 dias) |
daysToExpire | Dias para expiração do envelope | Int | Sim (padrão 120 dias) |
Atributo | Descrição | Tipo | Obrigatório |
name | Nome do signatário | String | Sim |
E-mail do signatário | String | Se torna obrigatório caso “mandatoryEmail” seja true | |
phoneNumber | Telefone do signatário | String | Se torna obrigatório caso “mandatoryEmail” seja false e o canal de comunicação escolhido seja SMS ou WhatsApp |
username | nome do usuário da plataforma | String | Se torna obrigatório caso “mandatoryEmail” seja false e o canal de comunicação seja a plataforma |
communicationChannel | Canais de comunicação do usuário | Objeto | Se torna obrigatório informar pelo menos um canal de comunicação caso “mandatoryEmail” seja false |
signerType | Tipo de assinante | MANDATORY, RECEIVE_COPY, RECEIVE_COPY_BEFORE_SIGN ou PIONEER | Não |
signerSubType | Subtipo de assinante | DISABLED, OPTIONAL ou MANDATORY | Não |
orderSign | Ordem do assinante | Int | Sim |
digitalCertificate | Assinar com certificado digital | MANDATORY, RECEIVE_COPY, RECEIVE_COPY_BEFORE_SIGN ou PIONEER | Não |
mandatoryEmail | Obrigatoriedade do uso de e-mail | Boolean | Não (Padrão true) |
Exemplo de JSON resumido:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | { "name": "string", "envelopeDocuments": [ { "documentVersion": "string", "envelopePosition": 1 } ], "signers": [ { "name": "string", "email": "string", "phoneNumber": "string", "username": "string", "askGeolocation": "DONT_ASK_LOCATION", "signerStatus": "string", "communicationChannel": { "email": false, "platform": false, "whatsapp": false, "sms": false }, "signerType": "MANDATORY", "signerSubType": "SIGN", "orderSign": 1, "digitalCertificate": "DISABLED", "mandatoryEmail": false } ], "instructionsToSigner": "string", "askGeolocation": "DONT_ASK_LOCATION", "recurrentNotificationIntervalDays": 0, "daysToExpire": 120, "conectors": [] } |
Ao executar a chamada com sucesso, um envelopeDraftId será gerado:

Payload de um rascunho utilizando a plataforma (Usuário interno):
Neste caso o e-mail esta sendo passado como não obrigatório (“mandatoryEmail”: false) e o usuário quer utilizar a plataforma para enviar para assinatura:
- Note que o valor de “platform” em “communicationChannel” esta sendo passado como “true”
- o atributo “mandatoryEmail” esta sendo passado como “false”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | { "name": "string", "envelopeDocuments": [ { "documentVersion": "string", "envelopePosition": 1 } ], "signers": [ { "name": "string", "email": "string", "username": "string", "phoneNumber": "string", "username": "string", "askGeolocation": "DONT_ASK_LOCATION", "signerStatus": "string", "communicationChannel": { "email": false, "platform": true, "whatsapp": false, "sms": false }, "signerType": "MANDATORY", "signerSubType": "SIGN", "orderSign": 1, "digitalCertificate": "DISABLED", "mandatoryEmail": false } ], "instructionsToSigner": "string", "askGeolocation": "DONT_ASK_LOCATION", "recurrentNotificationIntervalDays": 0, "daysToExpire": 120, "conectors": [] } |
Exemplo de payload de um rascunho utilizando o SMS ou WhatsApp:
Neste caso o e-mail está sendo passado como não obrigatório (“mandatoryEmail”: false) e o usuário quer utilizar o SMS ou WhatsApp para efetuar o processo de assinatura.
Utilizando o SMS:
- Note que o valor de “sms” no “communicationChannel” está sendo passado como “true”.
- O Atributo “mandatoryEmail” está sendo passado como “false”.
- O atributo phoneNumber deve estar preenchido
- O atributo conector está preenchido pois ele é o responsável de integrar o respectivo serviço de SMS com o Sign.
Utilizando o WhatsApp:
- Segue os mesmos padrões do SMS, alterando apenas o valor de “whatsapp” para “true”
Obs: Há diversos conectores que podem ser utilizados para tal ação.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | { "signers": [ { "name": "User", "phoneNumber": "47123456789", "orderSign": 1, "signerType": "MANDATORY", "signerSubType": "SIGN", "communicationChannel": { "email": false, "platform": false, "sms": true }, "mandatoryEmail": false } ], "conectors": [ { "name": "send-sms-infobip", "id": "string", "title": "Enviar SMS (Infobip)", "description": "Envia um SMS utilizando os serviços da Infobip.", "inputs": [ { "id": "string", "inputName": "Token de autorização", "inputParameter": "string", "inputType": "string", "required": boolean, "value": "string", "inputValue": "string" } ] } ], "envelopeDocuments": [ { "documentVersion": "0d110945-2f49-4062-be2f-efe780ae9a18", "envelopePosition": 1 } ], "envelopeDraftId": "", "name": "Teste", "documentsVersions": [ "0d110945-2f49-4062-be2f-efe780ae9a18" ], "askGeolocation": "DONT_ASK_LOCATION", "daysToNotify": 0, "daysToExpire": 120, "notificateAuthor": false, "recurrentNotificationIntervalDays": 0 } |
Para saber mais sobre os conectores, clique aqui.
2º – Enviando o rascunho criado para a assinatura:
Com o valor do envelopeDraftId gerado no passo anterior, basta realizar um POST para a primitiva sendDraftToSign na URL rest/platform/ecm_ged/actions/sendDraftToSign passando um JSON como corpo da requisição.
Atributos usados nessa requisição:
Atributo | Descrição | Tipo | Obrigatório |
envelopeDraftId | Id gerado na criação do rascunho do envelope (passo 1) | String | Sim |
notifyUser | Notificação do usuário | Boolean | Não |
sendEmail | Envia um e-mail notificando sobre o processo de assinatura | Boolean | Não |
Exemplo de JSON:
1 2 3 4 5 | { "envelopeDraftId": "string", "notifyUser": false, "sendEmail": true } |
Ao realizar a chamada com sucesso, um envelopeId será retornado e o envelope terá sido enviado para a assinatura:
Para saber mais sobre o envio de um envelope para a assinatura, clique aqui.