Apointoo
Desarrolladores

Tú construyes la experiencia. Apointoo guarda la prueba.

Next.js, Vue, WordPress, páginas de destino personalizadas, tu propio formulario o un flujo de reservas. Apointoo funciona como la capa de atribución detrás. Handler-first, completamente tipado, tree-shakeable. Funciona en Node.js, Deno, Cloudflare Workers y cualquier runtime de edge con la Fetch API.

$npm install git+https://github.com/vizuh/apointoo-sdk.gitnpm

Inicio rápido

Captura eventos vía API o SDK, preserva el GCLID, los UTMs y los datos de sesión, y envía leads, reservas y actualizaciones de resultados a través de tu ruta /api/* en Next.js, Hono o Express.

import { createBookingHandler } from '@vizuh/apointoo-sdk/server'
import { brevoRestAdapter } from '@vizuh/apointoo-sdk/adapters/notification/brevo-rest'
import { directConfirmAdapter } from '@vizuh/apointoo-sdk/adapters/booking/direct-confirm'

export const app = createBookingHandler({
  config: {
    projectKey: 'your-clinic',
    locale: 'en-US',
    timezone: 'America/New_York',
  },
  booking: directConfirmAdapter(),
  notification: brevoRestAdapter({ apiKey: env.BREVO_API_KEY }),
})

Adaptadores

Cada integración es un adaptador tree-shakeable para los sistemas donde ocurren las conversiones. Importa solo lo que usas.

AdaptadorTipoEstadoImportación
BLVDbookingproduction@vizuh/apointoo-sdk/adapters/booking/blvd
OpenDentalbookingbeta@vizuh/apointoo-sdk/adapters/booking/open-dental
direct-confirmbookingproduction@vizuh/apointoo-sdk/adapters/booking/direct-confirm
Brevo RESTnotificationproduction@vizuh/apointoo-sdk/adapters/notification/brevo-rest
Twilio WhatsAppnotificationbeta@vizuh/apointoo-sdk/adapters/notification/twilio-whatsapp
Sheetspersistenceproduction@vizuh/apointoo-sdk/adapters/persistence/sheets
Upstashdedupproduction@vizuh/apointoo-sdk/adapters/dedup/upstash

Arquitectura

Un handler es el punto de entrada. Ejecuta el pipeline que mantiene la atribución en cada paso y envía la conversión confirmada a Google Ads a través de los adaptadores configurados.

Handler
Pipeline
Adaptador de reservas
Adaptador de notificaciones
Adaptador de persistencia
Adaptador de deduplicación

Variables de entorno

La configuración se hace mediante variables de entorno. Sin archivos de configuración específicos del SDK. Pon las claves, despliega, publica.

VariableRequeridaDescripción
NEXT_PUBLIC_GTM_IDNoID del contenedor de Google Tag Manager. Déjalo vacío para desactivar GTM.
HEADLESS_WP_URLNoEndpoint GraphQL de WordPress para el contenido de /docs y /blog.
BREVO_API_KEYNoClave de API REST de Brevo (Sendinblue) para el adaptador de notificaciones de Brevo.
BLVD_API_KEYNoClave de API de BLVD para el adaptador de reservas de BLVD.
UPSTASH_REDIS_URLNoURL REST de Upstash Redis para el adaptador de deduplicación.
UPSTASH_REDIS_TOKENNoToken REST de Upstash Redis.
GOOGLE_SHEETS_SPREADSHEET_IDNoID de la hoja de cálculo de Google Sheets para el adaptador de persistencia.