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)Sí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