Lies und beantworte Gästenachrichten von Airbnb, Booking.com und Vrbo über eine API. Deine Kunden behalten ihr PMS; dein Produkt bekommt den Posteingang.
Was dein Produkt bekommt
Unterhaltungen, Verlauf, Antworten und Anhänge von jedem Kanal, vereinheitlicht in einem Format.
Unterhaltungen aller verbundenen Kanäle in einer paginierten Liste, filterbar nach Kanal und Konto.
Einmal senden. Die Nachricht geht über den Kanal raus, über den der Gast geschrieben hat, und wird in der Unterhaltung gespeichert.
Webhooks feuern bei jeder neuen Gästenachricht und bei Antworten, die der Gastgeber in der App des Kanals sendet – so bleibt dein Posteingang immer aktuell.
So funktioniert's
Unterhaltungen auflisten, eine lesen, antworten. Abonniere die Nachrichten-Events, damit neue Nachrichten sofort erscheinen.
Der Gastgeber verbindet Airbnb, Booking.com oder Vrbo über Repull Connect. Sein PMS bleibt verbunden wie bisher.
GET /v1/conversations liefert alle Unterhaltungen; der Nachrichten-Endpunkt liefert den Verlauf.
Schick eine Nachricht per POST und verarbeite reservation.message.received, damit der Posteingang aktuell bleibt.
const api = (path: string, init?: RequestInit) =>
fetch(`https://api.repull.dev${path}`, {
...init,
headers: {
Authorization: `Bearer ${process.env.REPULL_API_KEY}`,
'Content-Type': 'application/json',
},
}).then(r => r.json())
// Every thread, from every channel, in one list
const { data: threads } = await api('/v1/conversations?limit=50')
// One thread's history, oldest first
const { data: messages } = await api(`/v1/conversations/${threads[0].id}/messages?order=asc`)
// Reply — it goes out on the channel the guest wrote from
await api(`/v1/conversations/${threads[0].id}/messages`, {
method: 'POST',
body: JSON.stringify({ message: 'Hi Alex, check-in is from 4pm.' }),
})// POST /webhooks/repull — 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') {
const { threadId, channel, senderName, body } = event.data
await inbox.push({ threadId, channel, from: senderName, body })
}
return new Response(null, { status: 200 })
}Kanalabdeckung
Die Abdeckung wird gegen die Live-API geprüft. Vollständige Kanal- und PMS-Abdeckung
Neben jedem PMS
Auf Airbnb und Vrbo verbindet sich Repull mit reinem Nachrichtenzugriff. Das PMS des Gastgebers verwaltet weiter Inserate und Kalender, und dein Produkt macht ihm nie die Kontrolle streitig.
In der Beta: Buchungen, Nachrichten und Bewertungen von Booking.com, ohne dass der Gastgeber seinen Konnektivitätsanbieter vom PMS abziehen muss.
Dieselben Endpunkte und dieselben Webhook-Events, egal ob der Gast über Airbnb, Booking.com oder Vrbo gebucht hat. Du baust es einmal.
Die API dahinter
GET /v1/conversationsAlle Unterhaltungen aller Kanäle, per Cursor paginiert.
GET /v1/conversations/{id}/messagesDer Verlauf einer Unterhaltung, neueste oder älteste zuerst.
POST /v1/conversations/{id}/messagesAntworte dem Gast auf seinem Kanal, mit Idempotenzschlüsseln.
POST /v1/conversations/{id}/pre-approvalEine Anfrage vorab freigeben – Vrbo oder Airbnb mit Vollzugriff.
reservation.message.receivedWebhook: Ein Gast hat eine Nachricht gesendet.
reservation.message.sentWebhook: Der Gastgeber hat geantwortet, auch aus der App des Kanals.
Kostenlos starten. Verbinde ein Testkonto und empfang noch heute Nachrichten.