Você constrói a experiência. O Apointoo guarda a prova.
Next.js, Vue, WordPress, páginas de destino personalizadas, seu próprio formulário ou um fluxo de agendamento: o Apointoo roda como a camada de atribuição por trás de tudo. Handler-first, totalmente tipado, tree-shakeable. Funciona em Node.js, Deno, Cloudflare Workers e qualquer runtime de edge com a Fetch API.
npm install git+https://github.com/vizuh/apointoo-sdk.gitnpmOu adicione a skill da Apointoo ao seu agente de código com IA (Claude Code, Cursor, Codex, Copilot e mais):
npx skills add vizuh/apointoo-skills-ceskills.shInício rápido
Capture eventos via API ou SDK, preserve GCLID, UTMs e dados de sessão e envie leads, agendamentos e atualizações de resultado pela sua rota /api/* no Next.js, Hono ou 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 }),
})Adapters
Cada integração é um adapter tree-shakeable para os sistemas onde as conversões realmente acontecem. Importe apenas o que você usa.
BLVD
booking
@vizuh/apointoo-sdk/adapters/booking/blvd
OpenDental
booking
@vizuh/apointoo-sdk/adapters/booking/open-dental
direct-confirm
booking
@vizuh/apointoo-sdk/adapters/booking/direct-confirm
Brevo REST
notification
@vizuh/apointoo-sdk/adapters/notification/brevo-rest
Twilio WhatsApp
notification
@vizuh/apointoo-sdk/adapters/notification/twilio-whatsapp
Sheets
persistence
@vizuh/apointoo-sdk/adapters/persistence/sheets
Upstash
dedup
@vizuh/apointoo-sdk/adapters/dedup/upstash
Arquitetura
Um único handler é o ponto de entrada. Ele executa o pipeline que mantém a atribuição em cada etapa e envia a conversão confirmada de volta ao Google Ads pelos adapters configurados.
Adapter de agendamento
BLVD, OpenDental, direct-confirm
Adapter de notificação
Brevo REST, Twilio WhatsApp
Adapter de persistência
Sheets
Adapter de deduplicação
Upstash
Variáveis de ambiente
A configuração é feita por variáveis de ambiente. Sem arquivos de configuração específicos da SDK. Coloque as chaves, faça o deploy, publique.
NEXT_PUBLIC_GTM_ID
NãoID do contêiner do Google Tag Manager. Deixe vazio para desativar o GTM.
HEADLESS_WP_URL
NãoEndpoint GraphQL do WordPress para o conteúdo de /docs e /blog.
BREVO_API_KEY
NãoChave da API REST do Brevo (Sendinblue) para o adapter de notificação do Brevo.
BLVD_API_KEY
NãoChave da API BLVD para o adapter de agendamento do BLVD.
UPSTASH_REDIS_URL
NãoURL REST do Upstash Redis para o adapter de deduplicação.
UPSTASH_REDIS_TOKEN
NãoToken REST do Upstash Redis.
GOOGLE_SHEETS_SPREADSHEET_ID
NãoID da planilha do Google Sheets para o adapter de persistência.