Tokens de API
Qué es un token de API
Un token de API (APPLICATION_TOKEN) es la clave secreta con la que su aplicación
se autentica ante la API de BulkGate. Junto con el
Application ID (APPLICATION_ID) forma el
conjunto completo de credenciales de acceso: sin ambos, la API rechaza la solicitud.
El token es una cadena aleatoria de 50 caracteres compuesta por dígitos y letras minúsculas y mayúsculas. Se almacena cifrado y no caduca: sigue siendo válido hasta que usted mismo lo regenere, lo desactive o lo elimine.
Se crea un token automáticamente en el momento en que crea la API. Puede añadir más en cualquier momento, por ejemplo uno por servidor o por entorno, de modo que pueda revocar uno sin que afecte a los demás.
No comparta nunca el token ni lo suba a un repositorio público. Cualquiera que tenga el token y el Application ID puede enviar mensajes desde su cuenta. Si sospecha que se ha filtrado, regenere o elimine el token.
Dónde encontrar el token
- Haga clic en
Módulos y APIsen el menú del portal - Haga clic en la tarjeta de su aplicación en
Mis APIs y módulos - Permanezca en la pestaña
Ajustesy busque la secciónCredenciales de acceso
Contiene el Application ID y, debajo, bajo el subtítulo Application Token, la
lista de tokens de esa aplicación. El token nunca se muestra de inmediato: solo
verá sus cuatro primeros y cuatro últimos caracteres, el resto se sustituye por
asteriscos.
El icono de la izquierda indica el estado del token: verde significa activado, rojo significa desactivado. Un token desactivado aparece además tachado.
El botón con el ojo tachado a la derecha de cada token lo muestra; las demás
acciones están ocultas tras el icono de tres puntos Mas acciones.

Cómo mostrar y copiar un token
- Haga clic en el icono del ojo tachado junto al token que quiere ver
- Se abre el diálogo
Mostrar ficha, que le pide que compruebe su entorno - Introduzca la contraseña de su cuenta y haga clic en
Continuar - El token se muestra completo y el icono cambia a
Dupdo, que lo copia al portapapeles

Un token mostrado permanece visible solo hasta que se recarga la página. Tras recargarla vuelve a ocultarse y tendrá que introducir de nuevo su contraseña para verlo.
Cómo añadir otro token
- Haga clic en
Añadir tokenen la parte inferior de la secciónCredenciales de acceso - Introduzca la contraseña de su cuenta
- Haga clic en
Añadir
El portal lo confirma con Token ha sido creado y muestra el nuevo token
completo: cópielo de inmediato, porque tras recargar la página se oculta como los demás.
No hay límite en el número de tokens que puede tener una aplicación.
Cómo regenerar un token
Al regenerarlo, el token existente se sobrescribe con uno nuevo. Conserva su lugar en la lista, solo cambia su valor.
- Haga clic en
Mas accionesjunto al token y elijaGenerar uno nuevo - Introduzca la contraseña de su cuenta
- Haga clic en
Generar uno nuevo

El portal lo confirma con El token ha sido regenerado.
El token anterior deja de funcionar de inmediato. Todas las integraciones que lo utilizaban empiezan a recibir errores: sustitúyalo por el nuevo token sin demora.
Cómo desactivar y volver a activar un token
Desactivar un token es la alternativa reversible a eliminarlo: el token permanece en la lista, pero ya no puede utilizarse para autenticarse.
- Haga clic en
Mas accionesjunto al token - Elija
Inhabilitar, oHabilitarsi el token ya está desactivado - Confirme en el diálogo que se abre
El portal lo confirma con El token ha sido deshabilitado. o El token fue habilitado.
Esta acción no requiere contraseña.
Cómo eliminar un token
- Haga clic en
Mas accionesjunto al token y elijaBorrar - Confirme con
Borraren el diálogoEliminar token
El portal lo confirma con Se ha eliminado el token. Esta acción tampoco requiere
contraseña.
La eliminación es definitiva: el token no se puede restaurar ni volver a mostrar. Si solo quiere bloquear el acceso temporalmente, utilice en su lugar la desactivación del token.
Todos los tokens de una aplicación desaparecen también en el momento en que elimina la propia aplicación.
Cómo se envía el token a la API
El Application ID y el token se pasan como parámetros application_id y
application_token, ya sea en el cuerpo de la solicitud o en la query string.
La otra opción es firmar un JWT con el token
y enviarlo en una cabecera.
Un token no válido, desactivado o eliminado provoca una respuesta con el código HTTP 401
y el tipo de error unknown_identity. Obtendrá la misma respuesta cuando la propia
aplicación esté desactivada, o cuando tenga configuradas direcciones IP permitidas y
la solicitud proceda de otra dirección. Los demás errores se enumeran en la página
Tipos de error de la API.
Cómo usar el token en un JWT firmado
En lugar de enviar el token con cada solicitud, puede firmar con él un JWT y enviar este en su lugar. El token se queda entonces de su lado: por la red solo viaja la firma derivada de él.
Coloque el JWT terminado en la cabecera Authorization:
Para que la API lo acepte, el JWT debe tener este aspecto:
| Parte | Contenido |
|---|---|
| Header | {"alg":"HS256","typ":"JWT"} — la API no acepta ningún otro algoritmo ni tipo |
| Payload | application_id con su Application ID |
| Signature | HMAC-SHA256 del header y el payload, con el token de API como clave |
Así, el payload para la aplicación número 39238 tiene este aspecto:
Cuando envía un JWT, ya no necesita application_id ni application_token
entre los parámetros de la solicitud: la API toma la identidad del payload.
Puede limitar la validez de un JWT concreto con el campo expire dentro de
application_parameters. El valor es una marca de tiempo Unix en segundos; una vez
alcanzada, el JWT deja de funcionar:
Sin este campo, el JWT es válido mientras lo sea el token que lo firmó. Por eso resulta útil allí donde entregue el JWT a terceros: lo firma con una validez corta y el token en sí se queda con usted.
La firma se verifica frente a todos los tokens activados de la aplicación, así que
puede firmar el JWT con cualquiera de ellos. Un token desactivado o eliminado no
pasa: se aplica lo mismo que se ha descrito antes, una respuesta con el código HTTP 401
y el tipo de error unknown_identity.
Gracias por su opinión.