Saltar al contenido
GuestMaker Desarrolladores
Vista general Documentación Eventos SDK
Solicitar acceso
Vista generalDocumentaciónEventosSDKSandboxNovedadesSolicitar acceso
EN/ES
Saltar al contenido
GUESTMAKER PARA DESARROLLADORES

Tus sistemas.
Una ficha por huésped.

Conecta tu PMS, motores de reservas y todos los sistemas estratégicos de tu grupo hotelero a la ficha del huésped que hay detrás de cada conversación de GuestMaker.

Sincroniza reservas y huéspedes, envía eventos, recibe webhooks firmados y conecta la fidelización con API documentadas y guías de integración.

Empieza a desarrollar Explora la API
API v1Bearer gmkr_JSON sobre HTTPSWebhooks firmados
Ejemplo ilustrativo · Grand Hotel
simulated
Respuesta esperando solicitud…
Flujo de webhooksX-Webhook-Signature
01 Tu sistema hotelero
02 La ficha del huésped
03 El recorrido de tu huésped
04 El canal adecuado
01
API REST
Reservas, huéspedes, eventos, CDP y B2B
{ }
02
Eventos web
API de servidor, webhook o SDK para navegador
</>
03
Webhooks
Avisos firmados en tiempo real
04
Fidelización y SSO
Puntos, crédito monetario e inicio de sesión OIDC
UN PUNTO DE PARTIDA PRÁCTICO
01 / 06

Establece la conexión.
Empieza con una estancia.

Una llamada crea la reserva, vincula sus huéspedes a un contacto y a un hotel e inicia los recorridos que la esperan. Envíala de nuevo con el mismo reservation_id y se actualizará sin duplicarse.

Probar en el sandbox Leer el inicio rápido ↗
POST/api/v1/reservations
1curl -X POST https://www.guestmaker.ai/api/v1/reservations \
2 -H "Authorization: Bearer $GMKR_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "reservation_id": "RES-2026-001234",
6 "hotel_name": "Grand Hotel",
7 "check_in": "2026-03-15",
8 "check_out": "2026-03-18",
9 "status": "confirmed",
10 "source": "pms",
11 "guests": [{ "first_name": "Alex",
12 "email": "alex@example.com" }]
13 }'
Actualiza o inserta según reservation_id · Hasta 100 huéspedes, 100 estancias y 100 extras por reserva
ÁREAS DE INTEGRACIÓN
02 / 06

Desarrolla alrededor del huésped.

Todas las áreas comparten una ficha de huésped, credenciales documentadas y rutas para cada familia de API. Solicita solo los permisos que necesita tu integración.

https://www.guestmaker.ai/api/v1
Estancias y huéspedes

Reservas

Crea o actualiza reservas con huéspedes, estancias por habitación y extras desde tu PMS o motor de reservas.

POST/reservations
POST/reservations/batch≤ 50
reservations:write↗
Estancias y huéspedes

Huéspedes

Crea y gestiona contactos de huéspedes con sus reservas, vinculados a hoteles para mantener conversaciones con IA.

POST/guests
POST/guests/batch≤ 500
GET/guestspor teléfono
guests:read · guests:write↗
Estancias y huéspedes

Campos personalizados

Amplía los perfiles de huéspedes con datos del socio que los equipos del hotel puedan usar para crear segmentos.

POST/fields
GET/fields
custom_fields:write↗
Comportamiento

Eventos del sitio web y del motor de reservas

Un contrato y tres vías de entrada: API de servidor, webhook con asignación de campos o SDK para navegador.

POST/website-events≤ 50
POST/website-events/hooks/…
gme_sk_ · gme_wh_ · gme_pk_↗
Comportamiento

CDP

Seguimiento de visitantes anónimos, resolución de identidad e incorporación de reservas tras completar la compra.

POST/cdp/events
POST/cdp/identify
POST/cdp/reservations/bulk≤ 5,000
cdp:read · cdp:write↗
Fidelización

Fidelización

Tu backend actúa en nombre del hotel: comprueba, da de alta, concede, canjea y consulta niveles y recompensas.

GET/loyalty/check
POST/loyalty/enroll
POST/loyalty/points
guests:read · guests:write↗
FidelizaciónNuevo

Crédito monetario

Puntos como crédito monetario en reservas directas, cargos a la cuenta de la estancia y salida. Calcula, retiene y confirma.

GET/loyalty/credit/quote
POST/loyalty/credit/hold
POST/loyalty/credit/confirm
guests:read · guests:write↗
Fidelización

SSO de fidelización

Un proveedor estándar de OpenID Connect. Los huéspedes inician sesión y tú personalizas el proceso de reserva.

AUTH/api/oidc/auth · /api/oidc/token
GET/api/loyalty/me/balance
GET/api/loyalty/me/transactions
id_token + token de acceso↗
Comunicaciones

Webhooks

Avisos firmados en tiempo real de mensajes, contactos, conversaciones, recorridos y estancias.

HOOKmessage.* · contact.* · journey.*
HOOKreservation.checked_in
Configuración del panel↗
Comunicaciones

Suscripción a la newsletter

Inserta un formulario de suscripción. Los suscriptores confirmados se convierten en contactos con consentimiento de marketing.

POST/newsletter/subscribe
GET/newsletter/config
clave publicable gm_pub_↗
Comunicaciones

CTI / Telefonía

Apertura de ficha en llamadas entrantes, clic para llamar, grabación e historial de llamadas por contacto.

POST/api/webhooks/cti
POST/api/contacts/{id}/call
GET/api/contacts/{id}/calls
Token de webhook · Rutas autenticadas de llamada e historial↗
B2B

CRM B2B

Agencias, turoperadores y cuentas corporativas con jerarquía, oportunidades y atribución.

POST/b2b/accounts
PATCH/b2b/accounts/{id}
POST/b2b/deals
b2b:read · b2b:write↗
EVENTOS DEL SITIO WEB Y DEL MOTOR DE RESERVAS
03 / 06

Tres vías de entrada.
Un contrato.

Indica a GuestMaker qué hacen los visitantes en un sitio web o motor de reservas, como dejar una reserva a medias, e inicia un recorrido a partir de esos eventos.

No hay que registrar nada antes: envía un nombre de evento válido que permita la fuente activa y aparecerá en el editor de recorridos. Cada fuente tiene su propia clave, por lo que puedes pausarla o sustituirla sin modificar las demás.

VÍA 01la más fiable

API de servidor

Tu backend o motor de reservas llama a la API y elige exactamente cuándo enviar y reintentar.

keygme_sk_…
sendPOST /api/v1/website-events
VÍA 02sin código

Webhook y asignación de campos

Un motor de reservas envía su propio JSON a una URL mediante POST. Asigna sus campos una vez en Ajustes y previsualiza el resultado con una solicitud real.

key…/hooks/gme_wh_…
signX-GM-Signature (opcional)
VÍA 03detecta el cierre de la pestaña

SDK para navegador

Tu página de reservas ejecuta gm-events.js, la única vía que detecta cuándo se va un visitante. También funciona desde Google Tag Manager.

keygme_pk_… (pública)
scopetus orígenes permitidos
cart.abandoned→ comprobaciones de contacto y consentimiento→ activador del recorrido→ wait→ correo electrónico con consentimiento válido→ termina con el evento de finalización configurado o una señal de reserva
POST/api/v1/website-events202 Accepted
1{
2 "event": "cart.abandoned",
3 "idempotency_key": "cart_8841",
4 "contact": { "email": "ana@example.com", "language": "es" },
5 "context": {
6 "hotel_code": "HD-MAD", "cart_id": "8841",
7 "stage": "payment",
8 "check_in": "2026-11-20", "check_out": "2026-11-23",
9 "value": 612.4, "currency": "EUR",
10 "resume_url": "https://book.example.com/resume?cart=8841"
11 }
12}
Hasta 50 eventos por solicitud · Añade "test": true para validar sin modificar ningún huésped

Cada evento recibe una respuesta.

Cada resultado indica qué ha ocurrido y por qué, de modo que ninguna declaración se descarta sin avisar. Elige un código.

RESULTADOS HABITUALES · DENTRO DE UN 202
ACEPTADO, PERO ALGO NO SE HA REALIZADO
RECHAZADO
consent_evidence_missingHTTP 202Consentimiento declarado sin pruebas
Motivoemail_marketing era true, pero faltaba el texto exacto del consentimiento o una marca de tiempo válida de su obtención. Las pruebas antiguas tienen su propio código de resultado.SoluciónEnvía el texto exacto que aceptó el visitante y cuándo lo aceptó.
OpenAPI 3.1 (JSON)Ejemplos ejecutablesgm-events.jsRegistro de entregas · 14 días
Leer la referencia de eventos ↗
WEBHOOKS SALIENTES
04 / 06

Cada cambio,
firmado y entregado.

Configura endpoints en tu panel y recibe un aviso cuando un huésped responda, un contacto cambie o termine un recorrido. Configura un secreto de firma en los ajustes del webhook del panel para recibir payloads firmados.

Mensajes
message.receivedmessage.sentmessage.deliveredmessage.read
Contactos
contact.createdcontact.updatedcontact.deleted
Conversaciones
conversation.createdconversation.closed
Recorridos
journey.startedjourney.completedjourney.failed
Envíos masivos
broadcast.sentbroadcast.completed
Estancias
reservation.checked_inreservation.checked_out
Horarios de entrada y salida. Se activan con una comprobación diaria de fechas. Cada entrega incluye un objeto scheduled_for con la hora local prevista del huésped (por defecto, 15:00 y 12:00, zona horaria del hotel).
verify-webhook.jsNode.js · Python · PHP
1import express from "express";
2import { createHmac, timingSafeEqual } from "node:crypto";
3const app = express();
4const secret = process.env.GMKR_WEBHOOK_SECRET;
5
6app.post("/webhook", express.raw({ type: "application/json" }), (req, res) => {
7 const timestamp = req.get("X-Webhook-Timestamp");
8 const signature = req.get("X-Webhook-Signature");
9 if (!secret || !timestamp || !signature || !Buffer.isBuffer(req.body))
10 return res.sendStatus(401);
11 const expected = "sha256=" + createHmac("sha256", secret)
12 .update(timestamp + ".").update(req.body).digest("hex");
13 const actual = Buffer.from(signature);
14 const wanted = Buffer.from(expected);
15 if (actual.length !== wanted.length || !timingSafeEqual(actual, wanted))
16 return res.sendStatus(401);
17 // Persist the verified payload to your queue before acknowledging.
18 // Add your durable queue write here; acknowledge after it succeeds.
19 return res.sendStatus(200);
20});
X-Webhook-SignatureHMAC-SHA256 de la marca de tiempo + "." + cuerpo sin procesar X-Webhook-EventEl tipo de evento que se entrega X-Webhook-DeliveryIdentifica un intento de entrega; usa identificadores estables del contenido para garantizar la idempotencia X-Webhook-TimestampHora del evento en ISO 8601
VE UN POCO MÁS ALLÁ
05 / 06

Diseñado para la tecnología hotelera.

Toda la documentación ↗
FIDELIZACIÓN · CRÉDITO MONETARIO · SSO

Permite que el huésped use su condición de socio.

Dos modelos de integración, según quién actúe. Las integraciones de motores de reservas pueden usar ambos.

DE SERVIDOR A SERVIDOR
API REST de fidelización
Tu backend actúa en nombre del hotel: busca cualquier huésped, da de alta, concede, canjea y sincroniza puntos.
INICIO DE SESIÓN DEL HUÉSPED · OIDC
SSO de fidelización
El huésped inicia sesión con Authorization Code + PKCE. Consulta solo su nivel, saldo e historial.
Leer la guía de fidelización ↗
Crédito monetarioNuevo

Los socios gastan puntos como dinero en reservas directas, cargos a la cuenta de la estancia y al salir, mediante un ciclo de operaciones atómico.

01 Calcular GET /loyalty/credit/quote
02 Retener POST /loyalty/credit/hold
03 Confirmar POST /loyalty/credit/confirm
04 Liberar POST /loyalty/credit/release
05 Revertir POST /loyalty/credit/reverse
permiso guests:read · guests:write · idempotente según external_reference_id
call_ringing · entranteapertura de ficha
AM
Alex Morgan
+34 600 111 222 · coincidencia por E.164
Abrir
call_ringingcall_answeredcall_hangupcall_missedrecord_availablecall_completed
CTI · TELEFONÍA

Conoce al huésped antes de saludar.

Apertura de ficha en llamadas entrantes, clic para llamar, grabación e historial de llamadas por contacto. Todos los proveedores usan el mismo contrato unificado, para que los agentes tengan la misma experiencia con los proveedores de telefonía compatibles.

Leer la guía de CTI ↗
RESERVA → CUENTA · PREVALECE LA PRIMERA COINCIDENCIA
1Código de agenciacoincidencia ✓
2Código promocional o de tarifapromo_codes[]
3ID de agencia de Miraimirai_agency_id
4Dominio de correo electrónicosolo sugerencia
CRM B2B

Cada agencia, operador y cuenta.

Representa agencias de viajes, turoperadores y cuentas corporativas en una jerarquía de matriz y filiales de hasta tres niveles, con oportunidades y atribución automática de reservas.

Leer la guía B2B ↗
DISEÑADO PARA SER FIABLE
06 / 06

Listo para producción.
Reintentos seguros.

Usa los límites documentados, los códigos de error y las reglas de reintento de cada endpoint a medida que crece tu integración.

LÍMITES DE SOLICITUDES1,000 solicitudes / min / clavePor defecto: 1000 solicitudes por minuto y clave de API. Los límites dependen de la clave y del endpoint. Respeta Retry-After ante un HTTP 429.
IDEMPOTENCIASeguro reintentos según el endpointReutiliza reservation_id para actualizar reservas. Para eventos y fidelización, usa el campo de idempotencia documentado del endpoint.
LOTES Y CARGAS MASIVAS5,000 por carga masivaEnvía lotes de 50 reservas o 500 huéspedes por llamada, con éxito parcial. La carga masiva en CDP devuelve 202 y un batch_id.
ERRORES{ "success": false,
"error": { "message": "Validation failed",
"code": "VALIDATION_ERROR",
"details": { "phone": ["Invalid phone"] } } }
Los formatos de error varían según la familia de API. Respeta Retry-After para los errores 429. Reintenta los errores 5xx transitorios con esperas progresivas; revisa los códigos de error y los resultados de cada evento.
FIABILIDAD DE LOS WEBHOOKS2xx confirma la recepción cuanto antesVerifica las firmas antes de aceptar. X-Webhook-Delivery identifica un intento. Procesa de forma idempotente con identificadores estables del payload.
SANDBOXSimulado / RealExplora respuestas de ejemplo en modo simulado. El modo real envía solicitudes con tu clave de API.
DESARROLLEMOS JUNTOS

Conecta tus sistemas
con GuestMaker.

Cuéntanos qué vas a conectar.

Elige los sistemas que usas. Te ayudaremos a elegir los endpoints, permisos y despliegue adecuados para tu grupo hotelero.

access-request.json2 sistemas
PERMISOS Y CLAVES
reservations:writeguests:writegme_wh_ / gme_sk_
ENDPOINTS QUE USARÁS
POST/reservationsPMS · Motor de reservas
POST/reservations/batchPMS
HOOKreservation.checked_inPMS
POST/website-eventsMotor de reservas
Solicitar acceso a la API
GuestMaker

El CRM con IA omnicanal
para grupos hoteleros.

● de Hotelinking ↗
DESARROLLARInicio rápidoReferencia de la APIAutenticaciónWebhooksSandbox de API
EXPLORAREventos webSDK y bibliotecasFidelización y SSOCrédito monetarioNovedades
CONECTARSolicitar acceso a la APIPlataforma GuestMakerIntegraciones
© 2026 GuestMaker · Hotelinking, S.L.Palma de Mallorca, España
PrivacidadCondicionesAviso legal