Apariencia
Finalizar Servicio
Nuevo en v3
Este endpoint fue introducido en API v3 y no está disponible en versiones anteriores.
Endpoint
POST /api/v3/finalizeDescripción
Permite finalizar formalmente un servicio desde el lado del oferente o del operador. Este endpoint acepta autenticación tanto por credenciales básicas HTTP como por sesión de usuario interno del Gestor TSALVA.
Autenticación
Este endpoint acepta cualquiera de los siguientes métodos de autenticación:
# Opción 1: Autenticación básica HTTP (empresas externas)
Authorization: Basic <credenciales_base64>
# Opción 2: Sesión de usuario del Gestor TSALVA
Authorization: Bearer <jwt_token>Parámetros de Entrada
Headers
Content-Type: application/json
Authorization: Basic <credenciales> | Bearer <token>Body (JSON)
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
uuid | string (UUID) | Sí | Identificador único del servicio a finalizar |
Ejemplo de Request
json
{
"uuid": "123e4567-e89b-12d3-a456-426614174000"
}Respuestas
✅ Éxito (200 OK)
json
{
"status": true,
"msg": "Servicio finalizado exitosamente"
}❌ Error de Validación (400 Bad Request)
json
{
"status": false,
"msg": "UUID es requerido"
}❌ No Autorizado (401 Unauthorized)
json
{
"status": false,
"msg": "Las credenciales de acceso no son correctas."
}❌ No Encontrado (404 Not Found)
json
{
"status": false,
"msg": "Servicio no encontrado"
}Error Interno (500 Internal Server Error)
json
{
"status": false,
"msg": "Ha ocurrido un error interno del servidor, por favor intenta más tarde"
}Ejemplos de Código
cURL
bash
curl -X POST "[URL_API]/api/v3/finalize" \
--user "tu_usuario:tu_password" \
-H "Content-Type: application/json" \
-d '{
"uuid": "123e4567-e89b-12d3-a456-426614174000"
}'JavaScript
javascript
const response = await fetch('[URL_API]/api/v3/finalize', {
method: 'POST',
headers: {
'Authorization': `Basic ${btoa('usuario:password')}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
uuid: '123e4567-e89b-12d3-a456-426614174000'
})
});
const result = await response.json();
console.log(result);Python
python
import requests
from requests.auth import HTTPBasicAuth
response = requests.post(
'[URL_API]/api/v3/finalize',
auth=HTTPBasicAuth('usuario', 'password'),
json={
"uuid": "123e4567-e89b-12d3-a456-426614174000"
}
)
result = response.json()
print(result)Notas Importantes
- Solo se puede finalizar un servicio que esté en un estado activo
- Este endpoint complementa el flujo de cancelación; úsalo cuando el servicio se haya completado desde el lado del oferente
- Las notificaciones webhook correspondientes al cambio de estado se emiten automáticamente tras la finalización
Flujo Relacionado
POST /api/v3/oferta → Crear oferta
POST /api/v3/asignacion → Asignar detalles
...ejecución del servicio...
POST /api/v3/finalize → Finalizar servicio ✓Consejo
Usa POST /api/v3/cancelacion para cancelar un servicio antes de su ejecución, y este endpoint para finalizarlo una vez completado.