v5 ya live

HASTA

60% DTO
Oferta Caliente de Diciembre
Launch Sale
0 DÍAS
:
0 HORAS
:
0 MINUTOS
:
0 SEGUNDOS
OBTENER AHORA percent icon

Documentación de la API REST de Booknetic

Documentación de la API REST de Booknetic basada en la especificación OpenAPI: endpoints, parámetros y ejemplos de solicitudes y respuestas en JSON.

Versión:
Categorías

Este documento describe los endpoints de la API REST de Booknetic incluidos en la especificación OpenAPI proporcionada.

Versión: 1.0.0
Ruta base: /wp-json/booknetic/v1
Formato: JSON (application/json)

URL base

Todos los endpoints de esta documentación son relativos a:

/wp-json/booknetic/v1

En una instalación típica de WordPress, la URL completa es:

https://tu-dominio.com/wp-json/booknetic/v1

Tipo de contenido

Enviar y recibir JSON:

  • Encabezado de solicitud: Content-Type: application/json
  • Encabezado de respuesta: Content-Type: application/json

Recursos

  • Citas: gestión de citas
  • Clientes: gestión de clientes

Citas

Obtener citas

GET /appointments

Devuelve una lista de citas.

Respuesta

200 OK — Lista de citas

Cuerpo de la respuesta (esquema)

Arreglo de Appointment

Ejemplo de respuesta

[
  {
    "id": 101,
    "customer_id": 55,
    "service_id": 9,
    "staff_id": 3,
    "date": "2026-01-10T14:30:00Z",
    "status": "approved"
  }
]

Crear cita

POST /appointments

Crea una nueva cita.

Cuerpo de la solicitud

Obligatorio — AppointmentCreate

Ejemplo de solicitud

{
  "customer_id": 55,
  "service_id": 9,
  "staff_id": 3,
  "date": "2026-01-10T14:30:00Z"
}

Respuestas

201 Created — Cita creada

Cuerpo de la respuesta: Appointment

Ejemplo de respuesta

{
  "id": 102,
  "customer_id": 55,
  "service_id": 9,
  "staff_id": 3,
  "date": "2026-01-10T14:30:00Z",
  "status": "pending"
}

Obtener cita por ID

GET /appointments/{id}

Devuelve una única cita por su ID.

Parámetros de ruta

Nombre

Tipo

Obligatorio

Descripción

idintegerID de la cita

Respuestas

200 OK — Cita

Cuerpo de la respuesta: Appointment

Ejemplo de respuesta

{
  "id": 102,
  "customer_id": 55,
  "service_id": 9,
  "staff_id": 3,
  "date": "2026-01-10T14:30:00Z",
  "status": "pending"
}

Actualizar cita

PUT /appointments/{id}

Actualiza una cita por su ID.

Parámetros de ruta

Nombre

Tipo

Obligatorio

Descripción

idintegerID de la cita

Cuerpo de la solicitud

Obligatorio — AppointmentUpdate

Ejemplo de solicitud

{
  "staff_id": 4,
  "date": "2026-01-10T15:00:00Z",
  "status": "approved"
}

Respuestas

200 OK — Cita actualizada

El archivo OpenAPI no define un esquema de respuesta para este endpoint.
En tu implementación, puedes devolver el objeto Appointment actualizado para mantener la consistencia.

Eliminar cita

DELETE /appointments/{id}

Elimina una cita por su ID.

Parámetros de ruta

Nombre

Tipo

Obligatorio

Descripción

idintegerID de la cita

Respuestas

204 No Content — Cita eliminada

Cambiar estado de la cita

PUT /appointments/{id}/change-status

Actualiza el estado de una cita.

Parámetros de ruta

Campo

Tipo

Obligatorio

Descripción

idintegerID de la cita

Cuerpo de la solicitud

Obligatorio

Campo

Tipo

Obligatorio

Descripción

statusstringNuevo valor del estado

Ejemplo de solicitud

{
  "status": "approved"
}

Respuestas

200 OK — Estado actualizado

El archivo OpenAPI no define un esquema de respuesta.

Recomendado: devolver el Appointment actualizado o una carga útil estándar de éxito.

Obtener estados de citas

GET /appointments/statuses

Devuelve una lista de estados de cita disponibles.

Respuestas

200 OK — Estados disponibles

Cuerpo de la respuesta: arreglo de cadenas

Ejemplo de respuesta

["pending", "approved", "canceled"]

Obtener horarios disponibles para citas

GET /appointments/available-times

Devuelve una lista de franjas horarias disponibles para citas.

Respuestas

200 OK — Horarios disponibles

Cuerpo de la respuesta: arreglo de cadenas

Ejemplo de respuesta

[
  "2026-01-10 14:30",
  "2026-01-10 15:00",
  "2026-01-10 15:30"
]

Nota: El esquema OpenAPI usa "example": "2026-01-10 14:30" y define una cadena simple.

Si tu sistema espera zona horaria o ISO8601, documéntalo explícitamente.

Clientes

Obtener clientes

GET /customers

Devuelve una lista de clientes.

Respuestas

200 OK — Lista de clientes

Cuerpo de la respuesta: arreglo de Customer

Ejemplo de respuesta

[
  {
    "id": 55,
    "name": "Jane Doe",
    "email": "[email protected]",
    "phone": "+1 555 123 4567"
  }
]

Obtener información del cliente

GET /customer/info/{id}

Devuelve un cliente por ID.

Parámetros de ruta

Campo

Tipo

Obligatorio

Descripción

idintegerID del cliente

Respuestas

200 OK — Información del cliente

Cuerpo de la respuesta: Customer

Ejemplo de respuesta

{
  "id": 55,
  "name": "Jane Doe",
  "email": "[email protected]",
  "phone": "+1 555 123 4567"
}

Crear cliente

POST /customer/create

Crea un nuevo cliente.

Cuerpo de la solicitud

Obligatorio — CustomerCreate

Ejemplo de solicitud

{
  "name": "Jane Doe",
  "email": "[email protected]",
  "phone": "+1 555 123 4567"
}

Respuestas

201 Created — Cliente creado

Cuerpo de la respuesta: Customer

Editar cliente

POST /customer/edit

Edita un cliente existente.

Cuerpo de la solicitud

Obligatorio — CustomerUpdate

Ejemplo de solicitud

{
  "id": 55,
  "name": "Jane A. Doe",
  "email": "[email protected]",
  "phone": "+1 555 123 4567"
}

Respuestas

200 OK — Cliente actualizado

El archivo OpenAPI no define un esquema de respuesta.

Recomendado: devolver el objeto Customer actualizado.

Eliminar cliente

POST /customer/delete

Elimina un cliente por ID.

Cuerpo de la solicitud

Obligatorio

Campo

Tipo

Obligatorio

Descripción

idintegerID del cliente

Ejemplo de solicitud

{
  "id": 55
}

Respuestas

200 OK — Cliente eliminado

Este endpoint usa POST en lugar de DELETE. Si es intencional (p. ej., patrones de WP, permisos o restricciones de nonce), documenta el motivo.

Esquemas

Appointment

Campo

Tipo

Notas

id integerID de la cita
customer_id integerID del cliente relacionado
service_id integerID del servicio relacionado
staff_id integerID del personal relacionado
date string (date-time)Fecha y hora ISO 8601
status stringEstado de la cita

AppointmentCreate

Campos obligatorios: customer_id, service_id, date

Campo

Tipo

Obligatorio

Notas

customer_id integer SíID del cliente
service_id integer SíID del servicio
staff_id integer NoID del personal
date string (date-time) SíFecha y hora ISO 8601

AppointmentUpdate 

Campo

Tipo

Obligatorio

Notas

staff_idinteger NoID del personal
datestring (date-time) NoFecha y hora ISO 8601
statusstring NoEstado de la cita

Customer

Campo

Tipo

Notas

id integerID del cliente
name stringNombre del cliente
email string (email)Correo electrónico del cliente
phone stringTeléfono del cliente

CustomerCreate

Campos obligatorios: name

Campo

Tipo

Obligatorio

Notas

name string SíNombre del cliente
email string (email) NoCorreo electrónico del cliente
phone string NoTeléfono del cliente

CustomerUpdate

Campos obligatorios: id

Campo

Tipo

Obligatorio

Notas

id integer SíID del cliente
name string NoNombre del cliente
email string (email) NoCorreo electrónico del cliente
phone string NoTeléfono del cliente