Saltearse al contenido

Autenticación

Método: POST

Endpoint

https://api-sandbox.factus.com.co/oauth/token


Descripción

Este endpoint permite obtener un token de acceso para autenticar solicitudes a la API mediante las credenciales del sistema.

  • Propósito: Autenticar usuarios y generar un token de acceso válido.
  • Duración del token: 1 hora. Tras este periodo, será necesario renovarlo solicitando un nuevo token.
  • Credenciales: Para obtener credenciales, contacta al administrador de la API.

Nota: El token es obligatorio para realizar cualquier solicitud a los endpoints protegidos de la API.


Encabezados de Solicitud

Incluye los siguientes encabezados en la solicitud:

EncabezadoValorDescripción
Acceptapplication/jsonIndica que la respuesta debe estar en formato JSON.

Parámetros del Cuerpo de Solicitud

El cuerpo de la solicitud debe enviarse como form-data e incluir los siguientes parámetros obligatorios:

ParámetroDescripciónEjemplo
grant_typeTipo de autenticaciónpassword
client_idIdentificador único del clientetu client id
client_secretSecreto asociado al clientetu client secret
usernameCorreo electrónico del usuariotu username
passwordContraseña del usuariotu password

Ejemplo de Solicitud

A continuación, se muestra un ejemplo de cómo enviar una solicitud al endpoint:

Ventana de terminal
composer require guzzlehttp/guzzle
use Illuminate\Support\Facades\Http;
class AuthController extends Controller
{
public function getToken()
{
// Parámetros necesarios para la solicitud
$response = Http::asForm()->post('https://api-sandbox.factus.com.co/oauth/token', [
'grant_type' => 'password',
'client_id' => 'tu client id',
'client_secret' => 'tu client secret',
'username' => 'tu username',
'password' => 'tu password',
]);
// Verificamos si la respuesta es exitosa
if ($response->successful()) {
// Acceder a los datos del token
$data = $response->json();
$accessToken = $data['access_token'];
$refreshToken = $data['refresh_token'];
// Mostrar los tokens (o devolverlos en la respuesta de la API)
return response()->json([
'access_token' => $accessToken,
'refresh_token' => $refreshToken,
]);
} else {
// En caso de error, devolver el mensaje de error
return response()->json([
'error' => 'No se pudo obtener el token',
'message' => $response->body(),
], 400);
}
}
}

Response Success

Status: 200 OK

{
"token_type": "Bearer",
"expires_in": 600,
"access_token": "tu access token",
"refresh_token": "tu refresh token"
}