Cloud API · Salas y mesas
Sincronizar salas y mesas
Crea o actualiza una o varias salas de un local, con sus mesas.
POST
Ver la guía/roomsCabeceras
| Nombre | Valor |
|---|---|
Content-Type |
application/json |
Authorization |
Bearer <clientSecret> |
venue-api-key |
El identificador del restaurante |
Cuerpo
Puedes enviar un único objeto de sala o una lista de salas.
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
integrationRoomId |
string | Sí | Identificador de esta sala en tu TPV. |
name |
string | Sí | Nombre de la sala que se muestra en honei. |
sortOrder |
number | No | Orden de visualización. Por defecto, 1. |
tables |
array | Sí | Al menos una mesa. Ver abajo. |
tables[].name |
string | Sí | Nombre de la mesa que se muestra en honei. |
tables[].integrationTableId |
string | Sí | Identificador de esta mesa en tu TPV. Después se reutiliza como tableId. |
JSON
[
{
"integrationRoomId": "room-1",
"name": "Terrace",
"sortOrder": 1,
"tables": [
{ "name": "T1", "integrationTableId": "table-1" },
{ "name": "T2", "integrationTableId": "table-2" }
]
},
{
"integrationRoomId": "room-2",
"name": "Main hall",
"tables": [
{ "name": "T3", "integrationTableId": "table-3" }
]
}
]Cómo funciona la sincronización
- Las salas se identifican por
integrationRoomId. Si ya tenemos una sala con ese identificador en tu local, la actualizamos. Si no, la creamos. - Dentro de una sala, cada mesa se identifica por
integrationTableId. Una mesa existente se actualiza y unintegrationTableIdnuevo se añade. - Las mesas que no incluyas en una llamada no se tocan: este endpoint nunca borra mesas, así que puedes reenviar solo lo que ha cambiado o toda tu lista de salas y mesas en cada sincronización.
Respuesta
JSON
{
"status": 200,
"message": "Ok"
}JSON
{
"error": true,
"message": "No integrationRoomId provided",
"internalCode": "BAD_REQUEST",
"code": 4000,
"category": "request"
}Tiene la misma forma para cualquier campo que falte o no sea válido (name, tables, tables[].name, tables[].integrationTableId). message siempre indica el campo concreto que ha fallado.
JSON
{
"error": true,
"message": "Not authorized",
"internalCode": "NOT_AUTHORIZED",
"code": 4007,
"category": "auth"
}Se devuelve si faltan las cabeceras Authorization o venue-api-key o no son válidas, o si el businessId de una sala no coincide con tu venue-api-key.