Referencia de API

La W Restaurant API está organizada alrededor de REST. Nuestra API utiliza URLs predecibles orientadas a recursos, acepta cuerpos de petición codificados en formularios, devuelve respuestas en formato JSON y emplea códigos de respuesta HTTP estándar.

POST

/workers/register

Registra un nuevo trabajador en el sistema HubGatewayApi.

Cuerpo de la solicitud

Content type application/json
{
  "worker_id": "wrk_001",
  "name": "John Doe",
  "email": "john.doe@example.com",
  "license": "my_license",
  "role": "waiter"
}

Respuesta exitosa

Content type application/json
{
  "worker_id": "wrk_001",
  "status": "registered",
  "created_at": "2024-01-10T10:30:00Z"
}
GET

/{license}/v1/cheques

Obtiene cheques paginados con filtros opcionales por fecha.

Parámetros de consulta

page Opcional • número
limit Opcional • número
start_date Opcional • fecha (YYYY-MM-DD)
end_date Opcional • fecha (YYYY-MM-DD)

Respuesta exitosa

Content type application/json
{
  "data": [
    {
      "cheque_id": "chq_001",
      "date": "2024-01-05",
      "amount": 120.50,
      "status": "paid"
    }
  ],
  "page": 1,
  "limit": 500,
  "total": 1
}
GET

/{license}/v1/chequespagos

Obtiene chequespagos paginados con filtros opcionales por fecha.

Descripción

Devuelve una lista paginada de pagos de cheques. Usa los filtros de fecha para acotar el rango de búsqueda.

CONSEJO PRO

Combina este endpoint con /{license}/v1/cheques para obtener la información completa de los cheques y sus pagos.

Respuesta exitosa

Content type application/json
{
  "data": [
    {
      "payment_id": "pay_001",
      "cheque_id": "chq_001",
      "date": "2024-01-06",
      "amount": 120.50,
      "method": "card"
    }
  ],
  "count": 1
}
GET

/{license}/v1/turnos

Obtiene turnos paginados con filtros opcionales por fecha.

Parámetros de consulta

Content type application/json
{
  "page": 1,
  "limit": 500,
  "start_date": "2024-01-01",
  "end_date": "2024-01-31"
}

Respuesta exitosa

Content type application/json
{
  "data": [
    {
      "turno_id": "tur_001",
      "date": "2024-01-10",
      "worker_id": "wrk_001",
      "status": "open"
    }
  ],
  "page": 1,
  "limit": 500,
  "total": 1
}
GET

/{license}/v1/cheqdet

Obtiene el detalle de los cheques paginados con filtros opcionales por fecha.

Parámetros de consulta

page Opcional • número
limit Opcional • número
start_date Opcional • fecha (YYYY-MM-DD)
end_date Opcional • fecha (YYYY-MM-DD)

Respuesta exitosa

Content type application/json
{
  "data": [
    {
      "cheque_id": "chq_001",
      "line": 1,
      "description": "Producto X",
      "quantity": 2,
      "unit_price": 10.00,
      "total": 20.00
    }
  ],
  "page": 1,
  "limit": 500,
  "total": 1
}
SignalR

/workerHub

Hub de SignalR para comunicación en tiempo real con los workers.

Ejemplo de mensaje

Content type application/json
{
  "status": "running",
  "service": "HubGatewayApi",
  "endpoints": [
    "POST /workers/register - Register a worker",
    "GET /{license}/v1/cheques?page=1&limit=500&start_date=2024-01-01&end_date=2024-01-31 - Get paginated cheques with optional date filters",
    "GET /{license}/v1/chequespagos?page=1&limit=500&start_date=2024-01-01&end_date=2024-01-31 - Get paginated chequespagos with optional date filters",
    "GET /{license}/v1/turnos?page=1&limit=500&start_date=2024-01-01&end_date=2024-01-31 - Get paginated turnos with optional date filters",
    "GET /{license}/v1/cheqdet?page=1&limit=500&start_date=2024-01-01&end_date=2024-01-31 - Get paginated cheqdet with optional date filters",
    "SignalR Hub: /workerHub"
  ]
}