Ein Softwarehaus betreibt für Teilehändler ein eigenes Ticket- und Chatsystem. Die Kunden sollen schneller Antworten bekommen, aber niemand will, dass ein Sprachmodell selbstständig Adressen ändert oder Rücksendeetiketten verschickt. Die Frage ist also nicht, ob automatisch geantwortet wird, sondern wer handeln darf.
Die Hub-Schnittstelle des Agenten trennt beides sauber: Ein Zug liefert die Antwort und eine Liste von actions, die Ihr System ausführen soll. Was requiresConfirmation trägt, geschieht erst, wenn Ihr System es im nächsten Zug bestätigt. Der Agent formuliert, Ihr System handelt.
| Fläche | Rollen |
|---|---|
| Verkaufsagent | Softwarehaus, Plattform und Marktplatz, Teilehandel |
Was dieser Fall voraussetzt
- Ein eingerichtetes Profil.
POST /agent/conversationsverlangt eineprofileId; ohne Profil gibt es keine Anweisung, keinen Ton und keine Befugnisse. - Eigene Werkzeuge für die Aktionen. Was der Agent vorschlägt, muss Ihr System ausführen können — eine Sendungsauskunft, eine Adressänderung, ein Rücksendeetikett.
- Eine Stelle, die Bestätigungen einholt. Eine Aktion mit
requiresConfirmationwartet auf ein ausdrückliches Ja. - Den API-Schlüssel auf dem Server. Diese Schnittstelle ist für Ihr Backend gedacht, nicht für den Browser des Kunden.
Der Ablauf
Die Tabelle nennt je Stufe den zuständigen Aufruf und das, was danach vorliegt. Die Begründung, warum die Stufe nicht übersprungen werden kann, steht darunter.
| Stufe | Aufruf | Was danach vorliegt |
|---|---|---|
| Vertrag lesen | GET /agent/capabilities | actionTypes, intents und limits — einmal bei der Anbindung statt fest eingetragen |
| Gespräch anlegen | POST /agent/conversations | profileId als Pflichtfeld, optional channel und threadKey; zurück kommen conversationId und greeting |
| Zug ausführen | POST /agent/conversations/{conversationId}/messages | reply und actions; requiresConfirmation wartet auf Ihre Bestätigung im nächsten Zug |
| Ohne Zug anhängen | POST /agent/conversations/{conversationId}/ingest | author end_user oder note — gespeichert, ohne das Modell zu fragen |
| Gespräch schliessen | POST /agent/conversations/{conversationId}/close | outcome wie sold, not_sold oder handed_over, dazu orderRef |
Warum jede Stufe nötig ist
- Den Vertrag lesen.
GET /agent/capabilitiesnennt Formate, Kanäle,actionTypes,intentsundlimits. Der Vertrag empfiehlt ausdrücklich, ihn einmal bei der Anbindung zu lesen, statt Grenzen fest einzutragen — sonst veraltet Ihre Integration mit der nächsten Erweiterung still. - Das Gespräch anlegen.
POST /agent/conversationsverlangtprofileIdund nimmt optional unter anderemchannel,threadKey,subjectundexternalRef. Welche WirkungthreadKeybeim Anlegen hat, beschreibt der Vertrag nicht;GET /agent/inbox/conversationslässt sich nachthreadKeyals genauem Verlaufsschlüssel filtern. - Den Zug ausführen.
POST /agent/conversations/{conversationId}/messagesliefertreply,intent,needsHuman,findingsundactions. Jede Aktion trägttype—customer_tool,hub_call,handoffoderrequest_photo— und gegebenenfallsrequiresConfirmation. Die Ergebnisse gehen im nächsten Zug alstoolResultszurück, die Bestätigungen alsconfirmations. - Ohne Zug anhängen.
POST /agent/conversations/{conversationId}/ingestspeichert eine Nachricht oder eine interne Notiz mitauthorend_userodernote, ohne das Modell zu fragen. Das ist der Weg für Gespräche, die gerade ein Kollege führt. - Das Gespräch schliessen.
POST /agent/conversations/{conversationId}/closenimmtoutcome— etwasold,not_sold,handed_overoderspam— und optionalorderRef. Der Abschluss ist keine Formalie: Erst mit ihm lässt sich auswerten, was der Agent tatsächlich bewirkt hat.
curl -X POST \
-H 'X-Api-Key: <API_KEY>' \
-H 'Content-Type: application/json' \
-d '{"confirmations":[{"actionId":"<actionId>","confirmed":true}]}' \
'https://api.tapinomahub.com/hub/index.php/agent/conversations/<conversationId>/messages'Was am Ende vorliegt
Am Ende antwortet Ihr System schneller, ohne dass der Agent je selbst etwas an einem Auftrag verändert. Jede Handlung geht durch Ihre Werkzeuge, jede heikle Handlung durch eine Bestätigung — und jedes Gespräch endet mit einem auswertbaren Ergebnis.
Wo das in der Dokumentation steht
Die verbindlichen Feldlisten, Fehlercodes und Beispielantworten stehen im OpenAPI-Vertrag dieser Fläche unter docs.tapinomahub.com (tapinoma-agent). Alle Anwendungsfälle nach Fläche und Rolle geordnet: Übersicht der Anwendungsfälle.
Quellen und Rechtsgrundlagen
Häufige Fragen
Führt der Agent Aktionen selbst aus?
Nein. Er liefert sie als Vorschlag in actions. Ihr System führt sie aus und meldet das Ergebnis im nächsten Zug als toolResults.
Wozu gibt es ingest, wenn es doch Züge gibt?
Für Nachrichten, auf die das Modell nicht antworten soll — etwa wenn ein Kollege das Gespräch führt oder eine interne Notiz dazugehört. Solche Nachrichten fragen das Modell nicht.
Muss ich Grenzen wie die Nachrichtenlänge selbst pflegen?
Nein. Sie stehen in GET /agent/capabilities unter limits. Lesen Sie sie bei der Anbindung, statt sie fest einzutragen.
