Crear o editar el flujo de un expediente

POST
/api/{workflowUUID}/workflowSet

Ajusta el flujo de un expediente que ya cerraste: su expiración, cada cuánto insiste, qué lleva el correo de conclusión, o su cancelación.

Ojo: el id de la ruta es el UUID del expediente, no el de un documento.

Dos cosas distinguen a este endpoint de POST /api/{firmamexId}/workflow. Sus claves son snake_case únicamente, y acepta menos: los firmantes del expediente quedan fijos cuando lo cierras con POST /api/documentset/close, y aquí no se editan.

Cada llamada reinicia el flujo. Mandes lo que mandes, los recordatorios pendientes se cancelan y la invitación de firma sale de nuevo de inmediato, así que un cuerpo vacío no es inocuo. Usa este endpoint solo cuando quieras volver a llegarle a los firmantes.

Authorization<token>

Cada petición lleva Authorization: signmage {webId}:{firma}, donde firma es el Base64 de HMAC-SHA256(apiKey, cadenaFirmada).

Qué va dentro de cadenaFirmada depende de la petición:

PeticióncadenaFirmada
GETLa URI completa incluyendo el query string, exactamente como se envía
POST con JSONEl cuerpo JSON, re-serializado compacto (sin espacios ni salto de línea final)
POST multipartEl SHA-256 en Base64 del archivo, que además se manda en el header Content-SHA256

Dos detalles que conviene resolverlos desde el principio:

  1. En GET, la URI se firma tal como se envía, así que el orden y el encoding de los parámetros importan.
  2. En POST, la comparación se hace contra tu JSON re-serializado en forma compacta. Manda JSON compacto y canónico para que las firmas coincidan.

Una firma que no coincide devuelve 401 con el cuerpo vacío. Como la misma respuesta cubre un web ID desconocido, una llave inactiva y una firma que no coincide, revisa las tres cosas al diagnosticar.

En: header

Parámetros de ruta

workflowUUID*string

El UUID del expediente, tal como lo devuelve POST /api/documentset.

Cuerpo de la petición

application/json

Definiciones de TypeScript

Usa el tipo request body en TypeScript.

Ajustes al flujo de un expediente.

Este objeto es más angosto que el Workflow que le mandas a un documento suelto, y sus claves son snake_case únicamente — attach_files se lee, attachFiles no. Manda solo lo que quieras cambiar; lo que dejes fuera conserva el valor que ya tiene el flujo.

Cuerpo de la respuesta

application/json

text/plain

curl -X POST "https://example.com/api/04c0c65d-a06c-4f43-9a17-63b375b0106b/workflowSet" \  -H "Content-Type: application/json" \  -d '{    "expiration_date": "25/11/2021"  }'

{  "status": "success"}