O fluxo de aprovação

Aprovação

Adicione um botão de solicitação de aprovação ao visualizador de um documento e personalize os modelos de e-mail que o fluxo de aprovação usa, ambos pela API.

APIs usadas nesta discussão

Algo impreciso ou desatualizado neste guia?

O que você pode fazer

O fluxo de aprovação do FlipLink permite que os leitores solicitem aprovação em um documento. Dois endpoints o configuram:

  • Adicionar um botão de solicitação de aprovação ao visualizador. Habilitá-lo dispara o fluxo de solicitação de aprovação.
  • Definir os modelos de e-mail que o fluxo de aprovação usa — os e-mails de solicitação, lembrete e envio.

O fluxo de aprovação se aplica somente a itens do tipo Document — itens criados com DocType=document. Ele não está disponível em flipbooks comuns.

Antes de começar

Você vai precisar de:

  • Uma chave de API — enviada como cabeçalho X-Api-Key, ou como Authorization: Bearer YOUR_API_KEY, em toda requisição.
  • O {flipbookId} — o ID numérico do documento que você está configurando. Ele é retornado por create-by-file / create-by-url (como ID) ou por list.
  • Todas as requisições vão para a URL base https://go.fliplink.me.

Ambos os endpoints recebem um corpo form-urlencoded (não JSON).

Adicione o botão de aprovação

PUT /api/set-approval-button/{flipbookId} adiciona um botão de solicitação de aprovação ao visualizador. Habilitá-lo dispara o fluxo de solicitação de aprovação.

curl -X PUT 'https://go.fliplink.me/api/set-approval-button/96216' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'IsApprovalButton=true' \
  --data-urlencode 'ApprovalButtonText=Request approval' \
  --data-urlencode 'ApprovalButtonColor=#0055FF' \
  --data-urlencode 'ApprovalButtonTextColor=#FFFFFF'

Campos:

  • IsApprovalButtontrue para mostrar o botão de solicitação de aprovação, false para ocultá-lo.
  • ApprovalButtonText — o rótulo do botão.
  • ApprovalButtonColor — a cor de fundo do botão, como valor hexadecimal com o # inicial (por exemplo, #0055FF). O padrão é #000000. O valor é armazenado como está; a API não o valida.
  • ApprovalButtonTextColor — a cor do texto do botão, como valor hexadecimal com o # inicial (por exemplo, #FFFFFF). O padrão é #FFFFFF. O valor é armazenado como está; a API não o valida.

Resposta:

{
  "Result": "OK",
  "Message": "Updated successfully"
}

Defina os modelos de e-mail de aprovação

PUT /api/set-approval-email-templates/{flipbookId} define os modelos de e-mail usados pelo fluxo de aprovação. Cada campo tem um texto padrão embutido; deixar um campo vazio mantém esse padrão.

O texto do modelo pode incluir tokens de mesclagem no formato ##TOKEN##, que são substituídos quando o e-mail é enviado — por exemplo, ##DOCUMENT_TITLE## insere o título do documento.

curl -X PUT 'https://go.fliplink.me/api/set-approval-email-templates/96216' \
  -H 'X-Api-Key: YOUR_API_KEY' \
  --data-urlencode 'EmailApproveRequestSubject=Approval needed: ##DOCUMENT_TITLE##' \
  --data-urlencode 'EmailApproveRequestBody=' \
  --data-urlencode 'EmailApproveRemindSubject=' \
  --data-urlencode 'EmailApproveRemindBody=' \
  --data-urlencode 'EmailApproveSubmitSubject=' \
  --data-urlencode 'EmailApproveSubmitBody='

Resposta:

{
  "Result": "OK",
  "Message": "Updated successfully"
}

Erros possíveis

  • Chave de API ausente ou inválida → HTTP 401. Isso retorna uma página HTML de Unauthorized simples — não há corpo JSON. Confira se o cabeçalho X-Api-Key está presente e correto.
  • ID do item não encontrado ou não pertencente à sua chave → HTTP 200 com Message: "Item not found".
  • Campo do corpo desconhecido ou digitado errado → HTTP 200 com Message: "Unknown field(s) '…'. Expected: …".

Notas

  • No endpoint de modelos de e-mail, cada campo tem um texto padrão embutido; enviar um valor vazio para um campo mantém o padrão daquele modelo.
  • O texto dos modelos de e-mail aceita tokens de mesclagem ##TOKEN## (por exemplo, ##DOCUMENT_TITLE## para o título do documento), substituídos no momento do envio.
  • As cores dos botões (ApprovalButtonColor, ApprovalButtonTextColor) são valores hexadecimais com um # inicial e são armazenadas como estão, sem validação; os padrões são #000000 e #FFFFFF.