Endpoint kampanye

Kampanye mengacu pada fitur dialer otomatis keluar yang menghubungi daftar kontak secara berurutan, memulai panggilan keluar, dan menghubungkan setiap kontak ke agen yang tersedia. Endpoint kampanye memberikan akses ke data terkait kampanye, sehingga memungkinkan pengambilan objek kampanye dan kontak.

  • Objek Campaign mewakili satu kampanye dalam platform.

  • Objek Kontak mewakili kontak kampanye individual dalam kampanye tertentu.

Endpoint kampanye memungkinkan pengguna menambahkan, memperbarui, dan menghapus kontak kampanye yang ada. Endpoint yang tersedia meliputi:

Status kontak kampanye

Kolom status dapat berada dalam salah satu status berikut:

Status Kontak Kampanye Deskripsi
Mendatang Kontak akan dihubungi berikutnya.
Memanggil Kontak sedang dihubungi.
Dalam antrean Panggilan untuk kontak tertentu dimasukkan dalam antrean.
Terhubung Kontak terhubung dengan agen.
Selesai Panggilan telah selesai.
Ditransfer Panggilan telah dialihkan.
Ditransfer dan Selesai Panggilan telah ditransfer, lalu diselesaikan.
Tidak Diambil Tidak ada jawaban dari pengguna akhir atau tidak pernah menghubungi pengguna akhir.
Tidak Dapat Menghubungi Kontak Panggilan tidak pernah mencapai kontak.
Ditinggalkan oleh Kontak Untuk pratinjau, pengguna akhir menutup telepon sebelum terhubung ke agen. Untuk progresif dan prediktif, pengguna akhir menutup panggilan dalam waktu 5 detik setelah terhubung ke agen.
Dilewati Kontak telah dilewati oleh agen dan akan tersedia untuk dihubungkan dengan agen lain.
Dilewati & Ditutup Di Pratinjau, agen melewati dan menutup kontak. Kontak ini sekarang akan selalu dilewati dalam kampanye ini.
Nomor Tidak Valid Kontak dengan nomor telepon yang tidak valid.
Error Operator Error ini disebabkan oleh operator.
Dibatalkan oleh Dialer Kontak telah ditinggalkan oleh dialer.
Panggilan Pesan Suara Ditutup Pada Prediktif, dialer menentukan bahwa pengguna akhir adalah mesin (yaitu pesan suara).
Error Umum Dialer Panggilan gagal karena error dialer.
Telepon Ulang Terjadwal Status sementara. Panggilan ulang dijadwalkan pada masa mendatang.
Jangan Telepon Nomor tersebut ada dalam daftar nomor yang tidak boleh dihubungi.
Nomor Keluar Tidak Valid Kontak dengan nomor keluar tidak valid.
Nomor Telepon yang Diblokir Kontak dengan nomor internasional yang tidak valid/diblokir.

Menambahkan satu kontak ke kampanye

Parameter Wajib Jenis Data Definisi
campaign_id TRUE Bilangan bulat ID kampanye yang akan ditambahkan kontak.

Endpoint:

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

Header:

Kunci Nilai Deskripsi
Content-Type application/json

Isi:

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

Contoh permintaan dan respons

Bagian berikut memberikan contoh permintaan ke endpoint.

Menambahkan satu kontak ke kampanye

Contoh ini menunjukkan cara menambahkan kontak ke ID kampanye tertentu.

Permintaan

Header:

Kunci Nilai Deskripsi
Content-Type application/json

Kueri:

Kunci Nilai Deskripsi
campaign_id integer ID kampanye yang akan ditambahkan kontak

Isi:

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

Kode Status: 200

Mendapatkan kontak untuk kampanye

Parameter Wajib Jenis Data Definisi
campaign_id TRUE Bilangan bulat ID kampanye untuk mengambil kontak.

Endpoint:

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

Header:

Kunci Nilai Deskripsi
Content-Type application/json

Kueri:

Kunci Nilai Deskripsi
campaign_id integer ID kampanye yang akan ditambahkan kontak

Contoh permintaan dan respons

Bagian berikut memberikan contoh permintaan ke endpoint.

Mendapatkan kontak untuk kampanye

Contoh berikut menunjukkan cara mengambil kontak untuk ID kampanye tertentu.

Permintaan

Header:

Kunci Nilai Deskripsi
Content-Type application/json

Kueri:

Kunci Nilai Deskripsi
campaign_id integer ID kampanye yang akan dikueri
Respons
[
  {
      "name": "string",
      "email": "customer@somedomain.com",
      "phone_number": "+1 111-111-1111",
      "outbound_number": "+1 760-867-5309",
      "external_unique_id": "UID_123456"
  }
]

Kode Status: 200

Mengimpor beberapa kontak ke kampanye

Parameter Wajib Jenis Data Definisi
file TRUE String file json yang berisi beberapa kontak untuk ditambahkan ke kampanye.
campaign_id TRUE Bilangan bulat ID kampanye yang akan ditambahkan kontak.

Endpoint:

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

Header:

Kunci Nilai Deskripsi
Content-Type multipart/form-data

Isi:

'DATA FORMULIR'

Isi file:

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

Contoh permintaan dan respons

Bagian berikut memberikan contoh permintaan ke endpoint.

Mengimpor beberapa kontak dari file

Contoh ini menunjukkan penambahan kontak ke kampanye berdasarkan file yang diposting ke endpoint. File diposting sebagai data formulir.

Permintaan

Header:

Kunci Nilai Deskripsi
Content-Type multipart/form-data

Kueri:

Kunci Nilai Deskripsi
campaign_id integer ID kampanye untuk menambahkan kontak

Isi file:

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

None

Kode Status: 202 (Diterima)

Pekerjaan

Parameter Wajib Jenis Data Definisi
job_id TRUE Bilangan bulat ID tugas yang ingin Anda ambil
campaign_id TRUE Bilangan bulat ID kampanye tempat ID tugas berada.

Endpoint:

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

Header:

Kunci Nilai Deskripsi
Content-Type application/json

Contoh permintaan dan respons

Bagian berikut memberikan contoh permintaan ke endpoint.

Berhasil diselesaikan

Contoh berikut menunjukkan cara mengambil tugas dan mengidentifikasi apakah tugas tersebut telah berhasil diselesaikan.

Permintaan

Header:

Kunci Nilai Deskripsi
Content-Type application/json

Kueri:

Kunci Nilai Deskripsi
campaign_id 1 ID kampanye tempat tugas berada
job_id 530 ID tugas untuk memeriksa status
Respons
{
    "id": 530,
    "status": "completed",
    "type": "Jobs::Bulk::Campaign::ParentJob"
}

Kode Status: 200

Impor masih dalam proses

Contoh berikut menunjukkan cara mengambil tugas dan mengidentifikasi apakah impor masih berlangsung.

Permintaan

Header:

Kunci Nilai Deskripsi
Content-Type application/json

Kueri:

Kunci Nilai Deskripsi
campaign_id 1 ID kampanye tempat tugas berada
job_id 530 ID tugas untuk memeriksa status
Respons
{
    "id": 530,
    "status": "in_progress",
    "type": "Jobs::Bulk::Campaign::ParentJob"
}

Kode Status: 200

Tugas gagal

Contoh berikut menunjukkan cara mengambil tugas dan mengidentifikasi apakah tugas telah gagal.

Permintaan

Header:

Kunci Nilai Deskripsi
Content-Type application/json

Kueri:

Kunci Nilai Deskripsi
campaign_id 1 ID kampanye tempat tugas berada
job_id 523 ID tugas untuk memeriksa status
Respons
{
    "error_details": "NativePowerDial::ContactService::DuplicateContactPhoneOnCampaign",
    "error_message": "Internal Error",
    "id": 523,
    "status": "failed",
    "type": "Jobs::Bulk::Campaign::StartImport"
}

Kode Status: 200

Memperbarui satu kontak

Parameter Wajib Jenis Data Definisi
campaign_id TRUE Bilangan bulat ID kampanye tempat ID tugas berada.

Endpoint:

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

Header:

Kunci Nilai Deskripsi
Content-Type application/json

Isi:

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

Contoh permintaan dan respons

Bagian berikut memberikan contoh permintaan ke endpoint.

Memperbarui kontak untuk kampanye

Contoh ini menunjukkan cara memperbarui kontak yang berada dalam kampanye tertentu.

Permintaan

Header:

Kunci Nilai Deskripsi
Content-Type application/json

Isi:

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

Kode Status: 200

Menghapus satu kontak

Parameter Wajib Jenis Data Definisi
campaign_id TRUE Bilangan bulat ID kampanye tempat ID tugas berada.

Endpoint:

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

Header:

Kunci Nilai Deskripsi
Content-Type application/json

Isi:

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

Contoh permintaan dan respons

Bagian berikut memberikan contoh permintaan ke endpoint.

Menghapus kontak berdasarkan ID kontak

Contoh ini menunjukkan cara menghapus kontak dari kampanye berdasarkan ID kontak.

Permintaan

Header:

Kunci Nilai Deskripsi
Content-Type application/json

Isi:

{
    "contact_id": 7,
}

Kueri:

Kunci Nilai Deskripsi
campaign_id 1 ID kampanye tempat tugas berada
Respons
{
    "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"
    }
}

Kode Status: 200