Bid


Intento de asignación de un Provider a una Order. Según la configuración de la compañía lo puede crear un cliente (para un repartidor), un repartidor (para un cliente) o un administrador (para un repartidor). El objetivo decide si acepta; un administrador puede forzar la asignación.

Estado (status, bitmask)

El ide-helper expone cada bit como propiedad is_*. Los bits se agrupan así:

  • Situación: is_status_available (pendiente de respuesta), is_status_accepted (aceptado → se crea el OrderProvider) o is_status_refused (rechazado). El valor activo se refleja en status_info.status.
  • Autor: is_admin_owner / is_provider_owner / is_client_owner indican quién creó el bid (status_info.owner).
  • Confirmaciones pendientes: is_client_confirmation_required, is_provider_confirmation_required, is_admin_confirmation_required. is_confirmed es true cuando no queda ninguna; is_waiting_only_for_admin_confirmation cuando la única pendiente es la del administrador.
  • is_improved (0x1000): el bid mejora una oferta anterior.

Confirmar (bids/{id}/confirm) o cancelar (bids/{id}/cancel) ajusta estos bits según el rol de quien actúa.

Estructura de Datos

Atributo Tipo Descripción
id int
status int Estado del bid como bitmask; ver los grupos de bits arriba.
created_at datetime\|null Fecha de creación.
updated_at datetime\|null Fecha de última modificación.
deleted_at datetime\|null Fecha de borrado lógico.
order_id int Orden sobre la que se hace la oferta.
provider_id int Repartidor que se ofrece o al que se ofrece la orden.
goods array IDs de los ítems de la orden que cubre el bid.
client_id int\|null Cliente involucrado, si el bid parte de o va dirigido a un cliente.
branch_id int\|null Comercio de la orden.
allLogs ApiLog> Registros de auditoría de la API, incluidos los internos.
branch Branch\|null Comercio de la orden.
client Client\|null Cliente involucrado en el bid.
is_confirmed bool true si no queda ninguna confirmación pendiente.
is_waiting_only_for_admin_confirmation bool true si la única confirmación pendiente es la del administrador.
logs ApiLog> Registros de auditoría de la API visibles.
order Order Orden sobre la que se hace la oferta.
orderProvider OrderProvider\|null Asignación resultante si el bid se acepta.
provider Provider Repartidor del bid.
status_info array Resumen legible del estado: status, owner y las acciones pendientes por rol.
{
    "status_info": {
        "status": "ERROR",
        "owner": "ERROR",
        "has_pending_actions": false,
        "has_pending_client_actions": false,
        "has_pending_provider_actions": false,
        "has_pending_admin_actions": false
    }
}

Endpoints

Listar Bid

Listar Bid de Client

{info} Soporta: Paginación Filters Carga dinámica

Listar los bids de un cliente

Devuelve los Bid en los que participa el cliente indicado.

Método URI Cabeceras
GET /companies/{companyId}/clients/{clientId}/bids Authorization

Listar Bid de Provider

{info} Soporta: Paginación Filters Carga dinámica

Listar los bids de un repartidor

Devuelve los Bid en los que participa el repartidor indicado.

Método URI Cabeceras
GET /companies/{companyId}/providers/{providerId}/bids Authorization

Listar Bid de Order

{info} Soporta: Paginación Filters Carga dinámica

Listar los bids de una orden

Devuelve los Bid de la orden indicada.

Método URI Cabeceras
GET /companies/{companyId}/orders/{orderId}/bids Authorization

Mostrar Bid

{info} Soporta: Carga dinámica

Ver un bid

Devuelve el Bid indicado con su status_info.

Método URI Cabeceras
GET /companies/{companyId}/bids/{bidId} Authorization

Acciones de Bid

Confirmar un bid

Registra la confirmación de quien hace la petición (cliente, repartidor o administrador). Cuando ya no quedan confirmaciones pendientes, el bid se acepta y se asigna el repartidor a la orden (se crea el OrderProvider).

Método URI Cabeceras
POST /companies/{companyId}/bids/{bidId}/confirm Authorization

Cancelar un bid

Marca el Bid como rechazado por parte de quien hace la petición.

Método URI Cabeceras
POST /companies/{companyId}/bids/{bidId}/cancel Authorization

Relaciones