Zum Inhalt springen
XICBOT

Einstellungen

English
Technik, Projekt & Qualität

Wenn eine Anfrage im Chat nicht ankommt: Zustände, Protokoll und keine Doppelten

Was Besucher im Chat lesen, wenn ein Ticket, Lead oder Rückruf nicht angelegt werden konnte: sieben Zustände, feste Frist, Protokoll und Einmalschlüssel gegen Doppelte.

In einfacher Sprache

Manchmal klappt es nicht, ein Ticket, einen Kontakt oder einen Rückruf anzulegen (Paket Individuell). Dann ist offen, ob etwas angelegt wurde. Der Besucher liest darum einen klaren Zustand statt eines freundlichen Satzes. Was nicht ankam, wird nicht als eingegangen gemeldet. Jeder Aufruf hat eine feste Frist und wird danach nicht still nachgeholt. Jeder Schritt, der etwas anlegt, trägt einen Schlüssel für genau einen Lauf. Zwei Klicks zugleich führen ihn nur einmal aus. Jeder Aufruf hinterlässt eine Zeile mit Eingabe, Ergebnis, Dauer und Zustand.

15 Min. Lesezeit Von XICBOT

Mehr zur Tool-Steuerung

Vor der Black Week stehen nicht nur Shop und Kasse unter Last, sondern auch die Systeme dahinter: Kundenverwaltung, Ticketsystem, Warenwirtschaft. Ein Chat-Assistent, der in diese Systeme schreibt, legt dort Tickets, Interessenten oder Rückrufwünsche an, und genau an dieser Stelle wird eine langsame Schnittstelle heikel. Fehlt beim Lesen eine Angabe, bleibt eine Antwort unvollständig. Scheitert dagegen ein Schreibvorgang, ist offen, ob etwas angelegt wurde, und der Besucher klickt im Zweifel ein zweites Mal. Dieser Beitrag zeigt, welche Zustände ein schreibender Aufruf bei XICBOT annehmen kann, was der Besucher in jedem Fall liest, warum nach der Frist Schluss ist und nichts nachgeholt wird, wie ein Einmalschlüssel doppelte Einträge verhindern hilft und was im Protokoll steht.

Sieben Zustände einer schreibenden Aktion im Chat
Sieben Zustände einer schreibenden Aktion im ChatJeder Aufruf endet in einem benannten Zustand, und der Besucher sieht ihn in der Karte im Chat.Freigabe im ChatEndzustandWas der Assistent sagt (Beispiel)vorgeschlagenwartet auf KlickbestätigtBestätigenAblehnenzu lange offenausgeführtIhre Anfrage ist angelegt.fehlgeschlagenDas hat gerade nicht geklappt.Frist überschrittenKeine Antwort, ich nenne kein Ergebnis.abgelehntIn Ordnung, es wird nichts angelegt.abgelaufenDer Vorschlag gilt nicht mehr.EinmalschlüsselZweiter Klick legt nichts doppelt anGebildet aus Gespräch, Werkzeug, EingabeDer Riegel liegt in der DatenbankProtokoll: eine Zeile je Aufruf14:02:27ticket_createFrist überschrittennur Fehlertext14:05:03crm_leadausgeführtErgebnis zurück14:07:40callback_noteabgelehntnichts ausgeführt
Jeder Aufruf endet in einem benannten Zustand, und der Besucher sieht ihn in der Karte im Chat.
Beschriftungen der Abbildung
  • Freigabe im Chat
  • Endzustand
  • Was der Assistent sagt (Beispiel)
  • vorgeschlagen
  • wartet auf Klick
  • bestätigt
  • Bestätigen
  • Ablehnen
  • zu lange offen
  • ausgeführt
  • Ihre Anfrage ist angelegt.
  • fehlgeschlagen
  • Das hat gerade nicht geklappt.
  • Frist überschritten
  • Keine Antwort, ich nenne kein Ergebnis.
  • abgelehnt
  • In Ordnung, es wird nichts angelegt.
  • abgelaufen
  • Der Vorschlag gilt nicht mehr.
  • Einmalschlüssel
  • Zweiter Klick legt nichts doppelt an
  • Gebildet aus Gespräch, Werkzeug, Eingabe
  • Der Riegel liegt in der Datenbank
  • Protokoll: eine Zeile je Aufruf
  • 14:02:27
  • ticket_create
  • Frist überschritten
  • nur Fehlertext
  • 14:05:03
  • crm_lead
  • ausgeführt
  • Ergebnis zurück
  • 14:07:40
  • callback_note
  • abgelehnt
  • nichts ausgeführt

Sieben Zustände einer schreibenden Aktion im Chat

Vor der Black Week: wenn die schreibende Seite hakt

In den Wochen vor der Black Week steigt die Last nicht gleichmäßig. Spitzen treffen häufig gerade die Systeme, die im Tagesgeschäft unauffällig laufen: das Ticketsystem, in dem Rückfragen zu Bestellungen landen, die Kundenverwaltung, in die Interessenten eingetragen werden, und die Warenwirtschaft, die Bestände und Aufträge führt. Ein Assistent, der über die Tool-Steuerung an diese Systeme angebunden ist, bekommt das unmittelbar zu spüren, denn er fragt in dem Moment an, in dem der Besucher im Chatfenster wartet. Antwortet ein System langsamer als sonst, ist das für eine Auskunft ärgerlich. Für einen Vorgang, der etwas anlegen soll, wird es zu einer offenen Frage.

Ob gelesen oder geschrieben wird, entscheidet darüber, wie schwer ein Ausfall wiegt. Bleibt eine lesende Abfrage aus, fehlt eine Angabe, etwa ein Lagerbestand, und der Assistent antwortet ohne sie. Wie er dabei gestuft zurückfällt, beschreibt der Beitrag zu Ausfall und Notbetrieb. Bei einem schreibenden Vorgang drohen drei andere Schäden: Der Chat meldet einen Eingang, den es nicht gibt. Der Besucher klickt ein zweites Mal, und das Ticket liegt doppelt vor. Oder niemand kann hinterher sagen, was aus der Anfrage geworden ist. Um diese drei Fälle geht es hier.

Sieben Zustände statt erledigt oder nicht erledigt

Ein schreibender Aufruf führt bei XICBOT zunächst nichts aus. Er geht als Vorschlag an den Besucher, mit dem Satz, der die Tat benennt, den echten Werten und zwei Knöpfen darunter. Erst der Klick auf Bestätigen bringt ihn weiter. Von da an endet er in einem von mehreren benannten Zuständen, und jeder davon beantwortet die Frage, ob in Ihrem System etwas entstanden ist, auf seine Weise. Die Seite zu den individuellen Funktionen führt sieben Zustände auf: vorgeschlagen, bestätigt, ausgeführt, abgelehnt, abgelaufen, fehlgeschlagen und Frist überschritten.

ZustandWas geschehen istIst etwas angelegt?
vorgeschlagenDer Vorschlag steht mit Vorschautext und zwei Knöpfen im Chat und wartet auf eine Entscheidung.Nein, ausgeführt wird noch nichts.
bestätigtDer Besucher hat geklickt. Rolle und Pflichtfelder werden erneut geprüft, dann geht der Aufruf hinaus.Noch offen, der Aufruf läuft.
ausgeführtDas angebundene System hat innerhalb der Frist geantwortet, das Ergebnis steht in der Zeile.Ja, laut Rückmeldung des Systems.
abgelehntDer Besucher hat Ablehnen gewählt. Der Zustand wird festgehalten, das Gespräch läuft weiter.Nein.
abgelaufenDer Vorschlag stand zu lange offen und lässt sich nicht mehr bestätigen; ein später Klick führt nichts aus.Nein.
fehlgeschlagenDas Ziel hat mit einem Fehler geantwortet oder war nicht erreichbar. Gespeichert wird der gekürzte Fehlertext.Meist nein. Meldet ein vorgeschalteter Server einen Fehler (etwa 502 oder 504) oder reißt die Verbindung nach dem Absenden ab, kann das Ziel den Vorgang trotzdem verarbeitet haben.
Frist überschrittenInnerhalb der Frist kam keine Antwort. Der Aufruf ist beendet und läuft nicht im Hintergrund weiter.Offen: Das Ziel kann den Vorgang trotzdem verarbeitet haben.

Entscheidend sind die beiden letzten Zeilen. Fehlgeschlagen und Frist überschritten sehen für den Besucher ähnlich aus, für Ihr Team bedeuten sie Verschiedenes. Ein Fehlschlag heißt in der Regel: Das Ziel hat geantwortet, aber nicht mit Erfolg, oder es war gar nicht erreichbar. Meist ist dann nichts angelegt. Kommt die Fehlerantwort aber von einem vorgeschalteten Server oder reißt die Verbindung nach dem Absenden ab, kann der Vorgang dahinter trotzdem angekommen sein. Eine überschrittene Frist heißt dagegen, dass gar keine Antwort kam. Ob das Ticket drüben trotzdem entstanden ist, weiß in diesem Moment niemand im Chat. Deshalb trennt das Protokoll beide Ausgänge und hält den Fehlertext fest, und deshalb trägt der Aufruf einen Einmalschlüssel, auf den wir weiter unten eingehen.

Was der Besucher im Chat liest

Der Besucher sieht den Zustand des Aufrufs in derselben Karte, in der vorher der Vorschlag stand. Er muss also nicht aus dem Ton einer Antwort herauslesen, ob sein Anliegen angekommen ist. Den technischen Fehlertext bekommt er dabei nicht zu sehen: An dessen Stelle steht ein allgemeiner Satz, der Fehlertext selbst bleibt in der Verwaltung. Dafür gibt es zwei gute Gründe. Ein Fehlertext aus einem fremden System hilft dem Besucher nicht weiter, und er kann Einzelheiten über Ihre Anbindung verraten, die im öffentlichen Chat nichts zu suchen haben.

Was nicht zustande kam, wird nicht als eingegangen erzählt

Die Seite zum Assistenten für Dienstleister zieht aus der Frist genau diesen Schluss: „Eine Anfrage, die nicht zustande kam, wird nicht als eingegangen erzählt.“ Dahinter steht eine Regel im Systemtext des Assistenten: Was nicht zurückkam, darf er nicht nennen. Ohne diese Regel liegt die freundliche Bestätigung nahe, weil ein Sprachmodell gern abschließt, was es angefangen hat. Mit ihr bekommt das Modell einen Fehlerblock zu sehen und kein leeres Ergebnis, das sich als Erfolg lesen ließe.

Wie das im Gespräch klingt, zeigt ein Beispiel auf der Seite zu den individuellen Funktionen. Ein Besucher fragt nach seiner Bestellung, bestätigt den Abruf, und die Warenwirtschaft antwortet nicht innerhalb der Frist. Der Assistent sagt dann sinngemäß, dass er keinen Status hat und deshalb keinen nennt, dass er es von allein nicht noch einmal versucht, und fragt, ob er das Anliegen weitergeben soll. Für schreibende Vorgänge gilt dasselbe Muster. Eine gute Meldung in diesem Moment enthält in der Regel diese Bestandteile:

  • Was nicht geklappt hat, in einem Satz und ohne Fachbegriff, etwa: „Das Ticket konnte gerade nicht angelegt werden.“
  • Keine Eingangsbestätigung, weder nach einem Fehlschlag noch nach einer überschrittenen Frist, und keine Ersatzangabe wie eine Vorgangsnummer, die nicht vergeben wurde.
  • Was jetzt noch möglich ist: die Übergabe an eine Person, ein neuer Anlauf durch den Besucher selbst oder ein anderer Kontaktweg.
  • Keine Zusage, wann sich jemand meldet. Wann eine Anfrage bearbeitet wird, entscheidet Ihr Betrieb, nicht der Assistent.
  • Die Zusicherung, dass der bisherige Gesprächsverlauf erhalten bleibt, damit der Besucher nichts zweimal erzählen muss.

Die Frist: acht Sekunden, einstellbar je Werkzeug

Ein Aufruf in ein angebundenes System hat bei XICBOT eine feste Frist. In der Voreinstellung sind es acht Sekunden, je Werkzeug lässt sich der Wert zwischen einer und zwanzig Sekunden setzen. Läuft die Frist ab, ist der Aufruf beendet. Er arbeitet nicht im Hintergrund weiter, während das Gespräch schon weiterläuft, und er endet im Zustand Frist überschritten. Jeder andere Fehler endet als fehlgeschlagen. Dazu zählt etwa eine Weiterleitung, denn ein Ziel, das umleitet, gilt als nicht erreichbar.

Warum eine ausbleibende Antwort nichts über den Ausgang aussagt, zeigt schon die HTTP-Spezifikation. Für den Fall, dass ein Vermittler zwischen zwei Systemen keine rechtzeitige Antwort bekommt, kennt sie einen eigenen Statuscode, die 504. Steht ein solcher Vermittler vor Ihrem System, kommt seine 504 bei XICBOT als fehlgeschlagen an und nicht als Frist überschritten, denn geantwortet hat ja jemand. Der Ausgang ist dann genauso offen. Die Definition spricht nur von der fehlenden Antwort und sagt nichts darüber, ob der Vorgang dahinter ausgeführt wurde:

Der Statuscode 504 (Gateway Timeout) zeigt an, dass der Server, während er als Gateway oder Proxy arbeitete, keine rechtzeitige Antwort von einem dahinterliegenden Server erhalten hat, auf den er zugreifen musste, um die Anfrage abzuschließen.
IETF, RFC 9110 HTTP Semantics, Abschnitt 15.6.5 (Übersetzung aus dem Englischen)

Wer den Beitrag zum Notbetrieb kennt, findet dort für lesende Abfragen ein knapperes Zeitbudget je Fremdsystem empfohlen. Das ist eine Planungsempfehlung für Auskünfte und keine Produktangabe, und sie steht nicht im Widerspruch zur Voreinstellung, denn die Frist ist je Werkzeug einstellbar. Bei schreibenden Vorgängen spricht einiges dafür, nicht zu knapp zu planen. Eine zu kurze Frist macht aus einem langsamen, aber erfolgreichen Anlegen einen Aufruf mit offenem Ausgang. Eine zu lange Frist lässt den Besucher warten, ohne dass er erfährt, warum. Welcher Wert passt, hängt davon ab, wie Ihr System unter Last antwortet, und das lässt sich messen, bevor die Spitze kommt.

Warum nichts nachgeholt wird

Naheliegend wäre, einen gescheiterten Aufruf einfach noch einmal zu schicken. XICBOT tut das nicht: Scheitert ein Aufruf oder überschreitet er die Frist, wird er nicht nachgeholt, weder sofort noch später im Hintergrund. Das Modell sieht den Fehlertext und ist angewiesen zu sagen, dass es nicht geklappt hat, statt ein Ergebnis zu erfinden. Die Zurückhaltung hat einen Grund, den die HTTP-Spezifikation für Anfragen festhält, die nicht idempotent sind:

Ein Client SOLLTE eine Anfrage mit einer nicht idempotenten Methode NICHT automatisch wiederholen, es sei denn, er hat ein Mittel zu wissen, dass die Semantik der Anfrage tatsächlich idempotent ist, unabhängig von der Methode, oder ein Mittel zu erkennen, dass die ursprüngliche Anfrage gar nicht angewendet wurde.
IETF, RFC 9110 HTTP Semantics, Abschnitt 9.2.2 (Übersetzung aus dem Englischen)

Ein Ticket anzulegen ist kein idempotenter Vorgang: Zweimal geschickt, entstehen ohne weitere Vorkehrung zwei Tickets. Nach einer überschrittenen Frist weiß der Assistent zudem nicht, ob die erste Anfrage angekommen ist. Ein automatischer zweiter Versuch wäre in dieser Lage ein Ratespiel auf Kosten Ihres Teams. Die Entscheidung bleibt deshalb beim Menschen. Der Besucher kann sein Anliegen erneut vorbringen und bestätigt dann einen neuen Vorschlag, oder er lässt es an eine Person weitergeben. Nach einer überschrittenen Frist ist die Übergabe oft der sicherere Weg: Ein neuer Vorschlag ist häufig anders formuliert, trägt damit einen neuen Einmalschlüssel und kann im Zielsystem einen zweiten Vorgang anlegen. Worauf es bei der Übergabe ankommt, beschreibt der Beitrag zur Übergabe an Mitarbeiter.

Der Einmalschlüssel: zweimal geklickt, einmal angelegt

Doppelte Einträge entstehen selten aus böser Absicht. Ein Besucher tippt zweimal, weil die erste Reaktion auf sich warten lässt, ein zweiter Tab ist offen, oder die Verbindung reißt im falschen Moment ab. Bei XICBOT trägt deshalb jeder schreibende Schritt, der einen Vorgang anlegt oder ändert, einen Einmalschlüssel. Er entsteht aus Gespräch, Werkzeugschlüssel und sortierter Eingabe und wird per sha256 gebildet; dieselbe Anfrage im selben Gespräch ergibt also denselben Schlüssel. Der Riegel gegen den Doppelklick liegt in der Datenbank und nicht in der Oberfläche. Der Wechsel von vorgeschlagen auf bestätigt läuft als bedingtes Schreiben: Zwei gleichzeitige Klicks führen einmal aus, und der zweite wird als Dublette gemeldet, nicht als Fehler. Innerhalb von XICBOT bekommt ein Vorgang, der von Natur aus nicht idempotent ist, damit die Eigenschaft, die die HTTP-Spezifikation so beschreibt:

Eine Anfragemethode gilt als „idempotent“, wenn die beabsichtigte Wirkung mehrerer identischer Anfragen mit dieser Methode auf dem Server dieselbe ist wie die Wirkung einer einzelnen solchen Anfrage.
IETF, RFC 9110 HTTP Semantics, Abschnitt 9.2.2 (Übersetzung aus dem Englischen)
  • Anfrage aufnehmen: Name, E-Mail, Telefon und Anliegen gehen in das Postfach des Betriebs. Wiederholt sich derselbe Aufruf, wird nichts doppelt angelegt.
  • Interessent in der Kundenverwaltung (crm_lead): Der Doppelklick ist gesperrt; ob ein wiederholter Aufruf drüben nur einmal wirkt, entscheidet Ihr System anhand des Schlüssels.
  • Termin: Zwei Klicks erzeugen keine zwei Anfragen.
  • Übergabe an eine Person: Ein Riegel aus Gespräch und Eingabe verhindert die doppelte Meldung.
  • Bestellung ändern: Der Schlüssel geht in einer Kopfzeile des Abrufs mit, damit das angebundene System einen wiederholten Aufruf erkennen kann.
  • Lesende Aufrufe tragen keinen Einmalschlüssel. Er wird nur dort gebraucht, wo etwas entstehen kann.

Das Protokoll: eine Zeile je Aufruf

Jeder Aufruf hinterlässt eine Zeile, der ausgeführte ebenso wie der abgelehnte und der gescheiterte. Die Zeile wird vor der Ausführung geschrieben und danach fortgeschrieben. Im Protokoll soll nichts stehen, was nicht zurückkam: Scheitert ein Aufruf, wird kein Ergebnis gespeichert, sondern der gekürzte Fehlertext. Der Vorschautext, den der Besucher vor dem Klick gelesen hat, wird beim Anlegen des Vorschlags gespeichert und später nicht neu gebildet. Was im Protokoll steht, ist damit derselbe Wortlaut, den der Besucher bestätigt hat. Eine Zeile hält außerdem Folgendes fest:

  • das Werkzeug, also die benannte Aktion, etwa ticket_create oder callback_note
  • die Eingabe, nachdem alles beschnitten wurde, was nicht im Feldschema steht
  • das Ergebnis, beschränkt auf die Felder, die der Adapter als Ergebnis nennt, und gekürzt
  • die Dauer des Aufrufs
  • den Freigabeweg, also automatisch oder vom Besucher bestätigt (im Testgespräch und über die Schnittstelle: von der Anwendung bestätigt); eine Ablehnung steht im Zustand
  • den Zustand, in dem der Aufruf geendet ist, und bei einem Fehlschlag den gekürzten Fehlertext

Im Chatfenster zeigt das Widget weniger als die Verwaltung: Dauer und Freigabeweg fehlen dort, und den Fehlertext ersetzt ein allgemeiner Satz. Für die Nachbereitung ist deshalb die Verwaltung der Ort. Dort sehen Sie, welche Aufrufe ausgeführt, abgelehnt, gescheitert oder am Deckel hängengeblieben sind. Daraus ergibt sich, welche Frist zu knapp bemessen ist, welches System unter Last nachgibt und welche Aktion als nächste dazukommen sollte. Wie sich solche Aufgaben im Team verteilen lassen, beschreibt der Beitrag zu Rollen und Freigaben im Team.

Vorbereitung vor der Lastspitze

Die meisten Fragen dieses Beitrags lassen sich vor der Black Week klären und nicht erst währenddessen. Bei einer Anbindung über die Tool-Steuerung fahren wir jeden Vorgang vor dem Livegang einmal durch, auch den Fehlweg. Es ist sinnvoll, diesen Durchlauf vor einer erwarteten Spitze zu wiederholen, und zwar mit dem Blick auf die schreibenden Aktionen. Die folgenden Punkte eignen sich als Gerüst:

  • Alle schreibenden Aktionen auflisten und je Aktion festhalten, in welches System sie schreibt und wer dort zuständig ist.
  • Je Werkzeug die Frist prüfen: Reicht der Wert, wenn das Zielsystem unter Last langsamer antwortet, oder wird aus einem erfolgreichen Anlegen ein Aufruf mit offenem Ausgang?
  • Beim Betreuer des Zielsystems nachfragen, ob es den Einmalschlüssel in der Kopfzeile auswertet.
  • Den Fehlweg gezielt auslösen, einmal mit einem Ziel, das nicht antwortet, und einmal mit einem Ziel, das einen Fehler meldet. Dabei prüfen, welcher Satz im Chat erscheint und welche Zeile im Protokoll entsteht.
  • Den Doppelklick ausprobieren: zweimal bestätigen, in zwei Tabs bestätigen und nachsehen, dass im Zielsystem ein einziger Vorgang liegt.
  • Festlegen, wer nach einem lastreichen Tag die Zeilen mit fehlgeschlagen und Frist überschritten durchsieht und wie nachgefasst wird.
  • Die Vorschautexte der schreibenden Aktionen lesen: Benennt jeder die Tat so, dass ein Besucher weiß, was sein Klick auslöst?

Passende Testfälle für den Livegang listet der Beitrag zur Abnahme mit Testfällen auf. Vor der Black Week kommt eine zweite Sorte Anfragen dazu, die nichts anlegt, aber viel Zeit kostet: die Frage, ob es bald günstiger wird. Wie ein Assistent damit umgeht, ohne Rabatte zu erfinden, beschreibt der Beitrag zu Fragen nach künftigen Rabatten.

Was der Assistent bewusst nicht tut

  • Er führt Schreibendes nicht ohne Bestätigung aus. Schreibende Aktionen werden beim Anlegen und Ändern hart auf Bestätigung gesetzt, auch wenn jemand automatisch wählt.
  • Er wiederholt keinen gescheiterten Aufruf und lässt keinen im Hintergrund weiterlaufen.
  • Er nennt kein Ergebnis, das nicht zurückkam, und bestätigt keinen Eingang, den es nicht gibt.
  • Er sagt nicht zu, wann sich jemand meldet. Das entscheidet Ihr Betrieb.
  • Er bewegt kein Geld. Unter den ausgelieferten Anbindungen ist keine, die bezahlt.
  • Er führt je Antwort höchstens fünf Aufrufe aus. Der sechste wird als gedeckelt protokolliert, und der Besucher liest dazu einen eigenen Satz.

Diese Grenzen sind Festlegungen und keine offenen Baustellen. Die Tool- und API-Steuerung gehört zum Paket Individuell. Welche Ihrer Systeme eine Schnittstelle bereitstellen, welche Vorgänge schreibend sind und wie die Fristen stehen sollten, klären wir gern im Erstgespräch. Die Seite zur Tool-Steuerung zeigt den Weg vom Vorschlag bis zur Zeile im Protokoll im Einzelnen.

Häufige Fragen

Was sieht ein Besucher, wenn ein Ticket nicht angelegt werden konnte?

In der Regel einen allgemeinen Satz in derselben Karte, in der vorher der Vorschlag stand, zusammen mit dem Zustand des Aufrufs. Den technischen Fehlertext sieht er nicht, der bleibt in der Verwaltung. Der Assistent meldet keinen Eingang, den es nicht gibt, und bietet typischerweise einen anderen Weg an, etwa die Übergabe an eine Person.

Wie lange wartet der Assistent auf ein angebundenes System?

In der Voreinstellung acht Sekunden je Aufruf. Der Wert lässt sich je Werkzeug zwischen einer und zwanzig Sekunden einstellen. Danach endet der Aufruf im Zustand Frist überschritten und läuft nicht im Hintergrund weiter. Welcher Wert zu Ihrem System passt, hängt davon ab, wie es unter Last antwortet; das lässt sich vorab messen.

Warum versucht der Assistent es nicht automatisch noch einmal?

Weil ein schreibender Vorgang in der Regel nicht idempotent ist: Zweimal geschickt, entstehen ohne Vorkehrung zwei Einträge. Nach einer überschrittenen Frist ist zudem offen, ob die erste Anfrage angekommen ist. Die HTTP-Spezifikation rät für solche Anfragen von automatischen Wiederholungen ab. Der Besucher kann sein Anliegen erneut vorbringen und bestätigt dann einen neuen Vorschlag.

Kann ein Doppelklick zwei Leads oder zwei Termine erzeugen?

Innerhalb von XICBOT ist dafür eine Sperre vorgesehen: Jeder schreibende Schritt, der einen Vorgang anlegt oder ändert, trägt einen Einmalschlüssel, und der Riegel liegt in der Datenbank. Zwei gleichzeitige Klicks auf denselben Vorschlag führen einmal aus, der zweite wird als Dublette gemeldet. Bei angebundenen Fremdsystemen geht der Schlüssel in einer Kopfzeile mit; ob dort ein zweiter Vorgang verhindert wird, hängt davon ab, ob das System ihn auswertet und ob die Eingabe beim zweiten Mal wortgleich ist.

Wo sehe ich, welche Anfragen nicht angekommen sind?

Im Protokoll in der Verwaltung. Jeder Aufruf hat dort eine Zeile mit Eingabe, Ergebnis, Dauer, Freigabeweg und Zustand; bei einem Fehlschlag steht statt eines Ergebnisses der gekürzte Fehlertext. Wer die Zeilen mit fehlgeschlagen und Frist überschritten durchsieht, erkennt in der Regel schnell, wo nachgefasst werden sollte.

Was ist der Unterschied zwischen fehlgeschlagen und Frist überschritten?

Fehlgeschlagen heißt in der Regel, dass das Ziel mit einem Fehler geantwortet hat oder nicht erreichbar war; meist ist dann nichts angelegt. Frist überschritten heißt, dass innerhalb der Frist keine Antwort kam, und der Ausgang ist offen. Auch ein Fehlschlag kann offen sein, etwa wenn ein vorgeschalteter Server den Fehler meldet oder die Verbindung nach dem Absenden abreißt. Ob das Ziel den Vorgang trotzdem verarbeitet hat, kann dann nur Ihr System beantworten. Das Protokoll trennt beide Ausgänge und hält den Fehlertext fest.

Wie handelt ein Assistent in Ihren Systemen?

Die Seite zur Tool-Steuerung zeigt, wie der Assistent über benannte Aktionen angebundene Systeme liest und darin handelt. Schreibende Aktionen gehen zuerst als Vorschlag an den Besucher.

Ihre Anfrage ist angekommen. Wir melden uns persönlich bei Ihnen.

Anfrage in drei Schritten

  1. 1. Anliegen
  2. 2. Ihr Fall
  3. 3. Kontakt

Worum geht es?

Ein Klick genügt, alles Weitere ist freiwillig.

Erzählen Sie kurz von Ihrem Fall

Alle Angaben in diesem Schritt sind freiwillig. Sie helfen uns, gleich mit etwas Konkretem zu antworten statt mit Rückfragen.

Zum Beispiel Kalender, CRM oder Warenwirtschaft

Zum Beispiel einen Status abfragen oder einen Termin anlegen

Wann soll es losgehen? (optional)
Wie erreichen wir Sie?

Name und E-Mail-Adresse genügen. Wir antworten persönlich.

Wir verwenden Ihre Angaben, um Ihre Anfrage zu bearbeiten. Mehr dazu in der Datenschutzerklärung.