Repull przekazuje każdą wiadomość od gościa do twojego modelu razem z wątkiem i rezerwacją, a odpowiedź odsyła przez Airbnb, Booking.com lub Vrbo. Ty dostarczasz inteligencję, my zajmujemy się kanałami.
Co dostaje twój produkt
Twój model decyduje, co powiedzieć. Repull dostarcza mu wiadomość, a gościowi odpowiedź.
Podpisany webhook dla każdej nowej wiadomości, z identyfikatorem wątku, kanałem, rezerwacją i treścią.
Historia wątku, rezerwacja z datami, gośćmi i warunkami pobytu oraz oferta – po jednym wywołaniu.
Gdy kanał przerabia wiadomość (Airbnb usuwa linki i numery telefonów), odpowiedź mówi dokładnie, co dostał gość.
Jak to działa
Zasubskrybuj wiadomości od gości, pobierz kontekst, pozwól modelowi napisać odpowiedź i wyślij ją. Użyj identyfikatora zdarzenia jako klucza idempotencji, aby ponowiony webhook nigdy nie wysłał wiadomości dwa razy.
reservation.message.received przychodzi podpisany, z threadId i reservationId.
Pobierz historię wątku i rezerwację. Dodaj własną bazę wiedzy.
Wyślij odpowiedź przez POST. Repull dostarcza ją na kanale gościa i zapisuje w wątku.
// 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)
}Zakres kanałów
Zakres jest sprawdzany na produkcyjnym API. Pełny zakres kanałów i PMS
Obok dowolnego PMS
Na Airbnb i Vrbo Repull łączy się z dostępem tylko do wiadomości. PMS gospodarza dalej zarządza ofertami i kalendarzami, a twój produkt nigdy nie konkuruje z nim o kontrolę.
W wersji beta: rezerwacje, wiadomości i opinie z Booking.com, bez odłączania dostawcy łączności od PMS gospodarza.
Te same endpointy i te same zdarzenia webhooków, niezależnie od tego, czy gość zarezerwował przez Airbnb, Booking.com czy Vrbo. Budujesz to raz.
API, które za tym stoi
reservation.message.receivedWebhook: nowa wiadomość od gościa, z wątkiem, rezerwacją i kanałem.
GET /v1/conversations/{id}/messagesDotychczasowa rozmowa, jako kontekst.
GET /v1/reservations/{id}Daty, goście, warunki pobytu i status.
POST /v1/conversations/{id}/messagesWyślij odpowiedź idempotentnie.
POST /v1/reviews/{id}/replyNiech ten sam asystent odpowiada na opinie tam, gdzie kanał pozwala na odpowiedzi.
Serwer MCP i provider AI SDKDaj agentowi Repull jako narzędzia, zamiast samodzielnie pisać wywołania.
Zacznij za darmo. Skonfiguruj jeden webhook i odpowiedz pierwszemu gościowi jeszcze dziś.