Skip to content

Retirar o Rechazar Oferta (No Asignación)

Endpoint

POST /api/v3/no-asignacion

Descripción

Registra la no asignación de una oferta: la retira del proceso de ofertamiento y notifica a las centrales y técnicos involucrados que el servicio no será asignado. Se desbloquean los recursos (técnicos) que estaban reservados para esa oferta y se marca su estado como no asignada.

Casos de uso

  • Retiro de una oferta antes de que se asigne el servicio.
  • Notificación de no disponibilidad a la central/técnico que ya había respondido.
  • Cancelación por cambio de condiciones del cliente antes de la asignación.

Autenticación

Este endpoint usa autenticación HTTP Basic (autValidator). Consulta Autenticación para el detalle de errores 401 / 403.

Authorization: Basic <credentials>

Parámetros de Entrada

Body (JSON)

CampoTipoRequeridoDescripción
uuidstring (UUID)UUID de la oferta que se desea retirar.
globalnumberNoIdentificador de ofertamiento global. Por defecto 0.
internalnumberNoIdentificador de ofertamiento interno. Por defecto 0.

Ejemplo de Request

json
{
  "uuid": "123e4567-e89b-12d3-a456-426614174000"
}

Respuestas

Éxito (200 Correcto)

Cuando la oferta estaba activa en memoria (en proceso de ofertamiento):

json
{
  "status": true,
  "msg": "SE HA RECIBIDO EXITOSAMENTE LA NO ASIGNACIÓN DEL SERVICIO"
}

Cuando la oferta ya no estaba en memoria pero sí en base de datos y se registra la no asignación:

json
{
  "status": true,
  "msg": "NO ASIGNACIÓN REGISTRADA EXITOSAMENTE"
}

Cuando la oferta ya había sido procesada previamente (estado ≥ 2):

json
{
  "status": true,
  "msg": "LA OFERTA YA HA SIDO PROCESADA PREVIAMENTE - FINALIZANDO OPERACIÓN"
}

Oferta No Encontrada (404 No Encontrado)

Cuando la oferta no existe ni en memoria ni en base de datos:

json
{
  "status": false,
  "msg": "OFERTA NO ENCONTRADA"
}

Error Interno (500 Error Interno del Servidor)

json
{
  "status": false,
  "msg": "OCURRIÓ UN ERROR AL PROCESAR LA NO ASIGNACIÓN DEL SERVICIO"
}

Ejemplos de Código

cURL

bash
curl -X POST "[URL_API]/api/v3/no-asignacion" \
  --user "tu_usuario:tu_password" \
  -H "Content-Type: application/json" \
  -d '{
    "uuid": "123e4567-e89b-12d3-a456-426614174000"
  }'

JavaScript

javascript
const retirarOferta = async (uuid) => {
  const response = await fetch('[URL_API]/api/v3/no-asignacion', {
    method: 'POST',
    headers: {
      'Authorization': `Basic ${btoa('usuario:password')}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({ uuid })
  });

  const result = await response.json();

  if (!result.status) {
    throw new Error(result.msg);
  }

  return result;
};

// Uso
try {
  await retirarOferta('123e4567-e89b-12d3-a456-426614174000');
  console.log('No asignación registrada');
} catch (error) {
  console.error('Error:', error.message);
}

Python

python
import requests
from requests.auth import HTTPBasicAuth

response = requests.post(
    '[URL_API]/api/v3/no-asignacion',
    auth=HTTPBasicAuth('usuario', 'password'),
    json={"uuid": "123e4567-e89b-12d3-a456-426614174000"}
)

print(response.json())

Diferencia con Cancelación

AcciónNo AsignaciónCancelación
EstadoOferta sin asignarServicio ya asignado
MomentoAntes de la asignaciónDespués de la asignación
Identificadoruuid de la ofertauuid / idServicio
EfectoRetira la oferta y libera recursosCancela el servicio activo

Para cancelar un servicio ya asignado, usa POST /api/v3/cancelacion.


Cuándo usar

Usa este endpoint cuando quieras retirar una oferta que aún no se ha convertido en un servicio asignado, o cuando ya no necesites el servicio antes de la asignación.

Tsalva API - Documentación desarrollada por RobPixels