Für Softwareanbieter

Jedes Gästegespräch,
direkt in deinem Produkt.

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

Ein vollständiger Posteingang, kein Benachrichtigungs-Feed.

Unterhaltungen, Verlauf, Antworten und Anhänge von jedem Kanal, vereinheitlicht in einem Format.

Eine Liste aller Unterhaltungen

Unterhaltungen aller verbundenen Kanäle in einer paginierten Liste, filterbar nach Kanal und Konto.

Antworten über den richtigen Kanal

Einmal senden. Die Nachricht geht über den Kanal raus, über den der Gast geschrieben hat, und wird in der Unterhaltung gespeichert.

Zustellung in Echtzeit

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

Ein Posteingang in drei Aufrufen und einem Webhook.

Unterhaltungen auflisten, eine lesen, antworten. Abonniere die Nachrichten-Events, damit neue Nachrichten sofort erscheinen.

  1. 1

    Gastgeber verbinden

    Der Gastgeber verbindet Airbnb, Booking.com oder Vrbo über Repull Connect. Sein PMS bleibt verbunden wie bisher.

  2. 2

    Unterhaltungen laden

    GET /v1/conversations liefert alle Unterhaltungen; der Nachrichten-Endpunkt liefert den Verlauf.

  3. 3

    Antworten und zuhören

    Schick eine Nachricht per POST und verarbeite reservation.message.received, damit der Posteingang aktuell bleibt.

inbox.ts · ts
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.' }),
})
webhook.ts · ts
// 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

Was wo funktioniert

AirbnbUnterhaltungen, Senden, Bearbeiten und Zurückziehen, als gelesen markieren. Vorab-Freigaben und Sonderangebote brauchen Vollzugriff, den Airbnb neben einem anderen PMS nicht erlaubt.
Booking.comUnterhaltungen, Senden, Anhänge.
VrboUnterhaltungen, Textnachrichten. Anfragen vorab freigeben und das Angebot bearbeiten.
PMS des GastgebersGästenachrichten aller Kanäle, die das PMS verwaltet, Direktbuchungen inklusive – für die PMS, mit denen wir verbunden sind. Antworten gehen über das PMS zurück, wo dessen API es erlaubt.

Die Abdeckung wird gegen die Live-API geprüft. Vollständige Kanal- und PMS-Abdeckung

Neben jedem PMS

Deine Kunden behalten die Tools, die sie schon nutzen.

Das PMS behält die Kontrolle über das Inserat

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.

Booking.com über den Extranet-Login des Gastgebers

In der Beta: Buchungen, Nachrichten und Bewertungen von Booking.com, ohne dass der Gastgeber seinen Konnektivitätsanbieter vom PMS abziehen muss.

Eine Integration, jeder Kanal

Dieselben Endpunkte und dieselben Webhook-Events, egal ob der Gast über Airbnb, Booking.com oder Vrbo gebucht hat. Du baust es einmal.

So funktioniert Repull neben einem PMS→

Die API dahinter

Endpunkte und Events

GET /v1/conversations

Alle Unterhaltungen aller Kanäle, per Cursor paginiert.

GET /v1/conversations/{id}/messages

Der Verlauf einer Unterhaltung, neueste oder älteste zuerst.

POST /v1/conversations/{id}/messages

Antworte dem Gast auf seinem Kanal, mit Idempotenzschlüsseln.

POST /v1/conversations/{id}/pre-approval

Eine Anfrage vorab freigeben – Vrbo oder Airbnb mit Vollzugriff.

reservation.message.received

Webhook: Ein Gast hat eine Nachricht gesendet.

reservation.message.sent

Webhook: Der Gastgeber hat geantwortet, auch aus der App des Kanals.

Liefer den Posteingang, nach dem deine Kunden ständig fragen.

Kostenlos starten. Verbinde ein Testkonto und empfang noch heute Nachrichten.