Error al crear nueva credencial

Estoy iniciando el tutorial y ejecutando las pruebas iniciales en el postman… pero al tratar de enviar la petición Create a New Credendials me manda la siguiente respuesta:

{
“rid”: “55c34821-4116-41e0-ad32-f97b3f7a2c95”,
“code”: 401,
“errors”: null,
“status”: false,
“message”: “Unauthorized”,
“response”: null
}

Se supone que los parámetros default deberían ser suficientes para crearme la credencial sin problema.
¿Hay algo que no estoy haciendo bien?

Muchas gracias por la ayuda.

Hansi

Hola buenos días

El 401 se entrega cuando una sesión no es valida, en este caso parece que la sesión expiro por inactividad, si una sesión no se usa en 10 minutos expira por seguridad.

En este caso la sesión fue utilizada a las 9:20 am con exito, y el proximo llamado fue hasta 10:24 am por lo que seguramente la sesión ya no estaba disponible.

Gracias,
Saludos.

Quizá fue coincidencia, no sé, pero hice una prueba quitando el token… envié la petición y me devolvió de nuevo error…

Después volví a incluir el token, envié la petición de nuevo y esta vez la credencial fue creada exitosamente.

{
“rid”: “83d3582a-5196-4e0a-98fb-8e8daeb28689”,
“code”: 200,
“errors”: null,
“status”: true,
“message”: null,
“response”: {
“id_credential”: “59318bc50b212ac0408b4e1f”,
“username”: “t**t”,
“ws”: “wss://sync.paybook.com/v1/status/59318bbb0b212a453f8b5e9c”,
“status”: “https://sync.paybook.com/v1/jobs/59318bbb0b212a453f8b5e9c/status”,
“twofa”: “https://sync.paybook.com/v1/jobs/59318bbb0b212a453f8b5e9c/twofa
}
}

Alguien puede podría indicarme donde estuvo mi eerror ??

Gracias

Esta ultima petición tuvo exito porque el token fue creado a las 10:58 am, y fue usado para crear las credenciales a las 11:00 am. Entonces el token aun era valido (no paso más de 10 minutos sin usarse), cada petición que se haga el api incrementa en 10 minutos el tiempo de expiración.

El 401 se entrega cuando la información para authenticar no es valida, ya sea porque expiro el token o porque no existe.


Para efectos de pruebas puedes remplazar el token por el api_key y el id_user, utilizando estos dos parámetros te da un poco más de liberar para probar ya que no hay un token que expira.

Un ejemplo de esto ultimo sería:
POST a https://sync.paybook.com/v1/credentials?api_key=xxxxxxxx&id_user=xxxxxxx&… (más el resto de los parametros que has enviado normalmente)

Solo que es importante señalar que esta manera de hacerlo expone el api key lo cual no es recomendable en ambientes de producción.

Gracias,
Saludos.

Pero no entiendo:

  1. Por qué es que el token “expira”. Ese token viene por default en estas pruebas…
  2. Por otro lado, con la otra forma que me indicas, en lugar del api_key, podría utilizar mejor una sesión ???

Gracias de nuevo por tu amable ayuda

Hansi

Creo que ya entendí… no había visto que la variable global sync_token toma el token que se genera al crear una nueva sesión… soy nuevo en esto… pero sé que con su ayuda será fácil aprender.

Gracias de antemano.

Hansi

1 me gusta