DICE utiliza marcas de tiempo para dos operaciones clave: creación (onboarding) y resolución de llaves (key resolution).

Creación de Llaves

Para cubrir el caso de creación, Transfiya define un nuevo endpoint:

POST /v1/signer/<handle>/timestamps

Este endpoint requiere que los participantes envíen las dos marcas de tiempo finales asociadas al proceso de creación del firmante:

1

received

Momento en que el participante recibió una respuesta de incorporación de firmante desde Transfiya.

2

dispatched

Momento en que el participante notificó a su usuario el resultado de la operación de incorporación.

curl -X POST \
 -H "x-api-key: <API_KEY>" \
 -H "Authorization: Bearer <TOKEN>" \
 -H "Content-Type: application/json" \
 -d '{
  "received": "2024-10-11T11:59:22.241-05:00",
  "dispatched": "2024-10-11T11:59:22.517-05:00"
 }' "<TRANSFIYA URL>/v1/signer/wRFmYXS2sP9ho9VCZ3j4FuP1j55ABeFvsF/timestamps"

Codigos de Error

Código de errorDescripciónHTTP Status
99Unexpected server error400
100You don’t have permissions to access this method403
101Unauthorized request, invalid or expired token401
118Resource schema validation error, field format is not correct400
121Signer not found in database400
123Domain rules error, timestamps are not in the expected range400

Resolución de llave

Las marcas de tiempo requeridas para la resolución de llaves son similares a las que se utilizan durante el proceso de incorporación (onboarding). Dado que una solicitud de resolución no crea un firmante en el sistema, las marcas de tiempo finales se deben reportar utilizando el request id que se devuelve como parte de la respuesta de la resolución.

POST /v1/signer/lookup.dice

curl -X POST \
  -H "Content-Type: application/json" \
  -H "x-api-key: <API_KEY>" \
  -H "Authorization: Bearer <TOKEN>" \
  -d '{
    "aliasValue": "@jorge22",
    "received": "2025-01-14T20:39:17.827-05:00",
    "dispatched": "2025-01-14T20:39:18.005-05:00"
  }' "<TRANSFIYA URL>/v1/signer/lookup.dice"

Las marcas de tiempo finales se reportan en el paso 9.

Las marcas de tiempo que los participantes deben enviar a Transfiya son las mismas utilizadas en el flujo de resolución:

  • received → momento en que el participante recibió una respuesta de resolución de firmante desde Transfiya.
  • dispatched → momento en que el participante notificó al usuario sobre el resultado de la operación de resolución.

Ejemplo de API:

POST /v1/signer/lookup.dice/<requestId>/timestamps

curl -X POST \
 -H "x-api-key: <API_KEY>" \
 -H "Authorization: Bearer <TOKEN>" \
 -H "Content-Type: application/json" \
 -d '{
  "received": "2024-10-11T11:59:22.241-05:00",
  "dispatched": "2024-10-11T11:59:22.517-05:00"
 }' "<TRANSFIYA URL>/v1/signer/lookup.dice/01961b67-ebad-7997-87b8-d7f663dca76a/timestamps"

Codigos de Error

Código de errorDescripciónHTTP Status
99Unexpected server error400
100You don’t have permissions to access this method403
101Unauthorized request, invalid or expired token401
118Resource schema validation error, field format is not correct400
121Signer not found in database400
123Domain rules error, timestamps are not in the expected range400