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