Este artículo describe el proceso OAuth, que permite a los usuarios solicitar una clave API desde su sistema Quentn. Si tu aplicación está construida en PHP, te recomendamos encarecidamente que utilices nuestro PHP-SDK. De lo contrario, tendrás que implementar el proceso manualmente, como se describe en este documento.
Antes de empezar, tienes que registrar una aplicación en my.quentn.com para obtener client_id y client_secret. Para ello, pónte en contacto con el soporte de Quentn.
Iniciar el proceso
El proceso Oauth debe iniciarse con una petición HTTP GET.
Ejemplo de petición:
GET https://my.quentn.com/public/api/v1/oauth?response_type=code&scope=all&client_id=<client_id-of-your-app>&redirect_uri=<redirect_uri>&state=<random_string> HTTP/1.1
Parámetro Nombre | Valor | Descripción |
---|---|---|
response_type | code | |
scope | all | Ambito de la clave API |
client_id | <client_id-of-your-app> | Obtendrás el id de cliente al registrar su aplicación. |
redirect_uri | <redirect_uri> | El usuario será redirigido a esa URL una vez completado este paso. El dominio debe coincidir con el dominio que se especificó en el registro de la aplicación. |
state | <random_string> | Una cadena aleatoria, que se añadirá como parámetro a redirect_uri para validar la solicitud |
El usuario debe seleccionar un sistema Quentn con el que conectarse. Entonces, será redirigido a la redirect_uri dada. Se añadirán los siguientes parámetros:
Parámetro Nombre | Valor | Descripción |
---|---|---|
code | <token_for_next_request> | Utilice este token en el siguiente paso cuando solicite la clave de API real. |
state | <random_string_from_last_step> | Asegúrese de que esta cadena coincide con el estado dado desde la solicitud inicial. De lo contrario, el proceso debe detenerse porque ya no puede considerarse seguro. |
Solicitar clave API
Obten la clave API durante la solicitud HTTP POST.
Ejemplo de petición:
POST https://my.quentn.com/public/api/v1/oauth/request HTTP/1.1
Content-Type: application/json
{
"grant_type": "authorization_code",
"code": "<token_from_last_request>",
"client_id": "<client_id-of-your-app>",
"client_secret": "<client_secret-of-your-app>",
"redirect_uri": "<redirect_uri>",
"app_context": "<account_id_in_your_system>",
}
Parámetro Nombre | Valor | Descripción |
---|---|---|
grant_type | authorization_code | |
code | <token_from_last_request> |
Este es el token que has obtenido durante la redirección en el último paso. |
client_id | <client_id-of-your-app> | Obtendrás el id de cliente al registrar tu app |
client_secret | <client_secret-of-your-app> | Obtendrás el secreto del cliente al registrar su aplicación. |
redirect_uri | <redirect_uri> | El dominio debe coincidir con el especificado al registrar la aplicación. |
app_context | <account_id_in_your_system> | Opcional: puede indicar, por ejemplo, el ID de cuenta del usuario en su aplicación. Esto es necesario si sus usuarios deben ser capaces de conectar múltiples instancias de su aplicación con el mismo sistema Quentn. El tipo debe ser una cadena UTF8 de hasta 64 caracteres. |
Ejemplo de respuesta:
En caso de fallo:
HTTP/1.1 400 Bad request
Content-Type: application/json
{
"error": "true",
"message": "Some error message",
}
En caso de éxito
HTTP/1.1 200 OK
Content-Type: application/json
{
"success": "true",
"api-key": "<your-api-key>",
"base-url": "<base_url_for_api_requests>",
}
Parámetro Nombre | Valor | Descripción |
---|---|---|
success | true | |
api-key | <your-api-key> | Utilice esta clave para realizar solicitudes de API. |
base-url | <base_url_for_api_requests> | Esta es la URL base para las solicitudes de API. |