Anruf HTTP GET Schnittstelle V2: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 89: | Zeile 89: | ||
|- | |- | ||
| recall | | recall | ||
| Angabe, ob ein Rückruf gewünscht ist | | Angabe, ob ein Rückruf gewünscht ist als "ja" oder "nein" | ||
|} | |} | ||
Version vom 22. August 2025, 10:30 Uhr
📞 Anruf-API – Version 2
Die Anruf-API dient dazu, Anrufe per Webhook in die CRM-Infrastruktur infra-struktur einzutragen und zu aktualisieren. Die Schnittstelle kann per HTTP GET oder POST aufgerufen werden – GET hat Vorrang.
1. Anruf eintragen
Endpoint:
http://[instance]-classic.infra-struktur.[eu|com]/api/calllist/index.php
Pflichtparameter
| Parameter | Beschreibung |
|---|---|
| isdnKey | Der ISDN-Key |
| location | Name eines in der Anrufliste konfigurierten Standortes |
| msn | Name einer in der Anrufliste konfigurierten eingehenden Rufnummer/Nebenstelle |
| number | Rufnummer des Anrufers (muss URL-encodiert werden, z. B. +492941247790 → %2B492941247790)
|
Optionale Parameter
| Parameter | Beschreibung |
|---|---|
| reason | Base64-codierter Grund des Anrufs |
| fileSource | Base64-codierter Inhalt einer Datei |
| fileType | Dateityp (Standard: fax)
|
| mimeType | MIME-Type (Standard: application/download)
|
| timestamp | Unix-Timestamp (Standard: Zeitpunkt des Aufrufs) |
| direction | "in" oder "out" (Standard: in)
|
2. Anruf aktualisieren
Endpoint:
http://[instance]-classic.infra-struktur.[eu|com]/api/calllist/update.php
Pflichtparameter
| Parameter | Beschreibung |
|---|---|
| isdnKey | Der ISDN-Key |
| number | Rufnummer des zu aktualisierenden Anrufs (muss URL-encodiert werden) |
Optionale Parameter
| Parameter | Beschreibung |
|---|---|
| id | ID des Anrufs (hat Vorrang vor number)
|
| reason | Grund (Base64 oder Klartext, bei GET zusätzlich URL-encodiert) |
| reasonAppend | Ergänzung zum Grund (Base64 oder Klartext, bei GET zusätzlich URL-encodiert) |
| acceptedBy | Benutzerkürzel für „angenommen durch“ |
| callFor | Benutzerkürzel für „Anruf für“ |
| recall | Angabe, ob ein Rückruf gewünscht ist als "ja" oder "nein" |
3. Sonderfall: OpenAI Whisper Integration 🎙️
Jede infra-struktur-Instanz verfügt über einen lokalen Whisper-Server, der Audiodateien automatisch transkribiert. Die Transkription wird im Anruf gespeichert, die Originaldatei bleibt zusätzlich im Anruf per Mediaplayer abspielbar.
Parameter
| Parameter | Beschreibung |
|---|---|
| fileSourceRaw | Audiodatei im Binary-Format (nur via POST möglich, wegen Größe und Format) |
4. Fehlercodes
4.1 Fehlende Parameter
| Code | Beschreibung |
|---|---|
| 1001 | isdnKey fehlt |
| 1002 | location fehlt |
| 1003 | msn fehlt |
| 1004 | number fehlt |
4.2 Datenbankverbindung
| Code | Beschreibung |
|---|---|
| 2001 | host fehlt |
| 2002 | username fehlt |
| 2003 | password fehlt |
| 2004 | database fehlt |
| 3001 | Verbindungsfehler (MySQLi) |
4.3 Datenbankabfragen
Fehler bei einzelnen Abfragen, z. B.:
- 3102 – kein Standort mit dem Namen gefunden
- 3105 – MSN ist keine Fax-MSN
- 3113 – Fehler beim Einfügen eines Anrufs in die Calllist
- 3115 – Fehler beim Setzen eines Grundes
(Alle Fehler mit MySQLi-Fehlernummer und Fehlermeldung.)
4.4 API-Fehler
| Code | Beschreibung |
|---|---|
| 4001 | Ungültiger ISDN-Key |
| 4002 | ISDN-Key wurde noch nicht validiert |
| 4101 | Rufnummer zu kurz |
| 4102 | Rufnummer ist ein „Hidden Signal“ |
| 4103 | Anruf liegt innerhalb der Signaltoleranz |
| 4104 | Keine passende Anrufliste für MSN & Standort gefunden |
5. Beispiele
5.1 POST-Beispiel: Audiodatei hochladen & transkribieren (Whisper)
curl -X POST "http://[instance]-classic.infra-struktur.eu/api/calllist/update.php" \ -F "isdnKey=DEIN_ISDN_KEY" \ -F "number=%2B492941247790" \ -F "fileSourceRaw=@anruf.mp3;type=audio/mpeg"
Ergebnis:
- Die Datei anruf.mp3 wird an den Anruf angehängt.
- Der Whisper-Server erzeugt eine Transkription und speichert sie im Anruf.
- Die Originaldatei ist zusätzlich im CRM über einen Mediaplayer abspielbar.
5.2 POST-Beispiel: Audiodatei mit zusätzlichen Parametern
curl -X POST "http://[instance]-classic.infra-struktur.eu/api/calllist/update.php" \ -F "isdnKey=DEIN_ISDN_KEY" \ -F "number=%2B492941247790" \ -F "reason=Kundenrückruf" \ -F "acceptedBy=AB" \ -F "fileSourceRaw=@anruf.mp3;type=audio/mpeg"
Hier wird neben der Audiodatei zusätzlich ein Anrufgrund gesetzt (reason) und ein Bearbeiter eingetragen (acceptedBy).
5.3 GET-Beispiel: Text-Update ohne Datei
curl "http://[instance]-classic.infra-struktur.eu/api/calllist/update.php?isdnKey=DEIN_ISDN_KEY&number=%2B492941247790&reason=Rückruf+gewünscht&acceptedBy=AB"
Ergebnis:
- Der Anruf mit der Nummer
+492941247790wird aktualisiert. - Als Grund wird Rückruf gewünscht gespeichert.
- Der Anruf wird als angenommen durch Benutzer AB markiert.