Qué hace
Podés insertar el calendario de una agenda dentro de otro sitio web. Quien lo inserta puede dejar el nombre, el email y el teléfono del cliente ya completos, y guardar información propia en cada reserva (por ejemplo un número de orden interno). El cliente reserva sin salir del sitio donde estaba.Cuándo usarlo
Cuando trabajás con una plataforma o un partner que quiere que sus usuarios reserven sin salir de su sitio: un marketplace, un portal de pacientes, una app propia, etc. Si solo compartís el link o el QR, no necesitás esto: alcanza con Compartir tu link de reserva o Códigos QR.Dónde encontrarlo
Agenda → Configuración → Calendario embebido. Ahí encontrás:- El código para copiar e insertar en tu sitio.
- El interruptor para exigir que los datos del enlace vengan firmados.
- El secreto de firma (aparece difuminado hasta que lo revelás), con opción de regenerarlo.
Datos ya completos
El sitio que inserta el calendario puede dejar el nombre, el email y el teléfono cargados. Esos campos aparecen en gris y no se pueden editar en Turnito, para que coincidan con los datos del otro sistema. Si algún dato viene mal formado, ese campo queda editable y el resto sigue bloqueado.Información propia en la reserva
El sitio que inserta el calendario puede mandar información suya junto con la reserva (un ID interno, el origen del tráfico, etc.). Cuando la reserva la tiene, la ves:- En el detalle de la reserva, bajo Datos externos.
- En la exportación de reservas, como columnas Dato externo: ….
Seguridad
El secreto de firma sirve para que quien programa tu sitio firme los datos del enlace desde su servidor. Así un visitante no puede cambiar la URL del calendario y alterar nombre, email o esa información propia. Conviene activar Exigir firma cuando la integración ya esté andando: con eso activo, Turnito rechaza los enlaces con datos sin firma válida.Cómo se genera la firma
Esta parte es para quien programa tu sitio. Pasale este enlace. La firma se calcula en el servidor, nunca en el navegador: si el secreto viaja al navegador, cualquiera lo puede leer y la firma deja de servir.1
Armá el texto a firmar
Tomá los parámetros No incluyas
prefill_* y metadata_* que vayas a mandar, más exp si usás vencimiento. Ordenalos por nombre alfabéticamente, escapá nombre y valor por separado, y unilos con &.El escapado es percent-encoding RFC 3986: se codifica todo salvo A-Za-z0-9-._~, en hexadecimal mayúscula. Es rawurlencode() en PHP y quote(s, safe='') en Python. En JavaScript, encodeURIComponent deja sin escapar !'()* y hay que completarlo — el ejemplo de abajo ya lo hace.embed ni ningún otro parámetro que no sea prefill_*, metadata_* o exp.2
Calculá el HMAC
sig = HMAC-SHA256(secreto, texto) en hexadecimal minúscula. Agregá el resultado a la URL como &sig=....- Node.js
- Python
- PHP
mi-secreto y los parámetros del paso anterior, el resultado tiene que ser exactamente:3
Opcional: hacé que el enlace venza
Agregá
exp con un timestamp Unix. Pasada esa hora, Turnito rechaza el enlace. Conviene usar ventanas cortas, de minutos u horas, no de días.
