Swipe Match sucht einen Makler für einen Kunden und bietet den Lead Maklern der Reihe nach an. Über die API sieht ein Partnermakler (oder eine Agentur) die ihm angebotenen und zugewiesenen Leads und meldet seine Schritte mit dem Kunden. Lesen braucht den Bereich leads:read, Ereignisse brauchen leads:write. Wird nicht berechnet.
Leads
curl "https://developers.grem.capital/api/v1/match/leads?view=active&limit=20" \
-H "Authorization: Bearer gsk_live_xxx"
GET /match/leads:
| Parameter | Beschreibung |
|---|---|
view | active (Standard) - Ihnen zugewiesene Leads; inbox - offene Angebote an Sie. Ein Agenturschlüssel sieht die Leads und Angebote der Agenten der Agentur |
stage | Phasenfilter |
page, limit | Seite; limit bis 50, Standard 20; limit oder page unter 1, limit über 50 oder page über 1000 - 400 |
GET /match/leads/{id} - ein Lead, GET /match/leads/{id}/events - sein Verlauf (Ihre Ereignisse und Angebote; keine Geld- oder Dienstereignisse und keine Kundenbewertungen). Ein fremder Lead - 404.
Solange Swipe Match für Ihr Konto nicht für die API geöffnet ist, antworten diese Anfragen mit 409 und code: not_available.
Felder eines Leads:
| Feld | Beschreibung |
|---|---|
id, stage | ID und Phase |
clientType | buyer oder seller |
country, objectId, objectIds | Land und die Objekte, um die es in der Anfrage geht |
budget | min, max, currency |
answers | die Antworten des Kunden: budget, timeline, payment |
qualScore, qualBand | Qualitätsbewertung des Leads |
clientInitial | der erste Buchstabe des Kundennamens |
offer | Ihr offenes Angebot: id, wave, offeredAt, deadline |
contactDeadline, meetingDeadline | bis wann Kontakt und Treffen erfolgen müssen |
deal, reservation, dealObjects | Daten zu Geschäft und Reservierung |
client | name und phone des Kunden - nur nachdem der Lead Ihnen zugewiesen und der Kontakt freigegeben wurde |
brokerId | der Makler, dessen Sicht gezeigt wird |
fee | Plattformgebühr für Sie bei diesem Lead: none, percent (dieser Prozentsatz Ihrer erhaltenen Provision, in percent) oder contract (laut Vertrag); nie Beträge |
Phasen (stage): new, offered, intro, match, contact, meeting_scheduled, meeting_held, contract, deal, closed, lost.
Ihre Schritte mit einem Lead
POST /match/leads/{id}/events - nur für einen Ihnen zugewiesenen Lead. Das Modul prüft, ob der Schritt in der aktuellen Phase erlaubt ist.
event | Felder | Bedeutung |
|---|---|---|
FIRST_CONTACT | channel: phone (Standard) oder messenger | Sie haben den Kunden erreicht |
RESERVATION | amount, currency (3 Buchstaben), date; documentFileId - optional | der Kunde hat eine Reservierung bezahlt |
STAGE_ROLLBACK | reasonCode: client_withdrew, seller_withdrew, financing_failed, documents, other; text - bis 500 | den Lead eine Phase zurücksetzen |
LEAD_LOST | reasonCode: client_refused, client_unreachable, bought_elsewhere, not_target, other; text. Ein anderer Grund - 400 | der Lead ist verloren |
DEAL_CLOSED | objectId, amount, currency, date, documentFileId; commissionReceived, commissionCurrency - optional | das Geschäft ist abgeschlossen |
documentFileId - die ID einer mit POST /uploads hochgeladenen Datei (Dateien). Ein reasonCode außerhalb seiner Liste ist 400; bei LEAD_LOST mit other ist text Pflicht (ohne 400); bei STAGE_ROLLBACK wird text nur mit other gespeichert.
curl -X POST https://developers.grem.capital/api/v1/match/leads/LEAD_ID/events \
-H "Authorization: Bearer gsk_live_xxx" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: fc-LEAD_ID-1" \
-d '{"event":"FIRST_CONTACT","channel":"phone"}'
Antwort: lead - der Lead nach dem Übergang, replay: true - wenn es eine Wiederholung mit demselben Idempotency-Key ist. Schritte des Kunden werden nicht über die API gesendet. Idempotency-Key hat hier 8-128 Zeichen: Buchstaben, Ziffern, _ . : -; ein anderes Format ist 400 validation.
Ablehnungen kommen als 409 mit title: business_rule und dem Grund in code:
| Grund | code |
|---|---|
| der Schritt ist in der aktuellen Phase nicht verfügbar | invalid_transition |
| ein Kundenereignis, Makler senden es nicht | client_event_rejected |
| das Modul ist noch nicht für die API geöffnet | not_available |
Ereignisse
match.lead.offered, match.lead.offer_closed, match.lead.matched, match.lead.updated, match.lead.unassigned - siehe Webhooks. Ereignisse enthalten nie die Kontakte des Kunden.