Zum Inhalt springen

Chats

Dieses Modul beschreibt die API-Endpunkte zur Verwaltung von Chats. Ein Chat kann mit verschiedenen Kontexten verbunden sein (z. B. Vertrag, Team, Support-Ticket), aber auch kontextlos sein. Die Endpunkte erlauben das Erstellen, Bearbeiten, Abrufen und Auflisten von Chats.


AttributBeschreibungDetails
agents_enabledKI-gestützte Agenten aktiviertKann derzeit nicht gesetzt werden. Mögliche Werte: true oder false.
context_idID des Chat-KontextesKann nicht manuell gesetzt werden.
context_typeTyp des Chat-KontextesKann nicht gesetzt werden. Zulässige Werte: 'contract' (Vertrag), 'direct_conversation' (Direktnachricht), 'offboarding' (Offboarding), 'onboarding' (Onboarding), 'support_ticket' (Support Ticket), 'team' (Team) oder null.
discarded_atZeitpunkt der Entfernung (oder null)Kann nicht manuell gesetzt werden.
latest_message_idID der letzten Nachricht im ChatKann nicht gesetzt werden. Darf leer sein.
openOffener oder geschlossener ChatKann nur beim Update gesetzt werden. Werte: true oder false.
subjectBetreff des ChatsMuss gesetzt werden.

Folgende Beziehungen können mit dem Parameter include in den Request eingebunden werden:

BeziehungTypBeschreibung
bookmarkhas_oneDie Lesezeichenbeziehung zwischen dem Chat und dem aktuellen Benutzer, um herauszufinden, ob in dem Chat ungelesene Nachrichten vorhanden sind.
latest_messagebelongs_toDie letzte Nachricht im Chat.

Können über den meta[permissions]-Parameter in den Request eingebunden werden. Sie geben an, welche Aktionen der aktuelle Benutzer in einem Chat ausführen kann.

GruppeBeschreibung
actionsGibt an, ob der Benutzer den Chat 'edit' (bearbeiten) kann.
chat_membershipGibt an, ob der Benutzer Mitglieder im Chat verwalten (manage) kann
messageGibt an, ob der Benutzer Nachrichten lesen (read) oder erstellen (create) darf

Mit diesem Endpunkt kannst du einen neuen, kontextlosen Chat erstellen.


POST /api/v1/chats


{
"data": {
"type": "chat",
"attributes": {
...
}
}
}

{
"data": {
"id": "556ed4f1-d99d-43da-ac2c-0317bd6b9b59",
"type": "chat",
"attributes": {
...
}
}
}

Mit diesem Endpunkt kannst du einen bestehenden Chat aktualisieren, z.B. den Betreff ändern oder den Status auf offen oder geschlossen setzen. Beachte, dass du keine Kontext-IDs oder -Typen manuell setzen kannst, da diese automatisch verwaltet werden.


PUT /api/v1/chats/:chat_id


NameBeschreibung
chat_idDie ID des Chats, der bearbeitet wird.

{
"data": {
"id": "6d500de8-afc5-4816-ad8d-1b191b97bfd3",
"type": "chat",
"attributes": {
...
}
}
}

Mit diesem Endpunkt kannst du die Details eines einzelnen Chats abrufen.


GET /api/v1/chats/:chat_id


NameBeschreibung
chat_idDie ID des Chats, der abgerufen wird.

{
"data": {
"id": "6d500de8-afc5-4816-ad8d-1b191b97bfd3",
"type": "chat",
"attributes": {
...
}
}
}

Chat mit allen Berechtigungen abrufen:

GET /api/v1/chats/:chat_id?&meta[permissions]=actions,chat_membership,message


Chat mit Lesezeichen und letzter Nachricht abrufen:

GET /api/v1/chats/:chat_id?include=bookmark,latest_message


Mit diesem Endpunkt kannst du alle Chats abrufen, in denen der aktuelle Benutzer Mitglied ist.


GET /api/v1/chats


{
"data": [
{
"id": "ff96a49e-c57c-4a89-a910-ddbd2f85c8fe",
"type": "chat",
"attributes": {
...
}
},
{
...
}
]
}

Alle Chats des aktuellen Benutzers auflisten:

GET /api/v1/chats


Alle offenen Chats auflisten:

GET /api/v1/chats?filter[open]=eq:true


Alle Chats mit ihren jeweiligen Lesezeichen und letzten Nachrichten auflisten:

GET /api/v1/chats?include=bookmark,latest_message


Alle Chats und die Aktionen, die der aktuelle Benutzer ausführen kann, auflisten:

GET /api/v1/chats?meta[permissions]=actions,chat_membership,message


Alle Chats, die den Begriff „Support“ im Betreff enthalten:

GET /api/v1/chats?filter[subject]=ct:Support