Arbeit mit Kunden
LEGENDE:
was_in_state() | days_from_last_message() | free_client() | assign_to_user() | distribute_client()| get_operator() | get_operator_name() | delete_pended_messages() | set_note() | add_unread() | clear_unread() | unsubscribe()|block_client() | unblock_client() | set_client_name() | get_bind_clients() | get_current_pipline_id()
was_in_state(message_id)
Überprüft, ob ein Kunde sich im ausgewählten Zustand (Block) befand. Die Blocknummer können Sie aus dem Editor entnehmen.

days_from_last_message()
Ermittelt die Anzahl der Tage seit der letzten Nachricht des Kunden. Entwickelt, um zu prüfen, ob er innerhalb des 24-Stunden-Fensters liegt.
Beispiel:
d = days_from_last_message()
Wenn mehr als 30 Tage seit der letzten Nachricht des Kunden vergangen sind, gibt die Funktion den Wert 9999 zurück.
free***_***client()
Hebt die Zuordnung des verantwortlichen Operators auf.
Beispiel: free_client()
assign_to_user(email, only_active)
Weist einen Dialog einem Operator zu, wobei:
- email - ein String-Parameter (optional). Wenn nur die E-Mail angegeben wird, wird der Dialog dem angegebenen Operator unabhängig von seinem aktuellen Status zugewiesen.
- only_active - True oder False (optionaler Parameter). Wenn auf True gesetzt, wird der Dialog dem angegebenen Operator nur zugewiesen, wenn er sich aktuell im Dienst befindet.
Beispiele:
assign_to_user() - weist einen Dialog einem zufälligen Operator zu, der sich aktuell im Dienst befindet
assign_to_user('E-Mail des Operators') - weist den Dialog dem Operator unabhängig von seinem Status zu
assign_to_user('E-Mail des Operators', True) - weist den Dialog dem angegebenen Operator nur zu, wenn er sich aktuell im Dienst befindet
distribute_client()
Weist einen Dialog dem Operator gemäß den Einstellungen der automatischen Verteilung zu.
Beispiel: distribute_client()
get_operator()
Ruft die E-Mail des verantwortlichen Operators ab
Beispiel: get_operator()
Kann verwendet werden, um Aufgaben dem verantwortlichen Operator zuzuweisen oder zu prüfen, ob er existiert. Wenn es keinen verantwortlichen Operator gibt, wird None zurückgegeben.
get_operator_name()
Ruft den Namen des verantwortlichen Operators ab
Beispiel: get_operator_name()
Kann verwendet werden, um einem Kunden Informationen anzuzeigen. Wenn es keinen verantwortlichen Operator gibt, wird None zurückgegeben. Wenn der Operator keinen zugewiesenen Namen hat, wird seine E-Mail zurückgegeben.
delete_pended_messages()
Löscht alle geplanten Nachrichten für den aktuellen Kunden. Standardmäßig werden auch Nachrichten gelöscht, die durch die "Nicht abbrechen"-Pfeile erstellt wurden. Um Nachrichten von den "Nicht abbrechen"-Pfeilen zu behalten, übergeben Sie den Parameter False: delete_pended_messages(False).
set_note(comment)
Fügt einem Dialog einen Kommentar hinzu.
Beispiel: set_note('Wiederholen')
add_unread(count)
Markiert einen Dialog mit einem Kunden als ungelesen
Der Parameter count kann weggelassen oder auf 1 gesetzt werden; in diesem Fall zeigt der Dialog mit dem Kunden einen +1-Indikator für ungelesene Nachrichten an.


Wenn eine andere Zahl übergeben wird, wird sie im Bereich "Kunden" als Anzahl der ungelesenen Nachrichten eines Kunden angezeigt.

clear_unread()
Markiert einen Dialog als gelesen
unsubscribe()
Funktion zum Abbestellen von Bot-Nachrichten. Ein Beispiel finden Sie in diesem Artikel.
Für den abbestellten Kunden erscheint ein Symbol – eine rote Nachricht mit einem Kreuz.


Wichtig!
Der Rechner wird zuerst ausgeführt, und erst dann wird die Nachricht gesendet.
Wenn Sie also eine abschließende Nachricht wie "Sie wurden vom Bot abgemeldet" oder "Sie wurden blockiert" senden müssen, müssen Sie einen zweistufigen Prozess verwenden:
- Senden Sie zuerst einen Block mit der abschließenden Nachricht.
- Senden Sie dann einen leeren Block mit der Abmelde-/Blockierfunktion.
Wenn Sie versuchen, beides in einem einzigen Block zu tun, wird die Nachricht nicht gesendet.

Wenn Sie die Funktion unsubscribe() im selben Blockrechner wie Ihre Nachricht platzieren, wird die Nachricht nicht gesendet, und das System zeigt einen Fehler an.

block_client()
Blockiert einen Kunden daran, Nachrichten an den Bot zu senden. Zuvor geplante Nachrichten des Bots werden ebenfalls storniert. Es ist jedoch weiterhin möglich, den Kunden direkt aus dem Dialog im Bereich "Kunden" anzuschreiben.

Ein blockierter Kunde erhält eine Markierung – ein rotes Schlosssymbol.

unblock_client()
Entblockt den Kunden. Der Kunde kann wieder mit dem Bot interagieren und Nachrichtenketten durchlaufen.
set_client_name(name)
Ändert den Namen des Kunden. Übergeben Sie den Kundennamen als String in doppelten Anführungszeichen. Sie können auch eine Variable verwenden, die den Kundennamen enthält, z. B.: set_client_name("Max Mustermann")
get_bind_clients()
Eine parameterlose Funktion, die ein Array von Kunden-IDs zurückgibt, die mit dem aktuellen Kunden verknüpft sind.
get_current_pipline_id()
Eine parameterlose Funktion, die die ID des Trichters zurückgibt, in dem sich der Kunde gerade befindet.
Wenn sich der Deal des Kunden in der Phase "unbearbeitet" befindet, wird None zurückgegeben.
Arbeit mit Aufgaben
Funktionen, die mit Aufgaben arbeiten, geben den Operationsstatus als True oder die Aufgaben-ID bei Erfolg zurück. Im Fehlerfall geben sie False oder None zurück.
MaviBot verwendet das Datumsformat "dd.mm.yyyy" und das Zeitformat "HH:MM".
create_task() | update_task() | done_task() | delete_task()
create_task(email, name, date_srok, description, time_srok) – erstellt eine Aufgabe
Parameter:\ ! email - E-Mail des Verantwortlichen\ ! name - Aufgabenname\ ! date_srok - Fälligkeitsdatum, Datum\ ! description - Aufgabenbeschreibung
time_srok - Fälligkeitszeit, Uhrzeit
update_task(task_id,email, name, date_srok, description, time_srok) - aktualisiert eine Aufgabe
Parameter:\ ! task_id- Aufgaben-ID\ ! email - E-Mail des Verantwortlichen\ ! name - Aufgabenname\ ! date_srok - Fälligkeitsdatum, Datum\ ! description - Aufgabenbeschreibung
time_srok - Fälligkeitszeit, Uhrzeit
done_task(task_id)- markiert eine Aufgabe als erledigt
Parameter:\ ! task_id- Aufgaben-ID
delete_task(task_id) – löscht eine Aufgabe
Parameter:\ ! task_id- Aufgaben-ID
Einen verantwortlichen Benutzer zuweisen
assign_order_to_user(email, order_id) — weist einem Deal einen verantwortlichen Benutzer zu
-
email— E-Mail des Mitarbeiters, der als Verantwortlicher zugewiesen werden soll. Erforderlich. -
order_id— ID des Deals, dem der Mitarbeiter zugewiesen werden soll. Wenn nicht angegeben, wird der aktuelle Deal verwendet. Optional.
E-Mail des verantwortlichen Benutzers abrufen
get_order_operator(order_id) — E-Mail des verantwortlichen Benutzers für einen Deal abrufen
-
order_id— ID des Deals, für den der verantwortliche Benutzer abgerufen werden soll. Wenn nicht angegeben, wird der aktuelle Deal verwendet. Optional.
Erstellen wir eine Aufgabe für den Operator:

Aktualisieren Sie das Fälligkeitsdatum und die Beschreibung.

Markieren Sie die Aufgabe als erledigt.

Aufgabenlöschung

task_id=create_task('[email protected]', 'Test', '22.01.2023', 'test task', '08:00') status=delete_task(task_id)
Arbeit mit Deals
get_order_id() | create_order() | set_order_name() | set_order_budget() | get_active_orders_ids() | get_success_orders_ids() | get_fail_orders_ids() | get_order_var() | get_order_vars() | set_order_var() | set_order_vars() | move_order_to_next_state() | set_order_status_success() | set_order_status_fail(order_id)| get_state_id() | change_state() | get_order_id_by_var_value() | latest_order_datetime() | count_client_orders(), get_count_orders() | delete_order(order_id) |
Abrufen der aktuellen Deal-ID
get_order_id() - gibt den Deal-Zustand zurück.
Erstellen eines neuen Deals
create_order(name, budget, description, client_name, phone, email, state_id)
Der aktuell aktive Deal im Trichter sowie seine Variablen sind nur in Deal-bezogenen Funktionen und im CRM verfügbar.
Funktionsparameter: \ ! name - (optional), der Deal-Name. Wenn nicht angegeben, bezieht sich die Funktion auf den aktuell aktiven Deal des Kunden.
! budget - (optional) der Deal-Wert. Wenn nicht angegeben, bezieht sich auf den aktuell aktiven Deal.
Wenn budget keine Zahl ist, gibt die Funktion zurück: budget must be a number
description - (optional), die Deal-Beschreibung.
Zusätzliche Parameter zur Kundenerstellung:
client_name - (optional) String, Name eines neuen Kunden
phone - (optional) String, Telefonnummer eines neuen Kunden.
email - (optional) String, E-Mail-Adresse eines neuen Kunden.
Um einen Kunden zu erstellen, muss mindestens Telefon oder E-Mail angegeben werden. Wenn eine Telefonnummer angegeben wird und kein Kunde mit dieser Nummer im Projekt existiert, wird ein neuer erstellt.
Wenn eine E-Mail ohne Telefonnummer angegeben wird und kein Kunde mit dieser E-Mail existiert, wird ein neuer erstellt.
Zusätzlicher Parameter:
state_id - Zahl, ermöglicht das Festlegen des Anfangszustands des Deals bei der Erstellung
Deal-Namen setzen oder aktualisieren
set_order_name(name, order_id)
name - ❗erforderlich, String; der Deal-Name
order_id - (optional) Deal-ID. Wenn nicht angegeben, gilt die Änderung für den aktuell aktiven Deal des Kunden.
Deal-Budget setzen oder aktualisieren
set_order_budget(budget, order_id)
budget -❗erforderlich, Zahl; der Deal-Wert
order_id - (optional) Deal-ID. Wenn nicht angegeben, gilt für den aktuell aktiven Deal des Kunden.
Um order_id korrekt zu verwenden:
- Sie können sie manuell angeben – holen Sie die Deal-ID und übergeben Sie sie als Funktionsparameter, wenn Sie einen bestimmten Deal ansprechen möchten.


- Rufen Sie sie mit der Funktion get_order_id() ab, da die integrierte Variable order_id den Wert im Format {client_id}-{order_id} zurückgibt, was zu falschem Verhalten führen kann.
Abrufen von Listen von Deals
((ohne archivierte, erfolgreiche oder fehlgeschlagene Deals))
get_active_orders_ids()
Liste erfolgreicher Deal-IDs abrufen
get_success_orders_ids()
Liste fehlgeschlagener Deal-IDs abrufen
get_fail_orders_ids()
Abrufen des Werts einer Deal-Variable
get_order_var(order_id, variable)
Parameter:
! order_id - Deal-ID
! variable - Variablenname, dessen Wert Sie abrufen möchten
Abrufen von Dealdaten
get_order_vars(order_id, names)
Parameter:
! order_id - Deal-ID
names - ein Array von Variablennamen, die abgerufen werden sollen. Wenn weggelassen, gibt die Funktion alle Variablen für den angegebenen Deal zurück
Die Funktion gibt ein Wörterbuch zurück, das die im names-Array aufgeführten Variablen für den durch order_id identifizierten Deal enthält. Wenn names nicht angegeben wird, gibt sie ein Wörterbuch mit allen Variablen des angegebenen Deals zurück.
Hinzufügen einer Deal-Variable
set_order_var(order_id, variable, value)
Parameter:
! order_id - Deal-ID
! variable - der Name der Variable, die zu einem Deal hinzugefügt oder aktualisiert werden soll
Wenn Sie die Parameter "name" oder "description" des Deals ändern möchten, verwenden Sie die Variablennamen "name" bzw. "description".
! value - Variablenwert
Hinzufügen mehrerer Deal-Variablen
set_order_vars(order_id, variables_dict)
Parameter:
! order_id - Deal-ID.
! variables_dict - ein Wörterbuch von Variablen
Wechseln zum nächsten Trichterzustand
move_order_to_next_state(order_id)
Parameter:
order_id - Deal-ID. Wenn nicht angegeben, wird der aktuell aktive Deal verschoben.
Die Reihenfolge der Deal-Zustände wird gemäß der in MavibotCRM festgelegten Sequenz definiert.
Abrufen der Trichterstufe in MavibotCRM
get_state_id(client_id, order_id)
Sie können die Trichterzustands-ID auch direkt aus den "Zustandseinstellungen" kopieren.
Parameter:
order_id - Kunden-Deal-ID
Sie können die Funktion mit oder ohne den Parameter order_id aufrufen. Wenn order_id weggelassen wird, gibt die Funktion die Trichterzustands-ID für den aktuell aktiven Deal zurück.
Zur korrekten Verwendung von order_id:
- Sie können sie manuell angeben, indem Sie die Deal-ID abrufen und als Funktionsparameter übergeben, wenn Sie einen bestimmten Deal ansprechen möchten.
- Rufen Sie sie mit der Funktion get_order_id() ab, da die integrierte Variable order_id einen Wert im Format {client_id}-{order_id} zurückgibt, was zu falschem Verhalten führen kann.
Bewegen eines Leads durch den MavibotCRM-Trichter nach Zustands-ID
change_state(state_id, order_id)
Parameter:\ ! state_id - Trichterzustands-ID
order_id ( optional) - die Deal-ID, die durch den Trichter bewegt werden soll. Wenn weggelassen, wird der aktuell aktive Deal bewegt.
Abrufen der Deal-ID nach Variablenname und -wert
get_order_id_by_var_value(var_name, var_value, client_id)
Parameter:\ ! var_name - Variablenname\ ! var_value - Variablenwert;
client_id - (optional) Kunden-Deal-ID; Standard ist die Kunden-ID im Bot
Abrufen von Datum und Uhrzeit des letzten Deals
latest_order_datetime(client_id, dt_fmt)
Parameter:
client_id - (optional) die Kunden-Deal-ID; Standard ist die Kunden-ID im Bot;
df_fmt - (optional) Format für das zurückgegebene Datum und die Uhrzeit; Standard ist "%d.%m.%y %H:%M"
Abrufen der Anzahl der Kunden-Deals
count_client_orders(client_id, state_id, get_all, active)
Parameter:
client_id - (optional) die Deal-Kunden-ID; Standard ist die Kunden-ID im Bot;
state_id - (optional) die Deal-Zustands-ID im Trichter;
get_all - (optional) Filter-Flag für den aktiven Parameter; Standard ist 1 (Filterung nach aktiv ist deaktiviert);
active - wird nur verwendet, wenn get_all 0 ist; filtert aktive Deals; Standard ist 1 (gibt nur aktive Deals zurück);
Anzahl der Deals in einem bestimmten Deal-Zustand abrufen
get_count_orders(id) - gibt die Anzahl der Deals zurück, die sich aktuell in einem bestimmten Trichterzustand befinden, anhand der Zustands-ID.
Die Funktion nimmt einen einzelnen Parameter entgegen:
! id - die Deal-Zustands-ID.
Beispiel für die Verwendung der Funktion:


Die Stufen-ID finden Sie in den Einstellungen.
Als nächstes müssen Sie die Funktion wie folgt in den Rechner eingeben:

Beim Testen des Bots besteht die Antwort des Bots aus der Anzahl der Deals in dem Zustand, der durch den an die Funktion übergebenen Wert angegeben wird.
Löschen eines Deals
delete_order(order_id) — löscht einen Deal in MaviBotCRM.
order_id - (optional) die zu löschende Deal-ID. Wenn weggelassen, wird der neueste Deal gelöscht.
Alle Funktionen sind einfach zu verwenden.
Erstellen wir zum Beispiel einen neuen Deal und senden seine Nummer an den Kunden:


Sie können die aktuell aktive Deal-ID des Kunden mit der Funktion get_order_id() abrufen oder die vollständige Liste der Deals des Kunden mit get_active_orders_ids() abrufen.




Setzen eines erfolgreichen Deal-Tags
set_order_status_success()
Beschreibung
set_order_status_success(order_id)
Parameter:
order_id - die Deal-ID. Wenn der Parameter nicht angegeben wird, wird das Tag für den aktuell aktiven Deal gesetzt.
Setzen eines fehlgeschlagenen Deal-Tags
set_order_status_fail()
Beschreibung
set_order_status_fail(order_id)
Parameter:
order_id - die Deal-ID. Wenn der Parameter nicht angegeben wird, wird das Tag für den aktuell aktiven Deal gesetzt.
Setzen eines archivierten Deal-Tags
set_order_status_archive()
Beschreibung
set_order_status_archive(order_id)
Parameter:
order_id - die Deal-ID. Wenn der Parameter nicht angegeben wird, wird das Tag für den aktuell aktiven Deal gesetzt.
Beispiele
/*Archive the current active deal*/
res_arh = set_order_status_archive()


