Konversationen anhand der Kontaktkennung abfragen
Externe Systeme können anhand der Geschäftskennung, E-Mail-Adresse oder vollständigen Telefonnummer eines Kontakts die zugehörigen IDs regulärer Konversationen, deren Erstellungszeitpunkte und aktuelle Status abfragen. Die zurückgegebenen Konversations-IDs können direkt mit den vorhandenen V2-APIs für Konversationsdetails, Nachrichten und weitere Funktionen verwendet werden.
Anfragemethode
GET
Anfrage-URL
https://livedesk-api.engagelab.com/api/v2/accounts/conversations/lookup
Authentifizierung
Diese API verwendet HTTP-Basic-Authentifizierung. Übergeben Sie Authorization im Anfrage-Header mit dem API-Schlüssel als Benutzernamen und dem API-Geheimnis als Passwort. Das den Zugangsdaten zugeordnete Projekt bestimmt den Abfragebereich. Daher müssen Sie die Projekt-ID nicht im Pfad angeben. Weitere Informationen finden Sie in der API-Übersicht.
Wenn die Anfrage account_id enthält, muss dessen Wert mit dem den Zugangsdaten zugeordneten Projekt übereinstimmen. Andernfalls wird 401 zurückgegeben.
Anfrage
Anfragebeispiel
curl -X GET 'https://livedesk-api.engagelab.com/api/v2/accounts/conversations/lookup?type=identifier&value=Customer_123&page=1&page_size=20' \
-H 'Content-Type: application/json' \
-H 'Authorization: Basic base64(api_key:api_secret)'
Bei der Abfrage anhand einer Telefonnummer muss + URL-codiert werden:
GET /api/v2/accounts/conversations/lookup?type=phone&value=%2B15551234567
Anfrage-Header-Parameter
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
Authorization |
string | Ja | Authentifizieren Sie sich mit Authorization: Basic base64(API Key:API Secret). Verbinden Sie den API-Schlüssel und das API-Geheimnis durch einen Doppelpunkt und codieren Sie die Zeichenfolge anschließend in Base64. |
Abfrageparameter
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
type |
string | Ja | Typ des Abfrageattributs. Nur identifier, email und phone sind zulässig. |
value |
string | Ja | Eine nicht leere Zeichenfolge, die exakt mit dem Kontaktattribut abgeglichen wird, das type entspricht. |
page |
integer | Nein | Eine positive ganze Zahl. Der Standardwert ist 1. |
page_size |
integer | Nein | Eine positive ganze Zahl. Der Standardwert ist 20; Werte über 50 werden als 50 behandelt. |
account_id |
integer | Nein | Projekt-ID. Diese muss in der Regel nicht angegeben werden. Wenn sie angegeben wird, muss sie mit dem den Zugangsdaten zugeordneten Projekt übereinstimmen. Andernfalls wird 401 zurückgegeben. |
Abgleichregeln
identifier: Groß- und Kleinschreibung werden berücksichtigt. Der ursprüngliche Wert bleibt erhalten. Ein Abgleich anhand von Teilzeichenfolgen oder Platzhaltern wird nicht unterstützt.email: Führende und nachgestellte Leerzeichen werden entfernt. Das E-Mail-Format wird geprüft, bevor ein exakter Abgleich ohne Berücksichtigung der Groß- und Kleinschreibung erfolgt.phone: Führende und nachgestellte Leerzeichen werden zunächst entfernt. Die Nummer muss vollständig sein,+und die Landesvorwahl enthalten und dem Format vonphone_numberdes Kontakts entsprechen. Die API ergänzt keine Standardlandesvorwahl und unterstützt keinen Abgleich anhand der letzten Ziffern einer Nummer.- GET-Parameter müssen korrekt URL-codiert werden. Insbesondere muss
+in Telefonnummern als%2Bcodiert werden.
Abfragebereich und Sortierung
Kontakte und Konversationen werden ausschließlich innerhalb des den Zugangsdaten zugeordneten Projekts abgefragt. Die API gibt alle regulären Konversationen zurück, die dem Kontakt über sämtliche Posteingänge des Projekts zugeordnet sind (conversation_category=chat). Ticket-Konversationen sind ausgeschlossen. Es wird nicht nach dem aktuellen Agenten, dem zuständigen Bearbeiter oder dem Posteingang gefiltert.
Reguläre Konversationen werden mit allen Status zurückgegeben: open, resolved, pending, snoozed und closed. Diese API bietet keine Statusfilterung. Selbst wenn status angegeben wird, werden die Ergebnisse nicht eingeschränkt.
Die Ergebnisse werden absteigend nach dem Erstellungszeitpunkt der Konversation sortiert. Bei gleichen Erstellungszeitpunkten erfolgt die Sortierung absteigend nach dem internen Primärschlüssel der Konversation. Solange sich die Daten nicht ändern, bleibt die Reihenfolge der Seitennavigation stabil. Seitenbasierte Seitennavigation garantiert keinen konsistenten Datenstand, während gleichzeitig Konversationen erstellt oder gelöscht werden.
Antwort
Erfolgreiche Antwort
HTTP 200:
{
"meta": {
"count": 2,
"current_page": 1,
"page_size": 20,
"total_pages": 1
},
"payload": [
{
"id": 202609000000002,
"created_at": 1788739200,
"status": "closed",
"inbox_id": 12,
"contact_id": 901
},
{
"id": 202609000000001,
"created_at": 1788652800,
"status": "open",
"inbox_id": 10,
"contact_id": 901
}
]
}
Antwortparameter
| Feld | Typ | Beschreibung |
|---|---|---|
| meta | object | Metadaten zur Seitennavigation. |
| count | integer | Gesamtzahl der übereinstimmenden regulären Konversationen, einschließlich aller Status und unabhängig von der Seitennavigation. |
| current_page | integer | Aktuelle Seitennummer. |
| page_size | integer | Tatsächliche Anzahl von Einträgen pro Seite; 50, wenn der angeforderte Wert größer als 50 ist. |
| total_pages | integer | Gesamtzahl der Seiten; 0, wenn keine Ergebnisse vorliegen. |
| payload | array | Liste der Konversationen auf der aktuellen Seite. |
| id | integer | Externe Konversations-ID, nämlich conversations.display_id. Sie kann direkt mit den vorhandenen V2-APIs für Konversationsdetails, Nachrichten und weitere Funktionen verwendet werden. |
| created_at | integer | Erstellungszeitpunkt der Konversation als Unix-Zeitstempel in Sekunden. |
| status | string | Aktueller Konversationsstatus: open, resolved, pending, snoozed oder closed. |
| inbox_id | integer | ID des zugehörigen Posteingangs. |
| contact_id | integer | ID des gefundenen Kontakts. |
Wenn der Kontakt nicht existiert, keine regulären Konversationen hat oder die angeforderte Seite die Gesamtzahl der Seiten überschreitet, wird HTTP 200 zurückgegeben. In allen drei Fällen ist payload ein leeres Array; meta.count enthält stets die tatsächliche Gesamtzahl der Ergebnisse.
Die Antwort enthält nur die oben aufgeführten Felder und gibt keine Nachrichten, Anhänge oder persönlichen Kontaktinformationen zurück.
Fehlerantwort
Fehlerantworten verwenden die folgende Struktur. Fehlerbeschreibungen geben den Abfragewert nicht wieder:
{
"error": "Error description"
}
| HTTP-Statuscode | Szenario |
|---|---|
401 |
Die Zugangsdaten sind ungültig, deaktiviert oder abgelaufen, oder account_id in der Anfrage stimmt nicht mit dem den Zugangsdaten zugeordneten Projekt überein. |
409 |
Aufgrund historischer Daten stimmen mehrere Kontakte innerhalb desselben Projekts überein. Die API wählt keinen dieser Kontakte willkürlich aus. Verwenden Sie stattdessen den eindeutigen identifier für die Abfrage. |
422 |
type fehlt oder wird nicht unterstützt; value fehlt, ist leer, ist keine Zeichenfolge oder hat ein falsches Format; oder ein Parameter für die Seitennavigation ist keine positive ganze Zahl. |
Nutzungshinweise
- Diese API ergänzt ausschließlich die Abfragefunktion und verändert keine Kontakt- oder Konversationsdaten.
- Die API unterstützt keine Kontaktsuche mittels unscharfen Abgleichs. Stellen Sie sicher, dass der im externen System gespeicherte
identifier, die E-Mail-Adresse oder die Telefonnummer mit dem entsprechenden Kontaktattribut in LiveDesk übereinstimmt. - Um Konversationen aus den Abfrageergebnissen zu bearbeiten, verwenden Sie beim Aufrufen der entsprechenden V2-APIs
payload[].idaus der Antwort als externe Konversations-ID.










