---
title: "Dokumentation ACD Callback API - telegra ACD"
canonical: "https://help.telegra.de/space/TAK/5177704552/Dokumentation%20ACD%20Callback%20API%20-%20telegra%20ACD"
format: markdown
---
|  |  |
| --- | --- |
| Veröffentlichungsdatum | 29.4.2024 |
| Gültig ab ACD Version | 8.4.0 |

  


# About

Zusätzlich zur Standard-HTTP-API bietet das ACD-System auch eine **CallBack-API**, um **asynchrone Statusmeldungen** an ein Drittsystem zu übermitteln. 

Für die Nutzung der CallBack-API ist es erforderlich, ein **Servlet oder ein CGI-Skript** auf Deiner Seite zu **implementieren**, um die CallBack-API-Benachrichtigungen vom ACD-System zu empfangen.

Die Benachrichtigungen werden **je nach Konfiguration als HTTP-HEAD-, GET- oder PUT-Anfragen** übermittelt. Die ausgehende IP-Adresse ist die externe IP des sendenden ACD-Systems. Um diese zu ermitteln, kannst Du einfach Deine acd-Domäne anpingen.

Im Folgenden stellen wir Dir eine Beschreibung der **Nachrichtentypen** zur Verfügung, die die ACD senden kann. Das Unterscheidungsmerkmal ist der Parameter "cmd".  



# Nachrichtentypen

- agentstate
- callevent
- recordedcall
- classificationevent
- schedulecallevent
- configchanged



# Rufnummern

Rufnummern können auf drei verschiedene Arten formatiert werden:

|  |  |  |
| --- | --- | --- |
|  |  | **Beispiele** |
| **Format setting** | **Beschreibung** | **Nationale Rufnummern in Deutschland** | **Internationale Rufnummern** |
| **ACD Format** | **Nationale Rufnummern in Deutschland **beginnen mit einer führenden Null, gefolgt von der Ortsdurchwahl.<br>**Internationale Rufnummern **werden im internationalen Format mit zwei führenden Nullen dargestellt. | 02212601599 | 0015552243 |
| **FQTN mit doppeltem Null-Präfix** | Alle Rufnummern werden im **internationalen Format** dargestellt, das heißt, sie beginnen mit **zwei führenden Nullen**. | 00492212601599 | 0015552243 |
| **FQTN mit Plus-Präfix** | Alle Telefonnummern werden im **internationalen Format** dargestellt, das heißt, sie beginnen mit einem **Pluszeichen („+“).** | +492212601599 | +15552243 |



# > Macro (anchor)

agentState

Die **agentState-Notification** informiert Dich über den **aktuellen Status eines Agents**.


**Parameter für agentState:**

| **Parameter** | **Value** | **Beschreibung** |
| --- | --- | --- |
| cmd | agentState | Benachrichtigungstyp. |
| agentid | Eine 6-stellige Zahl. | Die sechsstellige Agenten-ID, die von der ACD vergeben wird. |
| mode | 0 / 1 | 0 = Inbound   
1 = Outbound |
| state | <string> | Der aktuelle Agentenstatus. |
| hotline | <string> | Optional: Wenn "Mode" den Wert 0 (Inbound) hat und der "State" entweder "Alerting" oder "Connected" ist, enthält dieser Parameter den Namen der beteiligten Hotline. |
| hotlineid | <integer> | Optional: Wenn "Mode" den Wert 0 (Inbound) hat und der "State" entweder "Alerting" oder "Connected" ist, enthält dieser Parameter die interne ID der beteiligten Hotline. |
| group | <string> | Optional: Wenn "Mode" den Wert 0 (Inbound) hat und der "State" "Connected" ist, enhält dieser Parameter den Namen der beteiligten Gruppe. |
| groupid | <integer> | Optional: Wenn "Mode" den Wert 0 (Inbound) hat und der "State" "Connected" ist, dann enthält dieser Parameter die interne ID der beteiligten Gruppe. |
| mandator | <string> | Optional: Wenn "Mode" den Wert 1 (Outbound) hat, und der "State" nicht "Outonline" ist, dann enthält dieser Parameter den Namen des angewählten Mandanten. |
| mandatorid | <integer> | Optional: Wenn "Mode" den Wert 1 (Outbound) hat, und der “State” nicht "Outonline" ist, dann enthält dieser Parameter die interne ID des angewählten Mandanten. |
| callingnumber | <string> | Optional:  
Wenn "Mode" den Wert 0 (Inbound) hat und der "State" entweder "Alerting" oder "Connected" ist, dann enthält dieser Parameter die Rufnummer des Anrufers.<br>Wenn "Mode" den Wert 1   
(Outbound) hat und der "State" nicht "Outonline" ist, dann enthält dieser Parameter die Rufnummer des Agenten. |
| callednumber | <string> | Optional:  
Wenn "Mode" den Wert 0 (Inbound) hat, und der "State" entweder "Alerting" oder "Connected" ist, dann enthält dieser Parameter die gewählte Servicenummer.   
  
Wenn "Mode" den Wert 1 (Outbound) hat und der “State” nicht "Outonline" ist, dann enthält dieser Parameter die gewählte Rufnummer. |
| dialer | 0 / 1 | Wenn "mode" = 1 (Outbound) ist und ein mass call event für den Agenten läuft, dann wird "dialer" auf 1 gesetzt.   
  
Wenn der Agent einen einfachen Anruf tätigt, dann ist "dialer" = 0.   
  
Dieser Parameter wird nicht gesetzt wenn “mode" = 0. |
| requesttext | <string> | Optional:  
Wenn "Mode" den Wert 1 (Outbound) hat und der "State" entweder "Outalerting", "Balerting" oder "Outconnect" ist, enthält dieser Parameter Informationen zur gewählten Rufnummer (wenn diese im Outbound-Request konfiguriert wurde). |
| eventtime | <numerical> | Zeitstempel der signal generation in Anzahl der Millisekunden seit dem 1. Januar 1970, 00:00:00 GMT. |
| agentphonenumber | <string> | Die Rufnummer des Agenten. |
| taskid | String mit 24 Zeichen | Anruf-ID (nur vorhanden, wenn sich ein Anruf gerade im Prozess befindet, z. B. bei "Alerting", "Connected", "Outalerting", usw.). |
| customerNumber | <integer> | Kundennummer |
| agent_id | <integer> | Agent Resource ID |
| pause-reason | <string> | Wenn der "agentState" entweder "paused" oder "outpaused" ist, denn enthält dieser Parameter den Pausengrund. |
| agentName | <string> | Der Name des Agenten. |


  
**Die möglichen Werte für den Parameter "state" sind in Inbound- und Outbound-Zustände unterteilt:**

## **Inbound**

| **State** | **Beschreibung** |
| --- | --- |
| offline | Der Agent ist nicht verfügbar und kann keine Anrufe entgegennehmen. |
| online | Der Agent ist verfügbar und kann Anrufe entgegennehmen. |
| alerting | Ein eingehender Anruf wird signalisiert. |
| connected | Agent und Anrufer sind verbunden. |
| timeouted | Der Agent hat einen eingehenden Anruf nicht angenommen. |
| busy | Der Agent ist mit einem externen, nicht über die ACD gesteuerten Anruf beschäftigt, z. B. wurde er direkt angerufen. |
| working | Der verbundene Anruf ist beendet und der Agent kann die anrufbezogenen Informationen verarbeiten. |
| paused | Der Agent befindet sich im Pausenmodus. |



## **Outbound**

| **State** | **Beschreibung** |
| --- | --- |
| outonline | Der Agent befindet sich im Outbound-Modus. Er wird keine Anrufe entgegennehmen. |
| outalerting | Erster Schritt eines Outbound-Anrufs: Ein initiierter Anruf wird dem anrufenden Agenten signalisiert. |
| outbusy | Der Agent ist mit einem externen, nicht über die ACD gesteuerten Anruf beschäftigt, z. B. wurde er direkt angerufen. |
| outtimeouted | Der Agent hat einen eingehenden Anruf nicht angenommen. |
| balerting | Zweiter Schritt eines Outbound-Anrufs: Der initiierte Anruf klingelt beim Kunden. |
| bbusy | Die Rufnummer des Kunden ist besetzt. |
| btimeout | Der Kunde hat den Anruf nicht angenommen. |
| bunassigned | Die Zielnummer ist nicht zugewiesen. |
| bconnected | Der Kunde hat den Anruf angenommen. |
| outconnect | Die Verbindung zwischen Agent und Kunde wurde hergestellt. |
| outworking | Der verbundene Anruf ist beendet und der Agent kann die anrufbezogenen Informationen verarbeiten. |
| outpaused | Der Agent befindet sich im Pausenmodus. |



# > Macro (anchor)

callevent

Die callevent-Notification liefert Informationen zu jedem Anrufereignis.


**Parameter für callevent:**

| **Parameter** | **Value** | **Beschreibung** |
| --- | --- | --- |
| cmd | callevent | Benachrichtigungstyp. |
| id | <long> | Eindeutige event-ID. |
| taskid | 24 characters string | Call-ID. |
| eventtype | <string> | event type. |
| eventtime | <string> | Zeitstempel des call events. |
| hotlineid | <integer> | Hotline-ID. |
| groupid | <integer> | Gruppen-ID. |
| agentid | A 6-digit number | 6-stellige Agentennummer, die von der ACD vergeben wurde. |
| mode | 0 / 1 | 0 = Inbound   
1 = Outbound |
| mailboxid | <integer> | Mailbox-ID. |
| mandatorid | <integer> | Mandanten-ID. |
| announcementid | <integer> | Announcement-ID. |
| callingnumber | <string> | Die Rufnummer des Anrufers. Bei aktivierter Rufnummernunterdrückung werden die letzten drei Ziffern durch ‘xxx’ ersetzt. |
| callednumber | <string> | Die gewählte Rufnummer. |
| tried | 0 / 1 | Nur vorhanden, wenn event type = "CallEnd"<br>0 = keine Rufauslösung erfolgt, 1 = Rufauslösung erfolgt. |
| connected | 0 / 1 | Nur vorhanden, wenn event type = "CallEnd"<br>0 = Verbindung wurde nicht hergestellt, 1 = Verbindung wurde hergestellt. |
| agent_id | <integer> | Agent Resource ID. |
| conf_agent | A 6-digit number | Eine sechsstellige Agentennummer des Zielagenten, die von der ACD beim Makeln vergeben wird. |
| conf_number | <string> | Externe Zielnummer beim Makeln. |
| conf_agent_terminated | <string> | Die Rufnummer des Agenten, der das Makeln beendet hat. |
| conf_number_terminated | <string> | Die externe Rufnummer, die das Makeln beendet hat. |
| customerNumber | <integer> | Kundennummer. |
| target_number | <string> | Die Zielnummer beim Weiterleiten eines Anrufs an eine externe Rufummer. |
| conf_target | <string> | Der ausgewählte Makel-Typ (Agent/Gruppe/Rufnummer). Dieser Parameter wird nach Beendigung des Gesprächs übermittelt. |
| conf_target_id | <string> | Die ausgewählte Ziel-ID für das gemakelte Gespräch, wenn das Ziel ein Agent oder eine Gruppe ist,   
oder die Zielrufnummer, wenn das Ziel eine externe Rufnummer ist.   
Dieser Parameter wird nach Beendigung des Gesprächs übermittelt. |
| conf_target_terminated | <boolean> | Dieser Parameter zeigt an, welche Seite das gemakelte Gespräch beendet hat. Wenn das Makel-Ziel den Anruf beendet, ist der Wert true. Wenn der Anrufer den Call beendet, ist der Wert false. Dieser Parameter wird nach Beendigung des gemakelten Gesprächs übermittelt. |
| recording | 0 / 1 | Recording = 1 : Das Gespräch wird automatisch aufgezeichnet.<br>Recording = 0: Das Gespräch wird nicht automatisch aufgezeichnet. |
| callInternal | <boolean> | Dieser Parameter zeigt an, ob es sich bei diesem Gespräch um einen internen Anruf zwischen zwei Agenten handelt.   
Der Parameter ist sowohl im ausgehenden Outbound Call als auch im eingehenden Inbound Call enthalten. |

  


**Die möglichen Werte für den Parameter "event type" sind:**

| **Event type** | **Beschreibung** |
| --- | --- |
| CallStart | Erstes Ereignis eines neuen Anrufs. |
| Alerting | Die Verbindung wird aufgebaut. |
| Timeout | Der Zielteilnehmer hat den Anruf nicht angenommen. |
| BTimeout | Der Zielteilnehmer hat den ausgehenden Anruf nicht angenommen (nur bei Outbound). |
| Busy | Zielteilnehmer ist besetzt. |
| BBusy | Zielteilnehmer ist besetzt (nur ausgehende Anrufe). |
| Connected | Anrufer verbunden. |
| AConnected | Der Agent, der den ausgehende Anruf tätigt, ist erfolgreich verbunden (nur bei ausgehenden Anrufen). |
| BConnected | Der Kunde hat den Outbound-Anruf angenommen (nur bei ausgehenden Anrufen). |
| ForwardAgent | Der Anruf wird an einen Agenten weitergeleitet. |
| ForwardGroup | Der Anruf wird an eine Gruppe weitergeleitet. |
| ForwardHotline | Der Anruf wird an eine Hotline weiterleitet. |
| ForwardNumber | Der Anruf wird an eine externe Nummer weitergeleitet. |
| ConfAgent | Ein Makelgespräch mit einem Agenten wurde gestartet. |
| ConfGroup | Ein Makelgespräch mit einer Gruppe wurde gestartet. |
| ConfNumber | Ein Makelgespräch mit einer externen Rufnummer wurde gestartet. |
| ConfBusy | Die Rufnummer des Zielteilnehmers ist besetzt. |
| ConfTimeout | Der Zielteilnehmer hat den Anruf nicht angenommen. |
| ConfConnected | Der Anrufer ist verbunden. |
| ConfEnd | Das gemakelte Gespräch wurde beendet und der Kunde spricht nun mit dem Agenten. |
| WaitingQueue | Der Anruf wurde in eine Warteschlange gestellt. |
| Mailbox | Der Anruf wurde mit einer Mailbox verbunden. |
| Announcement | Beginn einer Ansage. |
| Rejected | Der Anruf konnte nicht mit einer ACD-Ressource verbunden werden, z. B. weil alle Agenten ausgelastet sind und die Warteschlange voll ausgelastet ist. |
| BadCall | Der Anruf konnte nicht verbunden werden, da ein Fehler im SS7-Protokoll aufgetreten ist, z. B. wurde der maximale Hop-Counter überschritten. |
| CallEnd | Der Anruf wurde beendet. |
| Holdstart | Der Anruf wurde von einem Agenten in die Warteschleife gelegt. |
| Holdstop | Der Anruf wird nicht länger gehalten. |
| ConfConnectedWithAgent | Der Agent überträgt den Anruf an einen anderen Agenten und ist mit diesem verbunden, während der Anrufer in der Warteschleife bleibt. |
| ConfConnectedWithCaller | Der Agent hat die Weiterleitung unterbrochen und spricht wieder mit dem Anrufer, während die Zielperson der Weiterleitung weiterhin wartet. |
| ConfConnectedWithNumber | Der Agent leitet den Anruf an eine externe Rufnummer weiter und ist mit dieser verbunden, während der Anrufer in der Warteschleife wartet. |
| ConfConference | Der Agent startet einen gemakelten Anruf und ist mit beiden Gesprächspartnern verbunden. |
| ConfTransfer | Der Agent übergibt den Anruf an die Zielrufnummer. |
| Working | Der Agent befindet sich in der Nachbearbeitungszeit eines eingehenden Gesprächs. |
| OutWorking | Der Agent befindet sich in der Nachbearbeitungszeit eines ausgehenden Gesprächs. |
| Recording | Der Anruf wird automatisch aufgezeichnet. |

  


# > Macro (anchor)

recordedcall

Die "recordedcall-Notification" enthält Informationen zu einem aktuell aufgezeichneten Anruf.


**Parameter für recordedcall:**

| **Parameter** | **Value** | **Beschreibung** |
| --- | --- | --- |
| cmd | recordedcall | Benachrichtigungstyp. |
| taskid | 24 characters string | Call-ID. |
| agentid | A 6-digit number | 6-stellige Agentennummer, die von der ACD vergeben wurde. |
| mode | 0 / 1 | 0 = Inbound   
1 = Outbound |
| eventtime | <string> | Zeitstempel des Starts des Anrufs. |
| agent_id | <integer> | Agent Resource ID. |
| customerNumber | <integer> | Kundennummer. |


# > Macro (anchor)

classificationevent

Die Benachrichtigung "classification event" stellt Informationen zu allen classification-events bereit.


**Parameter für classification event:**

| **Parameter** | **Value** | **Beschreibung** |
| --- | --- | --- |
| cmd | classificationevent | Benachrichtigungstyp. |
| callid | A number | Call-ID. |
| timestamp | <string> | Zeitpunkt, zu dem der Agent den Anruf klassifiziert hat. |
| agent | A 6-digit number | 6-stellige Agentennummer, die von der ACD vergeben wurde. |
| classificationreason | <string> | Die ausgewählte Klassifizierung. |
| hotlineid | A number | Optional, wird nur bei Modus 0 (Inbound) gesendet: Hotline-ID, die durch die ACD vergeben wird. |
| mandatorid | A number | Optional, wird nur bei Modus 1 Outbound gesendet: Die von der ACD vergebene Mandanten-ID. |
| classificationcategoryid | A number | Die von der ACD vergebene Klassifizierungskategorie-ID. |
| mode | 0 / 1 | 0 = Inbound   
1 = Outbound |
| agent_id | <integer> | Agent Resource ID. |
| customerNumber | <integer> | Kundennummer. |
| eventtime | <numerical> | Zeitpunkt, zu dem der Agent den Anruf klassifiziert hat. |


# > Macro (anchor)

schedulecallevent

Die schedulecallevent-Notification stellt Informationen zu einem Anruf, der soeben terminiert wurde, bereit.


**Parameter für schedulecallevent:**

| **Parameter** | **Value** | **Beschreibung** |
| --- | --- | --- |
| cmd | schedulecallevent | Benachrichtigungstyp. |
| scheduleid | <number> | Die eindeutige ID des terminierten Anrufs. |
| agentid | <integer> | Die von der ACD vergebene eindeutige ID des Agenten. |
| callednumber | <string> | Die angerufene Nummer. |
| timefrom | <string> | Zeitstempel im Format HH:MM, z. B. 17:20. |
| timeto | <string> | Zeitstempel im Format HH:MM, z. B. 17:20. |
| weekdays | 0/1 | Flag, ob der Anruf für Werktage geplant ist. |
| saturday | 0/1 | Flag, ob der Anruf für Samstage geplant ist. |
| sunday | 0/1 | Flag, ob der Anruf für Sonntage geplant ist. |
| nextretrystartdate | <Date> | Nextretrystartdate und nextretryenddate bilden ein Intervall, innerhalb dessen versucht wird, den Anruf zu initiieren.  
Datumsformat: YYYY-MM-DD HH:MM. |
| nextretryenddate | <Date> | Siehe nextretrystartdate. Datumsformat: YYYY-MM-DD HH:MM. |
| agenttype | <string> | ONLY_AGENT oder EVERYONE |
| requesttext | <string> | Der Anfragetext. |
| schedulestartdates | <string> | Die geplanten Anrufdaten. Bei mehreren Einträgen sind die Daten durch ein Semikolon (';') voneinander getrennt. |
| agent_id | <integer> | Agent Resource ID. |
| customerNumber | <integer> | Kundennummer. |
| eventtime | <numerical> | Zeitstempel der Signalerzeugung in Millisekunden seit dem 1. Januar 1970, 00:00:00 GMT. |


# > Macro (anchor)

configchanged

Die configchanged-Notification liefert Informationen, sobald die Konfiguration eines der folgenden Elemente geändert wurde:


- agent
- group
- hotline
- mandator
- pause reason
- classificator
- agentid
- groupid
- routable
- priority
- mode



**Parameter für configchanged:**

| **Parameter** | **Value** | **Beschreibung** |
| --- | --- | --- |
| cmd | configchanged | Benachrichtigungstyp. |
| action | <string> | Name der Aktion innerhalb der ACD. |
| type | <string> | Das Element, dessen Konfiguration geändert wurde. Siehe Liste oben. |
| secondtype | <string> | Wird gesetzt, wenn durch die Aktion mehr als ein Element geändert wurde (Agent, Gruppe, Hotline, Mandant). |
| customerNumber | <integer> | Kundennummer. |
| eventtime | <numerical> | Zeitstempel der Signalerzeugung in Millisekunden seit dem 1. Januar 1970, 00:00:00 GMT. |
| agentid | <integer> | ID des betreffenden Agenten. |
| groupid | <integer> | ID der betreffenden Gruppe. |
| routable | <boolean> | Gibt an, ob der Agent aktiv in die Gruppe geroutet wird oder nicht. |
| priority | <integer> | Priorität des Agenten in der Gruppe. |
| mode | <string> | Wird verwendet für Änderungen an der Agent-Gruppen-Beziehung.   
Mögliche values: ADD, DELETE, CHANGE_ATTRIBUTES.  
Diese zeigen an, welche Änderung in der Agent-Gruppen-Beziehung vorgenommen wurde. |