Repull consegna ogni messaggio dell'ospite al tuo modello, con il thread e la prenotazione, e rimanda la risposta su Airbnb, Booking.com o Vrbo. Tu metti l'intelligenza; noi gestiamo i canali.
Cosa ottiene il tuo prodotto
Il tuo modello decide cosa dire. Repull gli porta il messaggio e porta la risposta all'ospite.
Un webhook firmato per ogni nuovo messaggio, con id del thread, canale, prenotazione e testo.
La cronologia del thread, la prenotazione con date, ospiti e condizioni del soggiorno, e l'annuncio: una chiamata ciascuno.
Quando un canale riscrive un messaggio (Airbnb rimuove link e numeri di telefono), la risposta ti dice esattamente cosa ha ricevuto l'ospite.
Come funziona
Iscriviti ai messaggi degli ospiti, recupera il contesto, lascia che il tuo modello scriva la risposta e inviala. Usa l'id dell'evento come chiave di idempotenza, così un webhook ritentato non invia mai due volte.
reservation.message.received arriva firmato, con threadId e reservationId.
Recupera la cronologia del thread e la prenotazione. Aggiungi la tua knowledge base.
Fai POST della risposta. Repull la consegna sul canale dell'ospite e la registra nel thread.
// api(): fetch on api.repull.dev with your API key
// Subscribed to reservation.message.received
export async function POST(req: Request) {
const event = await req.json() // verify X-Repull-Signature first
if (event.event !== 'reservation.message.received') return new Response(null)
const { threadId, reservationId, body } = event.data
// Context: the thread so far and the booking it belongs to
const history = await api(`/v1/conversations/${threadId}/messages?order=asc`)
const booking = reservationId ? await api(`/v1/reservations/${reservationId}`) : null
const reply = await yourModel.answer({ question: body, history, booking })
const sent = await api(`/v1/conversations/${threadId}/messages`, {
method: 'POST',
headers: { 'Idempotency-Key': event.eventId },
body: JSON.stringify({ message: reply }),
})
// Airbnb strips links and phone numbers — check what the guest actually got
if (sent.contentRewritten) log('delivered as', sent.deliveredContent)
return new Response(null)
}Copertura per canale
La copertura è verificata sull'API in produzione. Copertura completa di canali e PMS
Accanto a qualsiasi PMS
Su Airbnb e Vrbo, Repull si collega con un accesso di sola messaggistica. Il PMS dell'host continua a gestire annunci e calendari, e il tuo prodotto non gli contende mai il controllo.
In beta: prenotazioni, messaggi e recensioni da Booking.com, senza che l'host debba togliere il suo provider di connettività al PMS.
Gli stessi endpoint e gli stessi eventi webhook, che l'ospite abbia prenotato su Airbnb, Booking.com o Vrbo. Lo costruisci una volta.
L'API dietro
reservation.message.receivedWebhook: un nuovo messaggio dell'ospite, con thread, prenotazione e canale.
GET /v1/conversations/{id}/messagesLa conversazione finora, come contesto.
GET /v1/reservations/{id}Date, ospiti, condizioni del soggiorno e stato.
POST /v1/conversations/{id}/messagesInvia la risposta, in modo idempotente.
POST /v1/reviews/{id}/replyLascia che lo stesso assistente risponda alle recensioni, dove il canale consente le risposte.
Server MCP e provider per AI SDKDai a un agente Repull come strumenti invece di scrivere tu le chiamate.
Inizia gratis. Configura un webhook e rispondi al tuo primo ospite oggi.