L'API IoT di Repull permetterà al tuo codice di reagire agli eventi fisici come reagisce a un update di prenotazione. Ruotare un codice porta al check-out. Pre-condizionare un'unità prima dell'arrivo. Ricevere un webhook quando un termostato è fermo a 30 gradi da sei ore.
Cosa potrai costruire
Alla creazione della prenotazione, generi un codice. All'orario di check-out, lo fai scadere ed emetti quello del prossimo ospite. Niente più "il cleaner ha cambiato il codice?" — la serratura e la prenotazione sono lo stesso oggetto.
A T-2 ore, imposti l'unità a una temperatura confortevole. Dopo il check-out, la riporti a una temperatura di stand-by. Moltiplica su un portfolio e il risparmio energetico paga la bolletta IoT.
Porta lasciata aperta per un'ora durante il turnover. Termostato a 30°C senza ospiti in casa. Sensore di perdita d'acqua scattato. Il webhook parte, l'ops queue prende il task, qualcuno riceve la notifica sul telefono.
Come sarà l'API
L'API IoT tratta ogni device collegato — serratura, termostato, sensore — come figlio dell'annuncio. Prenotazioni e device condividono auth, webhook e workspace, così costruisci flussi trasversali in un solo posto.
La maggior parte dei vendor usa OAuth o un pairing a livello di account. Il Connect picker di Repull lo gestisce come gestisce le connessioni PMS — un flusso unico e coerente.
Stessa superficie webhook del resto. door.opened, lock.code.created, climate.target_changed, sensor.alert. Firma verificata, retry sui 5xx, un solo log da grep.
Trigger su reservation.confirmed per emettere un codice. Trigger su reservation.checkout per farlo scadere. Le stesse primitive che già usi per messaggistica e pricing.
// Repull IoT API — in arrivo. La forma verso cui stiamo convergendo:
import { Repull } from '@repull/sdk'
const repull = new Repull({ apiKey: ..., workspaceId: ... })
// Su reservation.confirmed
repull.webhooks.on('reservation.confirmed', async (e) => {
const lock = await repull.devices.get(e.listingId, { kind: 'lock' })
await repull.devices.lock.codes.create(lock.id, {
label: e.guestName,
code: '4271', // oppure ometti per auto-generare
activeFrom: e.checkIn,
activeUntil: e.checkOut,
})
})
// Su reservation.checkout il codice si auto-scade.
// Su un alert di sensore, instrada nella tua coda di ops:
repull.webhooks.on('sensor.alert', async (e) => {
if (e.kind === 'water_leak') await ops.create({
listingId: e.listingId,
severity: 'critical',
title: `Perdita d'acqua rilevata · ${e.location}`,
})
})Le forme qui sopra sono come stiamo pensando alla cosa — i nomi finali dei metodi arrivano col rilascio pubblico. Vendor di serrature in target per la v1: Yale, Schlage, August. Climatizzazione: Nest, ecobee, Honeywell.
In arrivo
Se gestisci un portfolio con serrature e climatizzazione già in posa, o se stai costruendo un prodotto che deve parlare con device fisici, scrivici. I primi design partner danno la forma all'API.
Serrature
Yale Linus / Assure, Schlage Encode, August, igloohome.
Climatizzazione
Nest, ecobee, Honeywell Lyric, Sensibo.
Sensori
Rumore (Minut, NoiseAware), perdite d'acqua, presenza.
Nessuna data di lancio fissa. Rilasciamo quando le prime tre integrazioni funzionano end-to-end su dati reali.
Dicci che device hai in posa e cosa ci costruiresti. Il team legge ogni email.
Va dritto al team. Niente liste, niente drip.
InviaL'IoT arriva. Prenotazioni, canali, pricing e agenti AI no — sono già live.