⚠️ Esto solo está disponible para:
Bonos privados
Packs
Citas
Suscripciones
Paso 1. Crea un botón personalizado
Crea tu botón personalizado y asígnale un id específico. Ejemplo:
<button id="bsport-passes-widget">
Paso 2. Conecta tu botón al widget
Ve a Settings > Widgets y copia y pega el código del widget en tu sitio web.
Tipo de widget:
Cada tipo de widget se conecta de forma diferente:
Widget de botón de inicio de sesión:
Añade este código después del código del widget y justo antes de la etiqueta </script>:
document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id");
button.addEventListener("click", function () {
const message = { type: 'bsport:login-button:request-login', data: {
"uniqueWidgetId": "unique-widget-id" }
}
window.postMessage(message, '*')
});
});
🚨 Importante
Reemplaza
button-idpor el id del botón que has creadoReemplaza
unique-widget-idpor el id único del widget dentro de la función MountBsportWidget y en el fragmento de códigoEl div de bsport debe estar oculto así: <div id="bsport-widget-id"
style="display:none"></div>
Debería quedar así:
<script id="insert-bsport-widget-cdn">
!(function (b, s, p, o, r, t) {
!typeof window.BsportWidget !== "undefined" &&
!document.getElementById("bsport-widget-cdn") &&
!(function () {
(m = b.createElement(s)),
(m.id = "bsport-widget-cdn"),
(m.src = p),
b.getElementsByTagName("head")[0].appendChild(m);
})();
})(document, "script", "https://cdn.bsport.io/scripts/widget.js");
</script>
<script id="bsport-widget-mount">
function MountBsportWidget(config, repeat = 1) {
if (repeat > 50) {
return;
}
if (!window.BsportWidget) {
return setTimeout(() => {
MountBsportWidget(config, repeat + 1);
}, 100 * repeat || 1);
}
BsportWidget.mount(config);
}
</script>
<script>
MountBsportWidget({
parentElement: "bsport-widget-id",
uniqueWidgetId: "unique-widget-id",
companyId: "company-id",
franchiseId: null,
dialogMode: 1,
widgetType: "loginButton",
showFab: false,
fullScreenPopup: false,
styles: undefined,
config: {
loginButton: {}
},
});
/* Aquí la conexión con el botón y la función que se activa al hacer clic */
document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id");
button.addEventListener("click", function () {
const message = {
type: 'bsport:login-button:request-login',
data: { "uniqueWidgetId": "your-unique-id" } }
window.postMessage(message, '*')
});
});
</script>
/* El resultado debería quedar así; es importante ocultar el div con el estilo en línea, ya que de lo contrario se mostrará otro botón de inicio de sesión */
<div id="bsport-widget-id" style="display:none"></div>
Pack de pago (bonos)
Añade este código después del código del widget y justo antes de la etiqueta </script>:
document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id"); //ej. pass-3213
button.addEventListener("click", function () {
var eventType = "bsport:pass:add-to-cart:payment-pack";
var eventData = { payment_pack_id: "payment_pack_id",
uniqueWidgetId: "unique-widget-id" };
window.parent.postMessage({ type: eventType, data: eventData }, "*");
});
});
🚨 Importante
Reemplaza
button-idpor el id del botón que has creadoReemplaza
payment_pack-idpor el id del pack de pagoReemplaza
unique-widget-idpor el id único del widget dentro de la función MountBsportWidget y en el fragmento de códigoEl div de bsport debe estar oculto así: <div id="bsport-widget-id"
style="display:none"></div>
Bono privado (citas)
Añade este código después del código del widget y justo antes de la etiqueta </script>:
document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id"); //ej. pass-3213
button.addEventListener("click", function () {
var eventType = "bsport:pass:add-to-cart:private-pass";
var eventData = {
private_pass_id: "private_pass_id",
uniqueWidgetId: "unique-widget-id" };
window.parent.postMessage({ type: eventType, data: eventData }, "*");
});
});
🚨 Importante
Reemplaza
button-idpor el id del botón que has creadoReemplaza
private_pass_idpor el bono privado que quieres mostrarReemplaza
unique-widget-idpor el id único del widget dentro de la función MountBsportWidget y en el fragmento de códigoEl div de bsport debe estar oculto así: <div id="bsport-widget-id"
style="display:none"></div>
Combo de pago (packs)
Añade este código después del código del widget y justo antes de la etiqueta </script>:
document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id"); //ej. pass-3213
button.addEventListener("click", function () {
var eventType = "bsport:pass:add-to-cart:payment-combo";
var eventData = { payment_combo_id: "payment_combo_id", uniqueWidgetId: "unique-widget-id" }; //
window.parent.postMessage({ type: eventType, data: eventData }, "*");
});
});
🚨 Importante
Reemplaza
button-idpor el id del botón que has creadoReemplaza
payment_combo_idpor el combo de pago que quieres mostrarReemplaza
unique-widget-idpor el id único del widget dentro de la función MountBsportWidget y en el fragmento de códigoEl div de bsport debe estar oculto así: <div id="bsport-widget-id"
style="display:none"></div>
Suscripciones
Añade este código después del código del widget y justo antes de la etiqueta </script>:
document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id"); //ej. contract-3213
button.addEventListener("click", function () {
var eventType = "bsport:subscription:add-to-cart:contract";
var eventData = { contract_id: "contract_id", uniqueWidgetId: "unique-widget-id" };
window.parent.postMessage({ type: eventType, data: eventData }, "*");
});
});🚨 Importante
Reemplaza
button-idpor el id del botón que has creadoReemplaza
unique-widget-idpor el id único del widget dentro de la función MountBsportWidget y en el fragmento de códigoEl div de bsport debe estar oculto así: <div id="bsport-widget-id"
style="display:none"></div>
⚠️ Si se hace clic en el botón antes de que el widget haya terminado de cargarse, la ventana emergente se abrirá y se cerrará inmediatamente.
Paso 3. Oculta el widget de bsport
Actualiza el div del widget:
<div id="bsport-widget-998312"></div>
Y añade display=”none” para ocultar el widget de bsport:
<div id="bsport-widget-998312" display="none"></div>
Dónde encontrar el id del bono/suscripción/cita:
Bono privado:
Ve a Products > Appointment passes
Selecciona el bono privado > Encontrarás el id del bono privado en la URLEjemplo:
var eventData = { private_pass_id: "41706", uniqueWidgetId: "unique-widget-id" };Pack de pago:
Ve a Products > Passes
Selecciona el pack de pago > Encontrarás el id del pack de pago en la URL
Ejemplo:
var eventData = { payment_pack_id: "677009", uniqueWidgetId: "unique-widget-id" };Widget de packs:
Ve a Products > Packs
Selecciona el pack > Encontrarás el id del pack en la URL
Ejemplo:var eventData = { payment_combo_id: "9716", uniqueWidgetId: "unique-widget-id" };Widget de suscripción:
Ve a Products > Subscriptions
Selecciona la suscripción > Encontrarás el id de la suscripción en la URL
Ejemplo:
var eventData = { contract_id: "40003", uniqueWidgetId: "unique-widget-id" };




