Apariencia
Retirar o Rechazar Oferta (No Asignación)
Endpoint
POST /api/v3/no-asignacionDescripció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)
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
uuid | string (UUID) | Sí | UUID de la oferta que se desea retirar. |
global | number | No | Identificador de ofertamiento global. Por defecto 0. |
internal | number | No | Identificador 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ón | No Asignación | Cancelación |
|---|---|---|
| Estado | Oferta sin asignar | Servicio ya asignado |
| Momento | Antes de la asignación | Después de la asignación |
| Identificador | uuid de la oferta | uuid / idServicio |
| Efecto | Retira la oferta y libera recursos | Cancela 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.