Eine Kampagne ist eine Funktion für automatische Anrufe, mit der eine Liste von Kontakten nacheinander kontaktiert wird. Dabei werden ausgehende Anrufe gestartet und jeder Kontakt wird mit einem verfügbaren Kundenservicemitarbeiter verbunden. Kampagnenendpunkte ermöglichen den Zugriff auf kampagnenbezogene Daten, sodass Kampagnen- und Kontaktobjekte abgerufen werden können.
Das Campaign-Objekt stellt eine einzelne Kampagne auf der Plattform dar.
Das Contact-Objekt stellt einen einzelnen Kampagnenkontakt in einer bestimmten Kampagne dar.
Mit Kampagnenendpunkten können Nutzer Kontakte einer vorhandenen Kampagne hinzufügen, aktualisieren und löschen. Folgende Endpunkte sind verfügbar:
Kampagnenkontaktstatus
Das Statusfeld kann einen der folgenden Status haben:
| Status von Kampagnenkontakten | Beschreibung |
|---|---|
| Anstehend | Der Kontakt wird als Nächstes angerufen. |
| Wählen | Der Kontakt wird gerade angerufen. |
| In der Warteschlange | Ein Anruf für einen bestimmten Kontakt wird in die Warteschlange gestellt. |
| Verbunden | Der Kontakt ist mit einem Kundenservicemitarbeiter verbunden. |
| Fertig | Der Anruf wurde beendet. |
| Übertragen | Der Anruf wurde weitergeleitet. |
| Übertragen und abgeschlossen | Der Anruf wurde weitergeleitet und dann beendet. |
| Nicht abgeholt | Keine Antwort vom Endnutzer oder der Endnutzer wurde nie erreicht. |
| Kontakt nicht erreicht | Der Anruf wurde nie an den Kontakt weitergeleitet. |
| Von Kontakt verworfen | Bei der Vorschau legt der Endnutzer auf, bevor er mit einem Kundenservicemitarbeiter verbunden wird. Sowohl bei progressiven als auch bei vorausschauenden Anrufen legt der Endnutzer innerhalb von 5 Sekunden nach der Verbindung mit dem Kundenservicemitarbeiter auf. |
| Übersprungen | Der Kontakt wurde vom Kundenservicemitarbeiter übersprungen und kann mit einem anderen Kundenservicemitarbeiter verbunden werden. |
| Übersprungen und geschlossen | In der Vorschau überspringt der Kundenservicemitarbeiter einen Kontakt und schließt ihn. Dieser Kontakt sollte jetzt in dieser Kampagne immer übersprungen werden. |
| Ungültige Nummer | Kontakt mit ungültiger Telefonnummer. |
| Fehler des Mobilfunkanbieters | Dieser Fehler wird vom Mobilfunkanbieter verursacht. |
| Von der Telefon App abgebrochen | Der Kontakt wurde vom Dialer nicht mehr verwendet. |
| Mailbox aufgelegt | Bei Predictive stellt das Wählgerät fest, dass es sich beim Endnutzer um eine Maschine (z. B. eine Mailbox) handelt. |
| Allgemeiner Fehler im Dialer | Der Anruf ist aufgrund eines Wählfehler fehlgeschlagen. |
| Wahlwiederholung geplant | Vorübergehender Status. Wiederholung des Anrufs für die Zukunft geplant. |
| Nicht anrufen | Die Nummer stand auf der Liste der Nummern, die nicht angerufen werden dürfen. |
| Ungültige abgehende Nummer | Kontakt mit ungültiger Absendernummer. |
| Blockierte Telefonnummer | Kontakt mit ungültiger/blockierter internationaler Nummer. |
Einzelnen Kontakt zu einer Kampagne hinzufügen
| Parameter | Erforderlich | Datentyp | Definition |
|---|---|---|---|
| campaign_id | TRUE | Ganzzahl | Die ID der Kampagne, der ein Kontakt hinzugefügt werden soll. |
Endpunkt:
Method: POST
Type: RAW
URL: https://{subdomain}.{domain}/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contacts
Überschriften:
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| Content-Type | application/json |
Text:
{
"name": "string",
"email": "customer@somedomain.com",
"phone_number": "+1 111-111-1111",
"outbound_number": "+1 760-867-5309",
"external_unique_id": "UID_123456"
}
Beispielanfrage und -antworten
In den folgenden Abschnitten finden Sie Beispielanfragen an den Endpunkt.
Einzelnen Kontakt zu einer Kampagne hinzufügen
In diesem Beispiel wird gezeigt, wie Sie einer bestimmten Kampagnen-ID einen Kontakt hinzufügen.
Anfrage
Überschriften:
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| Content-Type | application/json |
Suchanfrage
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| campaign_id | integer | Die ID der Kampagne, der der Kontakt hinzugefügt werden soll |
Text:
{
"name": "string",
"email": "customer@somedomain.com",
"phone_number": "+1 111-111-1111",
"outbound_number": "+1 760-867-5309",
"external_unique_id": "UID_123456"
}
Antwort
{
"valid_contacts": [
{
"name": "string",
"email": "customer@somedomain.com",
"phone_number": "+1 111-111-1111",
"outbound_number": "+1 760-867-5309",
"external_unique_id": "UID_123456"
}
],
"invalid_contacts": []
}
Statuscode:200
Kontakte für eine Kampagne abrufen
| Parameter | Erforderlich | Datentyp | Definition |
|---|---|---|---|
| campaign_id | TRUE | Ganzzahl | Die ID der Kampagne, aus der die Kontakte abgerufen werden sollen. |
Endpunkt:
Method: GET
Type:
URL: https://{subdomain}.{domain}/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contacts
Überschriften:
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| Content-Type | application/json |
Suchanfrage
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| campaign_id | integer | Die ID der Kampagne, der der Kontakt hinzugefügt werden soll |
Beispielanfrage und -antworten
In den folgenden Abschnitten finden Sie Beispielanfragen an den Endpunkt.
Kontakte für eine Kampagne abrufen
Im folgenden Beispiel wird gezeigt, wie Sie die Kontakte für die angegebene Kampagnen-ID abrufen.
Anfrage
Überschriften:
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| Content-Type | application/json |
Suchanfrage
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| campaign_id | integer | Kampagnen-ID der abzufragenden Kampagne |
Antwort
[
{
"name": "string",
"email": "customer@somedomain.com",
"phone_number": "+1 111-111-1111",
"outbound_number": "+1 760-867-5309",
"external_unique_id": "UID_123456"
}
]
Statuscode:200
Mehrere Kontakte in eine Kampagne importieren
| Parameter | Erforderlich | Datentyp | Definition |
|---|---|---|---|
| Datei | TRUE | String | Eine JSON-Datei mit den mehreren Kontakten, die einer Kampagne hinzugefügt werden sollen. |
| campaign_id | TRUE | Ganzzahl | Die ID der Kampagne, der die Kontakte hinzugefügt werden sollen. |
Endpunkt:
Method: POST
Type: FORM DATA
URL: https://{subdomain}.{domain}/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contacts/import
Überschriften:
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| Content-Type | multipart/form-data |
Text:
'FORM DATA'
Dateiinhalte:
[
{
"name": "string",
"email": "customer@somedomain.com",
"phone_number": "+1 111-111-1111",
"outbound_number": "+1 760-867-5309",
"external_unique_id": "UID_123456"
}
]
Beispielanfrage und -antworten
In den folgenden Abschnitten finden Sie Beispielanfragen an den Endpunkt.
Mehrere Kontakte aus einer Datei importieren
In diesem Beispiel wird gezeigt, wie Kontakte einer Kampagne hinzugefügt werden, wenn eine Datei an den Endpunkt gesendet wird. Die Datei wird als Formulardaten gepostet.
Anfrage
Überschriften:
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| Content-Type | multipart/form-data |
Suchanfrage
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| campaign_id | integer | Kampagnen-ID, der die Kontakte hinzugefügt werden sollen |
Dateiinhalte:
[
{
"name": "string",
"email": "customer@somedomain.com",
"phone_number": "+1 111-111-1111",
"outbound_number": "+1 760-867-5309",
"external_unique_id": "UID_123456"
}
]
Antwort
None
Statuscode:202 (Angenommen)
Jobs
| Parameter | Erforderlich | Datentyp | Definition |
|---|---|---|---|
| job_id | TRUE | Ganzzahl | Die Job-ID, die Sie abrufen möchten |
| campaign_id | TRUE | Ganzzahl | Die Kampagnen-ID, zu der die Job-ID gehört. |
Endpunkt:
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contacts/jobs/{job_id}
Überschriften:
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| Content-Type | application/json |
Beispielanfrage und -antworten
In den folgenden Abschnitten finden Sie Beispielanfragen an den Endpunkt.
Erfolgreich abgeschlossen
Das folgende Beispiel zeigt, wie Sie den Job abrufen und feststellen, ob er erfolgreich abgeschlossen wurde.
Anfrage
Überschriften:
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| Content-Type | application/json |
Suchanfrage
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| campaign_id | 1 | Die Kampagnen-ID, zu der der Job gehört |
| job_id | 530 | Die Job-ID, deren Status geprüft werden soll |
Antwort
{
"id": 530,
"status": "completed",
"type": "Jobs::Bulk::Campaign::ParentJob"
}
Statuscode:200
Import wird noch ausgeführt
Das folgende Beispiel zeigt, wie Sie den Job abrufen und feststellen, ob der Import noch läuft.
Anfrage
Überschriften:
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| Content-Type | application/json |
Suchanfrage
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| campaign_id | 1 | Die Kampagnen-ID, zu der der Job gehört |
| job_id | 530 | Die Job-ID, deren Status geprüft werden soll |
Antwort
{
"id": 530,
"status": "in_progress",
"type": "Jobs::Bulk::Campaign::ParentJob"
}
Statuscode:200
Fehlgeschlagener Job
Das folgende Beispiel zeigt, wie Sie den Job abrufen und feststellen, ob er fehlgeschlagen ist.
Anfrage
Überschriften:
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| Content-Type | application/json |
Suchanfrage
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| campaign_id | 1 | Die Kampagnen-ID, zu der der Job gehört |
| job_id | 523 | Die Job-ID, deren Status geprüft werden soll |
Antwort
{
"error_details": "NativePowerDial::ContactService::DuplicateContactPhoneOnCampaign",
"error_message": "Internal Error",
"id": 523,
"status": "failed",
"type": "Jobs::Bulk::Campaign::StartImport"
}
Statuscode:200
Einzelnen Kontakt aktualisieren
| Parameter | Erforderlich | Datentyp | Definition |
|---|---|---|---|
| campaign_id | TRUE | Ganzzahl | Die Kampagnen-ID, zu der die Job-ID gehört. |
Endpunkt:
Method: PATCH
Type: RAW
URL: https://{{subdomain}}.{{domain}}/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contact
Überschriften:
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| Content-Type | application/json |
Text:
{
"contact_id": 16312,
"name": "string",
"email": "customer@somedomain.com",
"phone_number": "+1 111-111-1111",
"external_unique_id": "UID_123456"
}
Beispielanfrage und -antworten
In den folgenden Abschnitten finden Sie Beispielanfragen an den Endpunkt.
Kontakt für eine Kampagne aktualisieren
In diesem Beispiel wird gezeigt, wie Sie einen Kontakt aktualisieren, der sich in einer bestimmten Kampagne befindet.
Anfrage
Überschriften:
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| Content-Type | application/json |
Text:
{
"contact_id": 7,
"name": "Bob Smith",
"email": "customer@somedomain.com",
"phone_number": "+1 111-111-1111",
"external_unique_id": "UID_123456"
}
Antwort
{
"id": 7,
"name": "Bob Smith",
"campaign_id": 6,
"assigned_call_id": null,
"assigned_participant_id": null,
"outbound_number": "+1-(201)-471-6992",
"priority": null,
"created_at": "2024-08-05T14:51:49.000Z",
"updated_at": "2024-08-05T21:01:16.000Z",
"status": "Upcoming",
"user_custom_metadata": {
"NAME (REQUIRED)": "Bob Smith",
"PHONE (REQUIRED)": "+1 111-111-1111",
"EMAIL (REQUIRED)": "customer@somedomain.com"
}
}
Statuscode:200
Einzelnen Kontakt entfernen
| Parameter | Erforderlich | Datentyp | Definition |
|---|---|---|---|
| campaign_id | TRUE | Ganzzahl | Die Kampagnen-ID, zu der die Job-ID gehört. |
Endpunkt:
Method: DELETE
Type: RAW
URL: https://{{subdomain}}.{{domain}}/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contact
Überschriften:
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| Content-Type | application/json |
Text:
{
"contact_id": integer,
"phone_number": "string",
"external_unique_id": "string"
}
Beispielanfrage und -antworten
In den folgenden Abschnitten finden Sie Beispielanfragen an den Endpunkt.
Kontakt anhand der Kontakt-ID entfernen
In diesem Beispiel wird gezeigt, wie Sie einen Kontakt anhand seiner Kontakt-ID aus einer Kampagne entfernen.
Anfrage
Überschriften:
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| Content-Type | application/json |
Text:
{
"contact_id": 7,
}
Suchanfrage
| Schlüssel | Wert | Beschreibung |
|---|---|---|
| campaign_id | 1 | Die Kampagnen-ID, zu der der Job gehört |
Antwort
{
"id": 7,
"name": "Bob Smith",
"campaign_id": 6,
"assigned_call_id": null,
"assigned_participant_id": null,
"outbound_number": "+1-(201)-471-6992",
"priority": null,
"created_at": "2024-08-05T14:51:49.000Z",
"updated_at": "2024-08-05T21:01:16.000Z",
"status": "Upcoming",
"user_custom_metadata": {
"NAME (REQUIRED)": "Bob Smith",
"PHONE (REQUIRED)": "+1 111-111-1111",
"EMAIL (REQUIRED)": "customer@somedomain.com"
}
}
Statuscode:200