El flujo de trabajo de aprobación
AprobaciónAñade un botón de solicitud de aprobación al visor de un documento y personaliza las plantillas de correo que usa el flujo de trabajo de aprobación, ambos a través de la API.
APIs usadas en esta discusión
Qué puedes hacer
El flujo de trabajo de aprobación de FlipLink permite a los lectores solicitar la aprobación de un documento. Dos endpoints lo configuran:
- Añade un botón de solicitud de aprobación al visor. Al activarlo se dispara el flujo de trabajo de solicitud de aprobación.
- Configura las plantillas de correo que usa el flujo de trabajo de aprobación — los correos de solicitud, recordatorio y envío.
El flujo de trabajo de aprobación se aplica solo a ítems de tipo Document — ítems creados con DocType=document. No está disponible en flipbooks estándar.
Antes de empezar
Necesitarás:
- Una clave de API — enviada como el encabezado
X-Api-Key, o comoAuthorization: Bearer YOUR_API_KEY, en cada solicitud. - El
{flipbookId}— el ID numérico del documento que estás configurando. Lo devuelven create-by-file / create-by-url (comoID) o list. - Todas las solicitudes van a la URL base
https://go.fliplink.me.
Ambos endpoints toman un cuerpo form-urlencoded (no JSON).
Añade el botón de aprobación
PUT /api/set-approval-button/{flipbookId} añade un botón de solicitud de aprobación al visor. Al activarlo se dispara
el flujo de trabajo de solicitud de aprobación.
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:
IsApprovalButton—truepara mostrar el botón de solicitud de aprobación,falsepara ocultarlo.ApprovalButtonText— la etiqueta del botón.ApprovalButtonColor— el color de fondo del botón, como valor hexadecimal con el#inicial (p. ej.#0055FF). Por defecto es#000000. El valor se almacena tal cual; la API no lo valida.ApprovalButtonTextColor— el color del texto del botón, como valor hexadecimal con el#inicial (p. ej.#FFFFFF). Por defecto es#FFFFFF. El valor se almacena tal cual; la API no lo valida.
Respuesta:
{
"Result": "OK",
"Message": "Updated successfully"
}
Configura las plantillas de correo de aprobación
PUT /api/set-approval-email-templates/{flipbookId} configura las plantillas de correo que usa el flujo de trabajo de aprobación.
Cada campo tiene un texto predeterminado integrado; dejar un campo vacío conserva ese texto predeterminado.
El texto de la plantilla puede incluir merge tokens con la forma ##TOKEN##, que se reemplazan cuando se envía el correo —
por ejemplo, ##DOCUMENT_TITLE## inserta el título del 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='
Respuesta:
{
"Result": "OK",
"Message": "Updated successfully"
}
Errores posibles
- Clave de API ausente o no válida → HTTP
401. Esto devuelve una página HTML de "Unauthorized" sin formato sin formato — no hay cuerpo JSON. Comprueba que el encabezadoX-Api-Keyesté presente y sea correcto. - ID del ítem no encontrado o no perteneciente a tu clave → HTTP
200conMessage: "Item not found". - Campo del cuerpo desconocido o mal escrito → HTTP
200conMessage: "Unknown field(s) '…'. Expected: …".
Notas
- En el endpoint de plantillas de correo, cada campo tiene un texto predeterminado integrado; enviar un valor vacío para un campo conserva el texto predeterminado de esa plantilla.
- El texto de las plantillas de correo admite merge tokens
##TOKEN##(p. ej.##DOCUMENT_TITLE##para el título del documento), sustituidos en el momento del envío. - Los colores del botón (
ApprovalButtonColor,ApprovalButtonTextColor) son valores hexadecimales con un#inicial y se almacenan tal cual sin validación; los valores predeterminados son#000000y#FFFFFF.