Endpoint della campagna

Una campagna si riferisce a una funzionalità di composizione automatica in uscita che contatta in sequenza un elenco di contatti, avvia chiamate in uscita e collega ogni contatto a un agente disponibile. Gli endpoint della campagna forniscono l'accesso ai dati correlati alla campagna, consentendo il recupero degli oggetti campagna e contatto.

  • L'oggetto Campaign rappresenta una singola campagna all'interno della piattaforma.

  • L'oggetto Contatto rappresenta un singolo contatto della campagna all'interno di una campagna specifica.

Gli endpoint della campagna consentono agli utenti di aggiungere, aggiornare ed eliminare i contatti di una campagna esistente. Gli endpoint disponibili includono:

Stato del contatto della campagna

Il campo dello stato può avere uno dei seguenti stati:

Stato contatto campagna Descrizione
Successivo Il contatto è il prossimo a essere chiamato.
Chiamata in corso… Il contatto è in fase di composizione.
In coda La chiamata per un determinato contatto è in coda.
Connesso Il contatto è in comunicazione con un agente.
Terminato La chiamata è stata completata.
Trasferito La chiamata è stata trasferita.
Trasferito e terminato La chiamata è stata trasferita e poi completata.
Non ritirato Nessuna risposta da parte dell'utente finale o l'utente finale non è mai stato raggiunto.
Impossibile contattare La chiamata non ha mai raggiunto il contatto.
Abbandonata dal contatto Per l'anteprima, l'utente finale riaggancia prima di essere connesso a un agente. Per entrambi i metodi progressivo e predittivo, l'utente finale riaggancia la chiamata entro 5 secondi dalla connessione con l'agente.
Ignorato Il contatto è stato ignorato dall'agente e sarà disponibile per essere collegato a un altro agente.
Ignorato e chiuso In Anteprima, l'agente salta e chiude un contatto. Questo contatto ora dovrebbe essere sempre ignorato in questa campagna.
Numero non valido Contatto con numero di telefono non valido.
Errore del corriere Questo errore è causato dall'operatore.
Abbandonata da Telefono Il contatto è stato abbandonato dal dialer.
Chiamata alla segreteria interrotta In Predictive, il dialer determina che l'utente finale è una macchina (ad es. la segreteria).
Errore generale del dialer Chiamata non riuscita a causa di un errore del dialer.
Ricomposizione pianificata Stato temporaneo. Richiamata pianificata per il futuro.
Non chiamare Il numero era nell'elenco dei numeri da non chiamare.
Numero in uscita non valido Contatto con numero in uscita non valido.
Numero di telefono bloccato Contatto con numero internazionale non valido/bloccato.

Aggiungere un singolo contatto a una campagna

Parametro Obbligatorio Tipo di dati Definizione
campaign_id VERO Numero intero L'ID della campagna a cui aggiungere un contatto.

Endpoint:

Method: POST
Type: RAW
URL: https://{subdomain}.​{domain}​/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contacts

Intestazioni:

Chiave Valore Descrizione
Content-Type application/json

Corpo:

{
    "name": "string",
    "email": "customer@somedomain.com",
    "phone_number": "+1 111-111-1111",
    "outbound_number": "+1 760-867-5309",
    "external_unique_id": "UID_123456"
}

Esempio di richiesta e risposte

Le sezioni seguenti forniscono richieste di esempio all'endpoint.

Aggiungere un singolo contatto a una campagna

Questo esempio mostra come aggiungere un contatto a un ID campagna specifico.

Richiesta

Intestazioni:

Chiave Valore Descrizione
Content-Type application/json

Query:

Chiave Valore Descrizione
campaign_id integer L'ID della campagna a cui aggiungere il contatto

Corpo:

{
    "name": "string",
    "email": "customer@somedomain.com",
    "phone_number": "+1 111-111-1111",
    "outbound_number": "+1 760-867-5309",
    "external_unique_id": "UID_123456"
}
Risposta
{
    "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": []
}

Codice di stato: 200

Recuperare i contatti per una campagna

Parametro Obbligatorio Tipo di dati Definizione
campaign_id VERO Numero intero L'ID della campagna da cui recuperare i contatti.

Endpoint:

Method: GET
Type:
URL: https://{subdomain}.​{domain}​/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contacts

Intestazioni:

Chiave Valore Descrizione
Content-Type application/json

Query:

Chiave Valore Descrizione
campaign_id integer L'ID della campagna a cui aggiungere il contatto

Esempio di richiesta e risposte

Le sezioni seguenti forniscono richieste di esempio all'endpoint.

Recuperare i contatti per una campagna

L'esempio seguente mostra come recuperare i contatti per l'ID campagna specificato.

Richiesta

Intestazioni:

Chiave Valore Descrizione
Content-Type application/json

Query:

Chiave Valore Descrizione
campaign_id integer ID campagna della campagna da interrogare
Risposta
[
  {
      "name": "string",
      "email": "customer@somedomain.com",
      "phone_number": "+1 111-111-1111",
      "outbound_number": "+1 760-867-5309",
      "external_unique_id": "UID_123456"
  }
]

Codice di stato: 200

Importare più contatti in una campagna

Parametro Obbligatorio Tipo di dati Definizione
file VERO Stringa File JSON contenente i più contatti da aggiungere a una campagna.
campaign_id VERO Numero intero L'ID della campagna a cui aggiungere i contatti.

Endpoint:

Method: POST
Type: FORM DATA
URL: https://{​subdomain}​.{​domain}​/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contacts/import

Intestazioni:

Chiave Valore Descrizione
Content-Type multipart/form-data

Corpo:

'FORM DATA'

Contenuto del file:

[
  {
      "name": "string",
      "email": "customer@somedomain.com",
      "phone_number": "+1 111-111-1111",
      "outbound_number": "+1 760-867-5309",
      "external_unique_id": "UID_123456"
  }
]

Esempio di richiesta e risposte

Le sezioni seguenti forniscono richieste di esempio all'endpoint.

Importare più contatti da un file

Questo esempio mostra l'aggiunta di contatti a una campagna in base a un file pubblicato nell'endpoint. Il file viene pubblicato come dati del modulo.

Richiesta

Intestazioni:

Chiave Valore Descrizione
Content-Type multipart/form-data

Query:

Chiave Valore Descrizione
campaign_id integer ID campagna a cui aggiungere i contatti

Contenuto del file:

[
  {
      "name": "string",
      "email": "customer@somedomain.com",
      "phone_number": "+1 111-111-1111",
      "outbound_number": "+1 760-867-5309",
      "external_unique_id": "UID_123456"
  }
]
Risposta

None

Codice di stato: 202 (Accettato)

Job

Parametro Obbligatorio Tipo di dati Definizione
job_id VERO Numero intero L'ID job che vuoi recuperare
campaign_id VERO Numero intero L'ID campagna a cui appartiene l'ID job.

Endpoint:

Method: GET
Type:
URL: https://{{subdomain}}.{{domain}}/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contacts/jobs/{job_id}

Intestazioni:

Chiave Valore Descrizione
Content-Type application/json

Esempio di richiesta e risposte

Le sezioni seguenti forniscono richieste di esempio all'endpoint.

Completato

L'esempio seguente mostra come recuperare il job e identificare se è stato completato correttamente.

Richiesta

Intestazioni:

Chiave Valore Descrizione
Content-Type application/json

Query:

Chiave Valore Descrizione
campaign_id 1 L'ID campagna a cui appartiene il job
job_id 530 L'ID job di cui controllare lo stato
Risposta
{
    "id": 530,
    "status": "completed",
    "type": "Jobs::Bulk::Campaign::ParentJob"
}

Codice di stato: 200

Importazione ancora in corso

Il seguente esempio mostra come recuperare il job e identificare se l'importazione è ancora in corso.

Richiesta

Intestazioni:

Chiave Valore Descrizione
Content-Type application/json

Query:

Chiave Valore Descrizione
campaign_id 1 L'ID campagna a cui appartiene il job
job_id 530 L'ID job di cui controllare lo stato
Risposta
{
    "id": 530,
    "status": "in_progress",
    "type": "Jobs::Bulk::Campaign::ParentJob"
}

Codice di stato: 200

Job non riuscito

L'esempio seguente mostra come recuperare il job e identificare se il job non è riuscito.

Richiesta

Intestazioni:

Chiave Valore Descrizione
Content-Type application/json

Query:

Chiave Valore Descrizione
campaign_id 1 L'ID campagna a cui appartiene il job
job_id 523 L'ID job di cui controllare lo stato
Risposta
{
    "error_details": "NativePowerDial::ContactService::DuplicateContactPhoneOnCampaign",
    "error_message": "Internal Error",
    "id": 523,
    "status": "failed",
    "type": "Jobs::Bulk::Campaign::StartImport"
}

Codice di stato: 200

Aggiornare un singolo contatto

Parametro Obbligatorio Tipo di dati Definizione
campaign_id VERO Numero intero L'ID campagna a cui appartiene l'ID job.

Endpoint:

Method: PATCH
Type: RAW
URL: https://{{subdomain}}.{{domain}}/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contact

Intestazioni:

Chiave Valore Descrizione
Content-Type application/json

Corpo:

{
    "contact_id": 16312,
    "name": "string",
    "email": "customer@somedomain.com",
    "phone_number": "+1 111-111-1111",
    "external_unique_id": "UID_123456"
}

Esempio di richiesta e risposte

Le sezioni seguenti forniscono richieste di esempio all'endpoint.

Aggiornare un contatto per una campagna

Questo esempio mostra come aggiornare un contatto che si trova in una campagna specifica.

Richiesta

Intestazioni:

Chiave Valore Descrizione
Content-Type application/json

Corpo:

{
    "contact_id": 7,
    "name": "Bob Smith",
    "email": "customer@somedomain.com",
    "phone_number": "+1 111-111-1111",
    "external_unique_id": "UID_123456"
}
Risposta
{
    "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"
    }
}

Codice di stato: 200

Rimuovere un singolo contatto

Parametro Obbligatorio Tipo di dati Definizione
campaign_id VERO Numero intero L'ID campagna a cui appartiene l'ID job.

Endpoint:

Method: DELETE
Type: RAW
URL: https://{{subdomain}}.{{domain}}/apps/api/v1/outbound_dialer/campaigns/{campaign_id}/contact

Intestazioni:

Chiave Valore Descrizione
Content-Type application/json

Corpo:

{
    "contact_id": integer,
    "phone_number": "string",
    "external_unique_id": "string"
}

Esempio di richiesta e risposte

Le sezioni seguenti forniscono richieste di esempio all'endpoint.

Rimuovere un contatto in base all'ID contatto

Questo esempio mostra come rimuovere un contatto da una campagna in base all'ID contatto.

Richiesta

Intestazioni:

Chiave Valore Descrizione
Content-Type application/json

Corpo:

{
    "contact_id": 7,
}

Query:

Chiave Valore Descrizione
campaign_id 1 L'ID campagna a cui appartiene il job
Risposta
{
    "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"
    }
}

Codice di stato: 200