Une campagne fait référence à une fonctionnalité d'appel automatique sortant qui contacte séquentiellement une liste de contacts, lance des appels sortants et met chaque contact en relation avec un agent disponible. Les points de terminaison des campagnes permettent d'accéder aux données associées aux campagnes, ce qui permet de récupérer les objets de campagne et de contact.
L'objet Campaign représente une seule campagne sur la plate-forme.
L'objet Contact représente un contact de campagne individuel dans une campagne spécifique.
Les points de terminaison de campagne permettent aux utilisateurs d'ajouter, de modifier et de supprimer les contacts d'une campagne existante. Voici les points de terminaison disponibles :
État du contact de la campagne
Le champ "État" peut avoir l'une des valeurs suivantes :
| État du contact de la campagne | Description |
|---|---|
| À venir | Le contact est le prochain à être appelé. |
| Appel… | Le contact est en cours de composition. |
| En file d'attente | L'appel pour un contact donné est mis en file d'attente. |
| Connecté | Le contact est en relation avec un agent. |
| Terminé | L'appel est terminé. |
| Transféré | L'appel a été transféré. |
| Transféré et terminé | L'appel a été transféré, puis terminé. |
| Non retirée | L'utilisateur final n'a pas répondu ou n'a jamais été contacté. |
| Impossible de contacter | L'appel n'a jamais atteint le contact. |
| Abandonnée par le contact | Pour l'aperçu, l'utilisateur final raccroche avant d'être mis en relation avec un agent. Pour les modes progressif et prédictif, l'utilisateur final raccroche dans les cinq secondes suivant la connexion à l'agent. |
| Ignoré | L'agent a ignoré le contact, qui sera disponible pour être mis en relation avec un autre agent. |
| Ignorée et fermée | Dans l'aperçu, l'agent ignore et ferme un contact. Ce contact doit désormais être ignoré dans cette campagne. |
| Numéro incorrect | Contact avec un numéro de téléphone non valide. |
| Erreur de l'opérateur | Cette erreur est liée à l'opérateur. |
| Abandonné par le téléphone | Le contact a été abandonné par le système d'appel. |
| Messagerie vocale raccrochée | En mode prédictif, le système de numérotation détermine que l'utilisateur final est une machine (par exemple, une messagerie vocale). |
| Erreur générale du clavier téléphonique | L'appel a échoué en raison d'une erreur du composeur. |
| Rappel programmé | État temporaire. La recomposition est planifiée pour une date ultérieure. |
| Ne pas appeler | Le numéro figurait sur la liste des numéros à ne pas appeler. |
| Numéro sortant non valide | Contact avec un numéro sortant non valide. |
| Numéro de téléphone bloqué | Contact avec un numéro international non valide/bloqué. |
Ajouter un seul contact à une campagne
| Paramètre | Obligatoire | Type de données | Définition |
|---|---|---|---|
| campaign_id | TRUE | Integer | ID de la campagne à laquelle ajouter un contact. |
Point de terminaison :
Method: POST
Type: RAW
URL: https://{subdomain}.{domain}/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contacts
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"name": "string",
"email": "customer@somedomain.com",
"phone_number": "+1 111-111-1111",
"outbound_number": "+1 760-867-5309",
"external_unique_id": "UID_123456"
}
Exemple de requête et de réponses
Les sections suivantes fournissent des exemples de requêtes au point de terminaison.
Ajouter un seul contact à une campagne
Cet exemple montre comment ajouter un contact à un ID de campagne spécifique.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Requête
| Clé | Valeur | Description |
|---|---|---|
| campaign_id | entier | ID de la campagne à laquelle ajouter le contact |
Corps :
{
"name": "string",
"email": "customer@somedomain.com",
"phone_number": "+1 111-111-1111",
"outbound_number": "+1 760-867-5309",
"external_unique_id": "UID_123456"
}
Réponse
{
"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": []
}
Code d'état : 200
Obtenir les contacts d'une campagne
| Paramètre | Obligatoire | Type de données | Définition |
|---|---|---|---|
| campaign_id | TRUE | Integer | ID de la campagne à partir de laquelle récupérer les contacts. |
Point de terminaison :
Method: GET
Type:
URL: https://{subdomain}.{domain}/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contacts
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Requête
| Clé | Valeur | Description |
|---|---|---|
| campaign_id | entier | ID de la campagne à laquelle ajouter le contact |
Exemple de requête et de réponses
Les sections suivantes fournissent des exemples de requêtes au point de terminaison.
Obtenir les contacts d'une campagne
L'exemple suivant montre comment récupérer les contacts pour l'ID de campagne donné.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Requête
| Clé | Valeur | Description |
|---|---|---|
| campaign_id | entier | ID de la campagne pour laquelle effectuer la requête |
Réponse
[
{
"name": "string",
"email": "customer@somedomain.com",
"phone_number": "+1 111-111-1111",
"outbound_number": "+1 760-867-5309",
"external_unique_id": "UID_123456"
}
]
Code d'état : 200
Importer plusieurs contacts dans une campagne
| Paramètre | Obligatoire | Type de données | Définition |
|---|---|---|---|
| fichier | TRUE | Chaîne | Fichier JSON contenant les contacts à ajouter à une campagne. |
| campaign_id | TRUE | Integer | ID de la campagne à laquelle ajouter les contacts. |
Point de terminaison :
Method: POST
Type: FORM DATA
URL: https://{subdomain}.{domain}/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contacts/import
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | multipart/form-data |
Corps :
'FORM DATA'
Contenu du fichier :
[
{
"name": "string",
"email": "customer@somedomain.com",
"phone_number": "+1 111-111-1111",
"outbound_number": "+1 760-867-5309",
"external_unique_id": "UID_123456"
}
]
Exemple de requête et de réponses
Les sections suivantes fournissent des exemples de requêtes au point de terminaison.
Importer plusieurs contacts à partir d'un fichier
Cet exemple montre comment ajouter des contacts à une campagne en fonction d'un fichier publié sur le point de terminaison. Le fichier est publié en tant que données de formulaire.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | multipart/form-data |
Requête
| Clé | Valeur | Description |
|---|---|---|
| campaign_id | entier | ID de la campagne à laquelle ajouter les contacts |
Contenu du fichier :
[
{
"name": "string",
"email": "customer@somedomain.com",
"phone_number": "+1 111-111-1111",
"outbound_number": "+1 760-867-5309",
"external_unique_id": "UID_123456"
}
]
Réponse
None
Code d'état : 202 (Acceptée)
Jobs
| Paramètre | Obligatoire | Type de données | Définition |
|---|---|---|---|
| job_id | TRUE | Integer | ID du job que vous souhaitez récupérer |
| campaign_id | TRUE | Integer | ID de la campagne à laquelle appartient l'ID du job. |
Point de terminaison :
Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contacts/jobs/{job_id}
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Exemple de requête et de réponses
Les sections suivantes fournissent des exemples de requêtes au point de terminaison.
Tâche exécutée
L'exemple suivant montre comment récupérer le job et identifier s'il a été effectué.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Requête
| Clé | Valeur | Description |
|---|---|---|
| campaign_id | 1 | ID de la campagne à laquelle appartient le job |
| job_id | 530 | ID de la tâche dont vous souhaitez vérifier l'état. |
Réponse
{
"id": 530,
"status": "completed",
"type": "Jobs::Bulk::Campaign::ParentJob"
}
Code d'état : 200
Importation toujours en cours
L'exemple suivant montre comment récupérer le job et identifier si l'importation est toujours en cours.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Requête
| Clé | Valeur | Description |
|---|---|---|
| campaign_id | 1 | ID de la campagne à laquelle appartient le job |
| job_id | 530 | ID de la tâche dont vous souhaitez vérifier l'état. |
Réponse
{
"id": 530,
"status": "in_progress",
"type": "Jobs::Bulk::Campaign::ParentJob"
}
Code d'état : 200
Job ayant échoué
L'exemple suivant montre comment récupérer le job et identifier s'il a échoué.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Requête
| Clé | Valeur | Description |
|---|---|---|
| campaign_id | 1 | ID de la campagne à laquelle appartient le job |
| job_id | 523 | ID de la tâche dont vous souhaitez vérifier l'état. |
Réponse
{
"error_details": "NativePowerDial::ContactService::DuplicateContactPhoneOnCampaign",
"error_message": "Internal Error",
"id": 523,
"status": "failed",
"type": "Jobs::Bulk::Campaign::StartImport"
}
Code d'état : 200
Modifier un seul contact
| Paramètre | Obligatoire | Type de données | Définition |
|---|---|---|---|
| campaign_id | TRUE | Integer | ID de la campagne à laquelle appartient l'ID du job. |
Point de terminaison :
Method: PATCH
Type: RAW
URL: https://{{subdomain}}.{{domain}}/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contact
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"contact_id": 16312,
"name": "string",
"email": "customer@somedomain.com",
"phone_number": "+1 111-111-1111",
"external_unique_id": "UID_123456"
}
Exemple de requête et de réponses
Les sections suivantes fournissent des exemples de requêtes au point de terminaison.
Modifier un contact pour une campagne
Cet exemple montre comment mettre à jour un contact qui se trouve dans une campagne spécifique.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"contact_id": 7,
"name": "Bob Smith",
"email": "customer@somedomain.com",
"phone_number": "+1 111-111-1111",
"external_unique_id": "UID_123456"
}
Réponse
{
"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"
}
}
Code d'état : 200
Supprimer un seul contact
| Paramètre | Obligatoire | Type de données | Définition |
|---|---|---|---|
| campaign_id | TRUE | Integer | ID de la campagne à laquelle appartient l'ID du job. |
Point de terminaison :
Method: DELETE
Type: RAW
URL: https://{{subdomain}}.{{domain}}/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contact
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"contact_id": integer,
"phone_number": "string",
"external_unique_id": "string"
}
Exemple de requête et de réponses
Les sections suivantes fournissent des exemples de requêtes au point de terminaison.
Supprimer un contact par son ID
Cet exemple montre comment supprimer un contact d'une campagne en fonction de son ID.
Requête
En-têtes
| Clé | Valeur | Description |
|---|---|---|
| Content-Type | application/json |
Corps :
{
"contact_id": 7,
}
Requête
| Clé | Valeur | Description |
|---|---|---|
| campaign_id | 1 | ID de la campagne à laquelle appartient le job |
Réponse
{
"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"
}
}
Code d'état : 200