Skip to content

Finalizar Servicio

Nuevo en v3

Este endpoint fue introducido en API v3 y no está disponible en versiones anteriores.

Endpoint

POST /api/v3/finalize

Descripció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)

CampoTipoRequeridoDescripción
uuidstring (UUID)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.

Tsalva API - Documentación desarrollada por RobPixels