Adapters
Contracts per slot, published adapters, and how to bring your own.
Adapters
The SDK separates contract from implementation. Every slot has an interface; use a published adapter or bring your own.
Slots
| Slot | Responsibility |
|---|---|
booking |
Talks to the scheduling system |
notification |
Sends notices (email, WhatsApp) |
persistence |
Stores records |
state |
Flow state machine |
audit |
Audit trail |
dedup |
Idempotency guard |
rate-limiting |
Pace control |
conversion |
Offline conversion upload |
Shipped today
| Adapter | Slot | Status |
|---|---|---|
direct-confirm |
booking | production |
| BLVD | booking | production |
| OpenDental | booking | beta |
| Brevo REST | notification | production |
| Twilio WhatsApp | notification | beta |
| Sheets | persistence | production |
| Upstash | dedup | production |
Bringing your own
Implement the slot contract and pass it in configuration:
export const app = createBookingHandler({
config: { /* ... */ },
booking: myCustomBookingAdapter(),
state: memoryStateStore(),
})
The core never assumes a booking shape or payment method; it accepts typed events. A new adapter changes nothing in the other slots.
Where adapters live
@vizuh/apointoo-sdk/adapters/booking/direct-confirm
@vizuh/apointoo-sdk/adapters/notification/brevo-rest
¿Te resultó útil esta página?
Lectura adicional