Usando templates

Use templates e deixe pré-configurado fluxos de assinatura para reuso

Os templates permite que seja pré-configurado um documento e, opcionalmente, assinantes e demais valor de um fluxo. Com isso é possível fazer o reuso para criação de fluxos, existem dois tipos de templates: temporário e permanente.

O template temporário é utilizado para fazer integração com nossa página de configuração de documento, da qual é apagada depois de um tempo. O permanente é para reuso na criação de fluxos de assinatura, utilizaremos esse como exemplo deste tutorial.

Criando o payload

Vamos montar um payload simples de um documento e um assinante e salvar este template. Antes de tudo, faça upload do documento que será utilizado para este template e guarde o id retornado, agora vamos construir o payload:

{
	"type": 1,
	"name": "Nome do template",
	"settings": {
		"canAddSigners": true
	},
	"template": {...}
}
  • type: O tipo do template, do quais são:

    • 0: Temporário;

    • 1: Permanente.

  • name: O nome de identificação do template.

  • settings: Configurações para o template.

    • canAddSigners: Configuração que define se a pessoa que está editando o template terá permissão de adicionar assinantes. Esta propriedade pode ser ocultada caso não esteja utilizando o template que usa a página de integração.

  • template: O payload do workflow que desejamos guardar para reuso, faremos isso no próximo passo.

Neste momento estamos definindo somente a configuração do template em si, sem ainda informar o documento e os assinantes. Para fazer isso, vamos incluir os dados no nosso template:

{
	"type": 1,
	"name": "Nome do template",
	"settings": {
		"canAddSigners": true
	},
	"template": {
		"message": "Comentário opcional",
		"files": [{
			"idFile": 5583,
			"name": "Meu documento",
			"specialFields": [],
			"workflowSteps": []
		}]
	}
}

Todos os campos que vão para a propriedade template são idênticas ao payload que criamos para o workflow. Caso queira, você já pode deixar pré-definido um assinante:

{
	"type": 1,
	"name": "Nome do template",
	"settings": {
		"canAddSigners": true
	},
	"template": {
		"message": "Comentário opcional",
		"files": [{
			"idFile": 5583,
			"name": "Meu documento",
			"specialFields": [],
			"workflowSteps": [{
				"user": {
					"name": "Pedro Cavalcante",
					"email": "pedrocavalcante@webbamail.com"
				},
				"action": 0,
				"signatureType": 0,
				"fields": []
			}]
		}]
	}
}

Lembrando que para criar o workflow de fato, é necessário que o assinante tenha um ao menos uma field de assinatura. Caso queira já deixar pré-definido onde deve aparecer a assinatura da pessoa:

{
	"type": 1,
	"name": "Nome do template",
	"settings": {
		"canAddSigners": true
	},
	"template": {
		"message": "Comentário opcional",
		"files": [{
			"idFile": 5583,
			"name": "Meu documento",
			"specialFields": [],
			"workflowSteps": [{
				"user": {
					"name": "Pedro Cavalcante",
					"email": "pedrocavalcante@webbamail.com"
				},
				"action": 0,
				"signatureType": 0,
				"fields": [
					{
						"type": 8,
						"x": 51,
						"y": 29,
						"height": 46,
						"width": 200,
						"page": 1
					}
				]
			}]
		}]
	}
}

Concluído nosso payload, salvamos ele:

curl -X POST \
    -H 'Authorization: Bearer 41f7ff53c1dc5cf4f3db1f33e026b2908cdf88b4' \
    -H "Content-Type: application/json" \
    https://api-v1.assine.online/v1/workflow-template -d '
{
	"type": 1,
	"name": "Nome do template",
	"settings": {
		"canAddSigners": true
	},
	"template": {
		"message": "Comentário opcional",
		"files": [{
			"idFile": 5583,
			"name": "Meu documento",
			"specialFields": [],
			"workflowSteps": [{
				"user": {
					"name": "Pedro Cavalcante",
					"email": "pedrocavalcante@webbamail.com"
				},
				"action": 0,
				"signatureType": 0,
				"fields": [
					{
						"type": 8,
						"x": 51,
						"y": 29,
						"height": 46,
						"width": 200,
						"page": 1
					}
				]
			}]
		}]
	}
}
'

POST https://api-v1.assine.online/v1/workflow-template

Resposta:

{
    "id": 19,
    "type": 1,
    "token": "e2dvb2RfbG9va317ImRhdGEiOnsidHlwZSI6InRlbXBsYXRlIiwiaWQiOjE5fSwiaG1hYyI6ImIwZjhiZTFkOTI4M2Q0NThhODcwOGMzYWIwMDJkMWIxODk0NmRhNWZlZWUxODE2ZDkwZjBkNzg4YzdmMzlkMTAiLCJub25jZSI6IjkwNTkxNTgyODA0ODY0In0=",
    "title": "Template created",
    "status": 201,
    "detail": "Template created"
}

O campo token é usado caso precise da página para integração.

Com isso temos nosso template criado, caso queira consultá-lo:

curl -X GET \
    -H 'Authorization: Bearer 41f7ff53c1dc5cf4f3db1f33e026b2908cdf88b4' \
    https://api-v1.assine.online/v1/workflow-template/19

GET https://api-v1.assine.online/v1/workflow-template/:workflowTemplateId

Resposta:

{
    "id": 19,
    "template": {
        "message": "Comentário opcional",
        "files": [
            {
                "idFile": 5583,
                "name": "Meu documento",
                "specialFields": [],
                "workflowSteps": [
                    {
                        "user": {
                            "name": "Pedro Cavalcante",
                            "email": "pedrocavalcante@webbamail.com"
                        },
                        "action": 0,
                        "signatureType": 0,
                        "fields": [
                            {
                                "type": 8,
                                "x": 51,
                                "y": 29,
                                "height": 46,
                                "width": 200,
                                "page": 1
                            }
                        ]
                    }
                ],
                "_embedded": {
                    "file": {
                        "_links": {
                            "download": {
                                "href": "https://api-v1.assine.online/file?q=e2dvb2RfbG9va317ImRhdGEiOnsidXVpZCI6IjM3MTNmNDIwLTU5NTYtMTFlYS05Y2UzLTAyNDJhYzE1MDAwNyJ9LCJobWFjIjoiYjVlMzkzZjAyOWUwZjk1MzdhOGUwZmJiZTI2YzRlNzAwNGEwYzQ0YmRhZWYxOWQyODkxMDlkZDRhYjRiNmYxZCIsIm5vbmNlIjoiNTU0MjE1ODI4MDUwNjMifQ=="
                            }
                        }
                    }
                }
            }
        ]
    },
    "settings": {
        "canAddSigners": true
    },
    "token": "e2dvb2RfbG9va317ImRhdGEiOnsidHlwZSI6InRlbXBsYXRlIiwiaWQiOjE5fSwiaG1hYyI6ImE4YjJkMzIyZThkYzM1N2IwYjBiYWMwYmFmOWVkZjU3MGI1MGUzMWRlYzFjYjJkOGI1MWQxMzhkN2Y3N2RjN2MiLCJub25jZSI6Ijc4NTgxNTgyODA1MDYzIn0=",
    "type": 1,
    "title": "",
    "status": 200,
    "detail": ""
}

Na resposta temos todo o payload para a criação de novos workflows bem como o link para upload do documento usado no template e o token caso deseje usar nossa página de integração.

Com essas informações você pode usar todo o conteúdo que está na propriedade template para criar o fluxo de assinatura.

Last updated