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

O añade la skill de Apointoo a tu agente de código con IA (Claude Code, Cursor, Codex, Copilot y más):

$npx skills add vizuh/apointoo-skills-ceskills.sh

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.

BLVD

booking

production

@vizuh/apointoo-sdk/adapters/booking/blvd

OpenDental

booking

beta

@vizuh/apointoo-sdk/adapters/booking/open-dental

direct-confirm

booking

production

@vizuh/apointoo-sdk/adapters/booking/direct-confirm

Brevo REST

notification

production

@vizuh/apointoo-sdk/adapters/notification/brevo-rest

Twilio WhatsApp

notification

beta

@vizuh/apointoo-sdk/adapters/notification/twilio-whatsapp

Sheets

persistence

production

@vizuh/apointoo-sdk/adapters/persistence/sheets

Upstash

dedup

production

@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
Se despacha a

Adaptador de reservas

BLVD, OpenDental, direct-confirm

Adaptador de notificaciones

Brevo REST, Twilio WhatsApp

Adaptador de persistencia

Sheets

Adaptador de deduplicación

Upstash

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.

NEXT_PUBLIC_GTM_ID

No

ID del contenedor de Google Tag Manager. Déjalo vacío para desactivar GTM.

HEADLESS_WP_URL

No

Endpoint GraphQL de WordPress para el contenido de /docs y /blog.

BREVO_API_KEY

No

Clave de API REST de Brevo (Sendinblue) para el adaptador de notificaciones de Brevo.

BLVD_API_KEY

No

Clave de API de BLVD para el adaptador de reservas de BLVD.

UPSTASH_REDIS_URL

No

URL REST de Upstash Redis para el adaptador de deduplicación.

UPSTASH_REDIS_TOKEN

No

Token REST de Upstash Redis.

GOOGLE_SHEETS_SPREADSHEET_ID

No

ID de la hoja de cálculo de Google Sheets para el adaptador de persistencia.