Transaction ID
El interceptor Transaction ID genera un identificador único para todas las transacciones ocurrentes en APIs registradas en el API Manager. Este identificador único será insertado en las informaciones del Trace sobre la llamada realizada con el objetivo de proporcionar mayor control e individualidad a la llamada hecha.
Funcionamiento
Al realizar una llamada con el interceptor Transaction ID, el gateway verifica si un valor fue pasado en el encabezado (header) o en el parámetro de consulta (query param). Si es así, el gateway llena el Trace con la información pasada; en el caso contrario, el gateway genera un ID del tipo UUID (universally unique identifier) y lo informa en el Trace.
Configuración del interceptor
El interceptor sólo puede añadirse al flujo de petición (request).
Para configurarlo, es necesario informar dónde el valor del ID será pasado durante la petición (Location) y el nombre que se utilizará para informar el valor.
El ID puede ser introduzido en el header o query param. Es a partir del nombre que el interceptor encontrará el valor del identificador y lo colocará en las informaciones de la llamada.
En el ejemplo de la imagen siguiente, configuramos un ID de transacción llamado transaction-id
que se pasará en el header.
Sólo puede haber un interceptor TransactionID en el flujo de petición (request) de una API. El sistema bloqueará la inserción de un segundo interceptor. |
Ejemplo de uso en una petición
Para ilustrar cómo este interceptor debe ser usado en una petición, vamos a tomar como ejemplo una llamada a una API que contenga el recurso /saldoEstoque
.
Vamos a imaginar que la API contenga un interceptor TransactionID registrado en su flujo de request y deba recibir un header con un ID de nombre transaction-id
.
El valor del ID de la transacción en cuestión es 1f7e240b-e7fb-4e77-bafd-028affd673ac
, como es ilustrado a continuación.
Después que la llamada sea concluida, podemos verificar el Trace de la llamada a través del API Manager y verificar que el valor del ID está siendo exhibido (en rojo, en la imagen de ejemplo de abajo).
También tenemos como información adicional el «Request ID» (en azul). Él es un identificador único para cada petición (request). O sea, él es generado a cada llamada y no tiene que ser pasado durante la petición. A su vez, el «Transaction ID» solo es modificado en el caso que un nuevo valor sea pasado en la llamada para diferenciar la transacción.
Share your suggestions with us!
Click here and then [+ Submit idea]