API v.1

ServerRest API

Documentación de autenticación y consumo básico de la API.

Introducción

La API REST de TEXDRIVE utiliza autenticación JWT para los nuevos desarrollos.

Las integraciones legacy continúan disponibles temporalmente por motivos de compatibilidad.

Flujo de autenticación

1. Solicitar JWT mediante Authorization Basic.
2. Recibir Token JWT.
3. Consumir los endpoints mediante Authorization Bearer.

Obtener Token JWT

POST /Texdrive/Auth

Cabecera Authorization

Authorization: Basic BASE64(usuario:password)

Ejemplo

Usuario : demo
Password: 1234

Cadena  : demo:1234

Base64  : ZGVtbzoxMjM0    

Petición

POST /API/Auth

Authorization: Basic ZGVtbzoxMjM0    

Respuesta

{
  "token":"eyJhbGciOi..."
}    

Caducidad del Token (exp)

El JWT generado por TEXDRIVE incorpora el campo exp (Expiration Time), que indica la fecha y hora límite de validez del token.

{
"mydata":"[...]",
"role":"user",
"exp":1756137600
}

Una vez alcanzado el instante indicado por exp, el token dejará de ser válido y el servidor rechazará las peticiones devolviendo un error de autenticación.

La configuración actual establece una duración de 1 hora desde su generación.

Cuando el token expire, el cliente deberá solicitar uno nuevo mediante el endpoint:

POST /API/Auth

utilizando nuevamente autenticación Basic para obtener un nuevo JWT.

Consumo mediante JWT

Authorization: Bearer eyJhbGciOi...    

Endpoint de ejemplo

GET /Texdrive/Health

Petición

GET /API/Health

Authorization: Bearer eyJhbGciOi...    

Respuesta

{
  "success": true,
  "status": "OK"
}    

Errores de autenticación

401 Unauthorized
Usuario o contraseña incorrectos    
401 Unauthorized
JWT inválido o expirado    

Ejemplos de consumo

Los endpoints disponibles pueden variar según la instalación, licenciamiento o personalizaciones específicas de cada cliente.

A continuación se muestra un ejemplo típico de consumo de un endpoint de negocio mediante JWT.

Ejemplo de consulta de fórmulas

POST /TEXDRIVE/GetFormula

Permite obtener los resultados de la formula especifica de un cliente.

Cabeceras requeridas

  Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json

Petición JSON

  {
"GetFormula":[
{
"FORMULA":"001"
}
]
}

Ejemplo cURL

  curl -X POST https://127.0.0.1:8081/TEXDRIVE/GetFormula 
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
-H "Content-Type: application/json"
-d "{
\"GetFormula\":[
{
\"FORMULA\":\"001\"
}
]
}"

Ejemplo Postman/Bruno

  Method : POST
URL : https://127.0.0.1:8081/TEXDRIVE/GetFormula
Headers:
Authorization : Bearer {{jwt}}
Content-Type : application/json
Body:
{
"GetFormula":[
{
"FORMULA":"001"
}
]
}

Respuesta de error

Esta respuesta se devuelve cuando el servidor no puede procesar la solicitud de la fórmula o se produce una excepción interna durante la obtención de los datos.

HTTP/1.1 400 Bad Request 
{
"error":"Fallo en la formula."
}