Claves API, widget de reserva y alcances
Claves API
Una clave API permite que otro sitio web o programa se comunique con su cuenta de FullClass. Necesita una para poner el widget de reserva en su propio sitio web, o para conectar una herramienta como Zapier. Si solo usa su página de reservas de FullClass, no la necesita. Hay dos tipos, y van en sitios distintos.
| Prefijo | Dónde se usa | Cómo se protege |
|---|---|---|
pk_Pública |
Navegadores, el widget de reserva, inserciones y aplicaciones móviles. | La limitan sus alcances (lo que puede hacer) y una lista de orígenes permitidos (qué sitios web pueden usarla). Es segura en el código de su sitio web siempre que ambos sean estrictos. |
sk_Secreta |
Solo en código de servidor. | Trátela como una contraseña. No la ponga nunca en el código de un sitio web, repositorios de código públicos, capturas de pantalla, tickets de soporte ni creadores de sitios web. Una clave secreta tiene acceso completo, salvo que elija Restringido al crearla y marque solo lo que puede hacer. Elija eso para una clave que pegue en otro servicio. |
- Cree y revoque claves en Configuración → Claves API.
- Cree claves nuevas cuando cambie una agencia, un proveedor o alguien del personal.
- Cada clave muestra cuándo se usó por última vez, así puede detectar las claves que nadie necesita.
pk_ está
hecha para verse. Está en el código fuente de su página, y la limitan sus
alcances, así que concédale solo lo que necesita su sitio web. También vale
la pena fijar una lista de orígenes permitidos, pero sepa lo que hace.
Impide que otro sitio web use su clave en un navegador. No impide
que alguien use la clave desde su propio software, porque un programa que no
es un navegador no envía el origen que comprobamos. Ningún ajuste hace
segura una clave sk_ en un navegador.
Widget de reserva
El widget pone su página de reservas completa, con el pago, dentro de su propio sitio web. Solo lo necesita si quiere que los clientes reserven sin salir de su sitio. Pase esta parte a la persona que lleva su web. Añade un contenedor, carga el script y lo inicia con una clave pública:
<div id="booking-widget"></div>
<script src="https://app.fullclass.io/sdk/v1/booking.min.js"></script>
<script>
FullClassBooking.init({
apiKey: "pk_your_public_api_key",
container: "#booking-widget"
});
</script>
-
Idioma: el widget usa el idioma de su página de reservas,
definido en Configuración → Widget de reserva. No
hay que añadir nada al código. Para dejar una inserción en otro idioma,
añada
data-fullclass-locale="en"(olocale: "en"eninit). -
Una categoría por página: si cada actividad tiene su
propia página en su sitio, abra
Configuración → Categorías y haga clic en
Copiar código del widget junto a la categoría. Péguelo
dentro del
<div>del widget en esa página, junto adata-fullclass-apikey. Ese widget muestra entonces solo esa categoría y oculta las pestañas de categorías. - Personalización: idiomas integrados, sus propias palabras para cualquier texto, colores del tema, más de 100 propiedades CSS personalizadas, y sus propias pantallas de carga, de lista vacía y de error.
-
Modo simple: pase
injectStyles: falsepara mantener la estructura del widget sin nada de su CSS, así se aplican los estilos de su sitio. - Control desde código: el código de su página puede abrir la compra de tarjetas regalo, o el formulario de reserva de una clase concreta.
-
Orígenes permitidos: indique el origen exacto, con
protocolo, subdominio y puerto.
https://www.example.comes un origen distinto dehttps://example.com, así que indique los dos si usa los dos. Para la clave del código de inserción ya preparado, el sitio más rápido para hacerlo es Configuración → Widget de reserva, justo debajo del código. Si se equivoca, el widget deja de cargarse para sus clientes. Para deshacerlo, vacíe el campo y guarde.
Alcances y funciones de la API
Los alcances son los permisos de una clave. Deciden lo que puede hacer la clave. Conceda a cada clave solo lo que necesita. Esta parte es sobre todo para la persona que lleva su web.
| Alcance | Qué permite |
|---|---|
events:read |
Listar eventos y leer los detalles de un evento. |
bookings:write |
Crear reservas nuevas. Reservar a nombre de un cliente existente
(purchaser_type: account) también necesita una clave
secreta.
|
bookings:read |
Leer los detalles de reservas existentes (desde código de servidor). |
bookings:cancel |
Cancelar una reserva. Con una clave pública, la solicitud también
debe enviar el cancellation_token de la reserva.
|
customers:write |
Registrar fichas de cliente. |
giftcards:read |
Consultar el saldo o las clases restantes de una tarjeta regalo. |
giftcards:write |
Comprar tarjetas regalo. |
La API pública puede listar eventos y leer sus detalles. Puede obtener exenciones y complementos, y crear, leer y cancelar reservas. También puede crear y registrar clientes, comprobar códigos promocionales, y consultar o comprar tarjetas regalo. No hay ninguna API para usar una tarjeta regalo. El pago acepta el código dentro de la reserva, y el personal usa Aplicar tarjeta regalo en la página de la reserva.
Tarjetas regalo que vendió en otro sitio
Algunos estudios cobran un bono de clases o una tarjeta regalo fuera de
FullClass, por ejemplo con un enlace de pago de Stripe, un terminal de
tarjetas o una transferencia bancaria. Su servidor puede entonces pedir a
FullClass que emita la tarjeta sin volver a cobrar al comprador. Envíe una
petición a /v1/giftcards con un bloque
external_purchase en lugar de los datos de la tarjeta:
{
"type": "class_pass",
"class_pass_count": 5,
"purchased_by_email": "[email protected]",
"external_purchase": {
"reference": "pi_3RxAbCdEfGhIjKlM",
"amount_cents": 8000
}
}
-
Solo con clave secreta. Esto emite una tarjeta de pago
sin cobrar nada, así que una clave
pk_se rechaza. Llámelo desde su servidor, nunca desde una página web. -
La referencia evita duplicados. Ponga en
referenceel identificador del pago en su propio sistema. Si el mismo llega dos veces (un webhook se reenvía, o un script se ejecuta de nuevo), la segunda llamada se rechaza y no se emite una segunda tarjeta. -
Usted fija el precio.
amount_centses lo que cobró realmente. No se compara con el precio de su bono de clases, así que puede vender el mismo bono a más de un precio. - Envíe el importe con impuestos incluidos. Envíe el importe total que pagó el comprador. Para un bono de clases, FullClass lo trata como si incluyera el impuesto que cobra por los bonos, a los tipos de la configuración de sus bonos de clases.
- Cuenta como una venta. El comprador recibe los correos habituales con el código y el recibo, y usted recibe el aviso de nueva venta. En sus informes, la tarjeta aparece como Pagada fuera de FullClass, no como un regalo.