Workflow
Criação e manipulação do workflow
Na criação de um workflow é definido todos os passos que serão realizados durante a aprovação/assinatura de um documento ou mais documentos.
O workflow seguirá respectivamente a sequência de envio dos steps definidos na chave “workflowSteps”.
Criar um workflow
POST
https://api-v1.assine.online/v1/workflow
Montagem do workflow com quais arquivos queremos e quais pessoas queremos que assinem, definindo onde a assinatura ficará no documento.
Headers
Name | Type | Description |
---|---|---|
Authorization | string | Bearer <access-token> |
Content-Type | string | application/json |
Accept | string | application/json |
Request Body
Name | Type | Description |
---|---|---|
files[].idFolder | string | ID da pasta para salvar o arquivo usado no workflow. Padrão: 0. |
autoRemind | integer | Notificações de email quando está pendente de assinatura de alguém. 0 - Desativa (Default) 1 - Ativa |
autoInitiate | integer | Além de criar, também inicia o fluxo, fazendo os envios de emails para os assinantes. 0 - Desativa (Default) 1 - Ativa |
dueDate | string | Data de vencimento do fluxo, não será possível assinar os documentos após esta data definida. Exemplo: 2023-01-01 23:59:59 |
message | string | Uma mensagem para identificar este fluxo, do qual será exibida para o assinante. |
priority | integer | Simboliza uma prioridade para o fluxo. 0 - Normal (Default) 1 - Alta 2 - Muito Alta |
sla | String | Valor em horas em que será notificado a pendência de assinatura à pessoa. O valor 1 significa uma hora, 2 significa duas horas, sendo o valor máximo 720 horas (30 dias). |
files | array | Um array de arquivos que vamos escolher para este fluxo. |
files[].idFile | integer | ID do arquivo que queremos usar no fluxo. Este id se adquire ao fazer o upload do documento. |
files[].name | string | Nome de identificação para o documento. |
files[].specialFields | array | Campos especiais que devem aparecer no documento como, por exemplo, um QR Code com o link de validação do documento. |
files[].specialFields[].type | integer | Tipo do campo: 9 - QR Code de validação 10 - QR Code de compartilhamento do documento. |
files[].specialFields[].x | integer | Eixo x em relação ao topo do documento em que o campo irá aparecer. |
files[].specialFields[].y | integer | Eixo y em relação ao topo do documento em que o campo irá aparecer. |
files[].specialFields[].height | integer | Altura que o campo terá dentro do documento. |
files[].specialFields[].width | integer | Largura que o campo terá dentro do documento. |
files[].specialFields[].page | integer | Página do documento em que este campo irá aparecer. |
files[].workflowSteps | array | Passos, ou seja, assinantes na ordem que queremos que assinem. |
files[].workflowSteps[].idUser | integer | ID do usuário que queremos que assine, ou opcionamente troque este valor pelo valor abaixo. |
files[].workflowSteps[].user | object | Caso não queira, não possui o id do usuário que queira ser assinante, crie este objeto no lugar. { "name": "Nome da pessoa", "email": "pessoa@example.com", "whatsappNumber": "5511999999999", "notifyWhatsapp": true } |
files[].workflowSteps[].user.name | string | Nome da pessoa que queremos que assine neste step. |
files[].workflowSteps[].user.email | string | Email da pessoa que queremos que assine neste step. |
files[].workflowSteps[].action | integer | A ação que queremos deste assinante: 0 - Assinante (Default) 1 - Aprovador 2 - Visualizador |
files[].workflowSteps[].signatureType | string | O tipo da assinatura que queremos desta pessoa. 0 - Eletrônica (Default) 1 - Digital 2 - Presencial |
files[].workflowSteps[].fields | array | Campos que queremos no documento a respeito deste assinante. |
files[].workflowSteps[].fields.type | integer | Tipo do campo: 0 - O nome do assinante; 1 - O email do assinante; 4 - Um campo de data; 6 - Um campo de input de texto de preenchimento opcional; 7 - Um campo de input de texto de preenchimento obrigatório; 8 - A assinatura visível, ou seja, o desenho da assinatura da pessoa; 11 - Um campo de data da assinatura; 16 - Uma assinatura invisível, ou seja, que consta do documento final mas não existe uma representação visual no documento. 17 - A assinatura visível, porém esta ficará na última página do documento no rodapé do lado direito, com essa assinatura não é necessário informar os eixos x e y. |
files[].workflowSteps[].fields.x | string | Distância do eixo X em relação ao lad esquedo do documento em que o campo deve aparecer. |
files[].workflowSteps[].fields.y | string | Distância do eixo Y em relação ao topo do documento em que o campo deve aparecer. |
files[].workflowSteps[].fields.height | string | Altura do campo que será exibido no documento. |
files[].workflowSteps[].fields.width | string | Largura do campo que será exibido no documento. |
files[].workflowSteps[].fields.page | string | Página no documento do qual o campo será exibido. |
files[].workflowSteps[].hasPhotoSign | boolean | Se deve ou não pegar a foto do assinante |
Os campos whatsappNumber e notifyWhatsapp dentro de files[].workflowSteps[].user somente são necessários se você tiver o recurso de envio por Whatsapp habilitado. Caso queira contratar, procure o time comercial.
Caso precise de mais detalhes sobre a criação do workflow, veja nossa documentação do quickstart.
Buscar um workflow
GET
https://api-v1.assine.online/v1/workflow/:id
Busca informações sobre o workflow, seu status, quem já assinou ou ainda está pendente e etc.
Path Parameters
Name | Type | Description |
---|---|---|
id | integer | ID do workflow que deseja consultar. |
Headers
Name | Type | Description |
---|---|---|
Authorization | string | Bearer <access-token> |
Accept | string | application/json |
Possíveis status do workflow:
0
: Rascunho, ou seja, ainda não iniciou-se.1
: Circulando, ou seja, o fluxo se iniciou e está aguardando que as pessoas assinem.2
: Cancelado, ou seja, a pessoa que criou o fluxo cancelou.3
: Expirado, ou seja, o fluxo passou da data de vencimento definida.4
: Processando, ou seja, o documento está sendo processado com o cálculo de criptografia da assinatura.5
: Rejeitado, ou seja, algum dos assinantes rejeitou assinar este workflow.6
: Completado, ou seja, todos os assinantes efetuaram a assinatura e o documento está totalmente assinado.
Possíveis status do step do workflow, ou seja, status do assinante se foi aprovado ou não (Propriedade: _embedded.documents[].workflowSteps[].status
):
0
: Não iniciado, ou seja, o fluxo ainda não se iniciou e a pessoa ainda não recebeu o email pedindo a assinatura.1
: Aguardando assinatura, ou seja, aguardando que o assinante peça para assinar.2
: Na fila de processamento, ou seja, está na fila para processar a assinatura.3
: Processando, ou seja, está no processo de gerar as chaves e cálculos para realizar a assinatura.4
: Aprovado, ou seja, já foi processado e o usuário aprovou que o documento possa ser assinado, podendo avançar para o próximo passo que no nosso caso, o próximo passo é pedir a assinatura de Maria.5
: Rejeitado, ou seja, o assinante rejeitou assinar o documento, abortando todo o fluxo.
É possível encontrar os links temporários para download do documento em sua versão original na chave “originalFile” e sua versão assinada/preenchida atual em “file”.
Listar workflows
GET
https://api-v1.assine.online/v1/workflow
Lista todos os workflow criados
Query Parameters
Name | Type | Description |
---|---|---|
page | integer | Página que deseja lista. Default: 1 |
Headers
Name | Type | Description |
---|---|---|
Authorization | string | Bearer <access-token> |
Accept | string | application/json |
Iniciar um workflow
PATCH
https://api-v1.assine.online/v1/workflow/:id
Quando o workflow é criado, o fluxo não se inicia automaticamente por padrão, ou seja, nenhum dos assinantes recebe o email com o pedido de assinatura, para isso precisamos inicializá-lo.
Path Parameters
Name | Type | Description |
---|---|---|
id | integer | ID do workflow |
Headers
Name | Type | Description |
---|---|---|
Authorization | string | Bearer <access-token> |
Content-Type | string | application/json |
Accept | string | application/json |
Request Body
Name | Type | Description |
---|---|---|
status | number | 1 |
O corpo da requisição é literalmente:
Cancelar workflow
PATCH
https://api-v1.assine.online/v1/workflow/:id
Path Parameters
Name | Type | Description |
---|---|---|
id | integer | ID do workflow |
Headers
Name | Type | Description |
---|---|---|
Authorization | string | Bearer <access-token> |
Content-Type | string | application/json |
Accept | string | application/json |
Request Body
Name | Type | Description |
---|---|---|
status | integer | 2 |
O corpo da requisição é literalmente:
Last updated