Czytaj wiadomości od gości z Airbnb, Booking.com i Vrbo i odpowiadaj na nie przez jedno API. Twoi klienci zostają przy swoim PMS, a twój produkt dostaje skrzynkę.
Co dostaje twój produkt
Wątki, historia, odpowiedzi i załączniki z każdego kanału, ujednolicone w jednym formacie.
Rozmowy ze wszystkich podłączonych kanałów na jednej stronicowanej liście, z filtrem po kanale i koncie.
Wyślij raz. Wiadomość trafia kanałem, z którego napisał gość, i zostaje zapisana w wątku.
Webhooki uruchamiają się przy każdej nowej wiadomości od gościa i przy odpowiedziach wysłanych przez gospodarza z aplikacji kanału, więc skrzynka zawsze jest aktualna.
Jak to działa
Pobierz listę wątków, otwórz jeden, odpowiedz. Zasubskrybuj zdarzenia wiadomości, aby nowe pojawiały się od razu.
Gospodarz podłącza Airbnb, Booking.com lub Vrbo przez Repull Connect. Jego PMS zostaje podłączony tak jak dotąd.
GET /v1/conversations zwraca wszystkie wątki; endpoint wiadomości zwraca ich historię.
Wyślij wiadomość przez POST i obsługuj reservation.message.received, aby skrzynka była na bieżąco.
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 })
}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
GET /v1/conversationsWszystkie wątki ze wszystkich kanałów, ze stronicowaniem kursorem.
GET /v1/conversations/{id}/messagesHistoria wątku, od najnowszych lub najstarszych.
POST /v1/conversations/{id}/messagesOdpowiedz gościowi na jego kanale, z kluczami idempotencji.
POST /v1/conversations/{id}/pre-approvalWstępnie zatwierdź zapytanie – Vrbo lub Airbnb z pełnym dostępem.
reservation.message.receivedWebhook: gość wysłał wiadomość.
reservation.message.sentWebhook: gospodarz odpowiedział, także z aplikacji kanału.
Zacznij za darmo. Podłącz konto testowe i odbieraj wiadomości jeszcze dziś.