Recuperar y refrescar token
Este proceso es obligatorio
El proceso de integración con el SDK Full se inicia con la obtención del token de autenticación, un recurso clave que facilita el acceso a las APIs de Menta, como operaciones de pago, anulación, devolución y reversa.
Para llevar a cabo este paso, es necesario utilizar la API Key de tipo merchant, la cual forma parte de los prerrequisitos. Es responsabilidad del cliente garantizar el acceso y la gestión adecuada de esta clave durante el proceso de integración.
Requisitos
- API Key de tipo merchant.
Resultado
- Token de autenticación listo para ser usado en los siguientes pasos.
Cómo obtener el token
Pasos para recuperar el token:
- Inicializar la librería Rest Client.
- Instanciar el objeto
ExternalTokenDatay pasarle como parámetro el contexto de la Aplicación. - Consumir el método
getExternalTokenpasando como parámetro el API Key de tipo merchant. - Configurar un observer para recibir la respuesta del método
getExternalToken.
El paso #5 está deprecado a partir de la versión 7.2.5
5. Persistir localmente el token de autenticación usando el objeto Storage.
Ejemplo de implementación
import com.menta.android.common_cross.util.StatusType
import com.menta.android.core.viewmodel.ExternalTokenData
import com.menta.android.core.viewmodel.MasterKeyData
import com.menta.android.restclient.core.RestClientConfiguration.configure
import com.menta.android.restclient.core.Storage
configure(AppfinRestClientConfigure())
val externalTokenData = ExternalTokenData(this)
//Recuperar el token
externalTokenData.getExternalToken(merchantApiKey)
//Configurar el observer
externalTokenData.getExternalToken.observe(this) { token ->
if (token.status.statusType != StatusType.ERROR) {
// Continuar con la inicialización del dispositivo
} else {
Log.i(TAG, "Get token ERROR: ${token.status.message}")
}
}Ejemplo de response
El resultado que se recibe es el objeto LoginResponse mediante el observer configurado. Este tendrá 2 valores: el tipo de token y el token.
LoginResponse(
tokenType="Bearer",
idToken="<ID_TOKEN>"
)Códigos de respuesta
El resultado se recibe mediante el objeto LoginResponse.
En la siguiente tabla se muestran los diferentes códigos de error que se recuperan de token.status.type
| Código | Descripción |
|---|---|
| StatusType.ERROR | Falló el proceso. |
| StatusType.SUCCESS | El proceso se realizó exitosamente. |
Para el caso de error, se puede recuperar el mensaje de error así: token.status.message
Refrescar token
El token utilizado para acceder a las APIs tiene una vigencia limitada. Por ello, es necesario refrescarlo periódicamente para mantener el acceso y operar con normalidad. A partir de la versión 7.2.5, el SDK se encarga de gestionar este proceso, no es necesario que la App externa realice alguna acción.