Kontakt auswählen
Eine Anfrage an den Block „Eingehender Webhook“ kommt nicht von einer Person, sondern von einem externen Dienst. Deshalb gibt der Code selbst an, zu welchem Kontakt die Anfrage gehört — mit einer der folgenden Funktionen. Es gibt sie nur in diesem Block; in den übrigen Blöcken ist der Kontakt bereits bekannt.
Gemeinsame Regeln für alle Funktionen:
- Der Kontakt wird nur unter den Kontakten dieses Bots gesucht. Gelöschte Kontakte werden nicht gefunden.
- Liefert
true, wenn der Kontakt gefunden wurde, sonstfalse. - Pro Anfrage lässt sich nur eine Funktion aufrufen, und nur einmal. Ein zweiter Aufruf — auch einer anderen Funktion — beendet den Code mit einem Fehler, und der Block antwortet mit dem Code
422. - Mindestens eine Funktion muss im Code stehen. Ohne sie führt der Block den Code nicht aus und antwortet mit
422. - Sobald der Kontakt gefunden ist, stehen dem Code seine eingebauten Variablen, Variablen und Tags zur Verfügung. Vorher sind die Variablen des Kontakts leer, und ein Zugriff auf
id,nameund andere Kontaktdaten bricht den Code mit einem Fehler ab. - Wird der Kontakt nicht gefunden oder wurde keine Funktion aufgerufen, läuft der Code zwar, speichert aber nichts: Variablen, Tags und globale Variablen werden nicht geschrieben, Nachrichten nicht gesendet, Sprung und Verbindung „Fortsetzen“ werden nicht ausgelöst. Der Block antwortet mit
200und der MeldungCode executed without setting contact.
setContactById
setContactById(id)
Findet den Kontakt anhand seiner ID auf der Plattform.
| Parameter | Typ | Was übergeben wird |
|---|---|---|
id |
Zahl oder Zeichenkette aus Ziffern | ID des Kontakts. Im Szenario erhalten Sie sie mit dem Platzhalter {{ id }} |
if (setContactById(request.query.contact_id)) {
setContactVariable('zahlung', 'erhalten');
sendMessage('Zahlung erhalten, wir beginnen mit Ihrem Strauß.');
}
Damit der externe Dienst die ID kennt, übergeben Sie sie vorab — zum Beispiel im Zahlungslink oder mit dem Block „HTTP-Anfrage“.
setContactByTelegramId
setContactByTelegramId(id)
Findet den Kontakt anhand der ID der Person in Telegram.
| Parameter | Typ | Was übergeben wird |
|---|---|---|
id |
Zahl oder Zeichenkette aus Ziffern | ID des Telegram-Nutzers — dieselbe wie in der Variablen telegram_id |
var message = request.data.message;
if (message && message.from && setContactByTelegramId(message.from.id)) {
setContactTag('schrieb_in_gruppe');
}
setContactByMaxId
setContactByMaxId(id)
Findet den Kontakt anhand der ID der Person in MAX.
| Parameter | Typ | Was übergeben wird |
|---|---|---|
id |
Zahl oder Zeichenkette aus Ziffern | ID des MAX-Nutzers — dieselbe wie in der Variablen max_id |
if (setContactByMaxId(request.data.user_id)) {
sendMessage('Der Kurier ist unterwegs.');
}
setContactByVkId
setContactByVkId(id)
Findet den Kontakt anhand der ID der Person in VK.
| Parameter | Typ | Was übergeben wird |
|---|---|---|
id |
Zahl oder Zeichenkette aus Ziffern | ID des VK-Nutzers — eine Zahl ohne id am Anfang |
if (setContactByVkId(request.data.vk_user_id)) {
setContactTag('bewertung_abgegeben');
}
setContactByViberId
setContactByViberId(id)
Findet den Kontakt anhand der ID der Person in Viber.
| Parameter | Typ | Was übergeben wird |
|---|---|---|
id |
Zeichenkette | ID des Viber-Nutzers — eine Zeichenkette aus Buchstaben, Ziffern und Zeichen; wandeln Sie sie nicht in eine Zahl um |
if (setContactByViberId(request.data.viber_id)) {
sendMessage('Ihre Bestellung wurde an die Lieferung übergeben.');
}