Crear o editar el flujo de un documento
Le pone un flujo de firma a un documento existente, cambia el que ya tiene, o lo cancela.
Manda solo lo que quieras cambiar — el resto se queda como está. Usos típicos: extender un flujo que expiró, quitar el orden de firma, o cancelarlo.
Para dejar el flujo armado desde la creación, manda workflow en POST /developers/json.
Autenticación
signmage 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ón | cadenaFirmada |
|---|---|
GET | La URI completa incluyendo el query string, exactamente como se envía |
POST con JSON | El cuerpo JSON, re-serializado compacto (sin espacios ni salto de línea final) |
POST multipart | El SHA-256 en Base64 del archivo, que además se manda en el header Content-SHA256 |
Dos detalles que conviene resolverlos desde el principio:
- En
GET, la URI se firma tal como se envía, así que el orden y el encoding de los parámetros importan. - 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
El id del documento (document_ticket).
Cuerpo de la petición
application/json
Definiciones de TypeScript
Usa el tipo request body en TypeScript.
Quién firma, en qué orden, y cómo los persigue Firmame.
Adjúntalo a POST /developers/json para dejar el flujo armado al crear el documento, o mándalo
a POST /api/{firmamexId}/workflow para agregarlo o cambiarlo después.
Todas las propiedades aceptan snake_case y camelCase — attach_timestamp y
attachTimestamp son el mismo campo. Los ejemplos usan camelCase, igual que los SDKs.
Lo que no mandes toma su valor por defecto: recordatorios cada 24 h, archivos adjuntos, aviso a todos, español, y expiración a 14 días.
Cuerpo de la respuesta
application/json
text/plain
curl -X POST "https://example.com/api/04c0c65d-a06c-4f43-9a17-63b375b0106b/workflow" \ -H "Content-Type: application/json" \ -d '{ "expiration_date": "25/11/2021" }'{ "status": "success"}