廣告活動端點

所謂的「活動」是指外撥自動撥號器功能,可依序聯絡聯絡人清單中的對象、發起外撥電話,並將每位聯絡人轉接給可用的服務專員。廣告活動端點可存取廣告活動相關資料,並擷取廣告活動和聯絡人物件。

  • 廣告活動物件代表平台中的單一廣告活動。

  • 聯絡人物件代表特定廣告活動中的個別廣告活動聯絡人。

使用者可透過廣告活動端點,新增、更新及刪除現有廣告活動的聯絡人。可用的端點包括:

廣告活動聯絡人狀態

狀態欄位可能處於下列任一狀態:

廣告活動聯絡人狀態 說明
即將開始 系統即將撥打電話給聯絡人。
撥號 系統目前正在撥打電話給聯絡人。
已排入佇列 系統已將指定聯絡人的通話加入佇列。
已連線 聯絡人已與服務專員連線。
已完成 通話已結束。
已轉移 通話已轉接。
已轉移並完成 通話已轉接並結束。
尚未取貨 使用者未接聽電話或無法聯絡到使用者。
無法聯絡 電話並未接通。
聯絡人已放棄 預覽:使用者在與服務專員連線前掛斷電話。 無論是漸進式或預測式撥號,使用者在與服務專員通話後 5 秒內掛斷電話。
已略過 服務專員已略過聯絡人,但可與其他服務專員連線。
已略過並關閉 在「預覽」中,服務專員會略過並關閉聯絡人。這個廣告活動現在應該會一律略過這位聯絡人。
無效號碼 聯絡人的電話號碼無效。
貨運公司錯誤 這個錯誤是由電信業者造成。
撥號程式已放棄 撥號器已捨棄聯絡人。
語音信箱已掛斷 在預測模式下,撥號器會判斷使用者是機器 (即語音信箱)。
撥號程式一般錯誤 撥號器發生錯誤,因此通話失敗。
已排定重撥 暫時狀態。系統已排定在日後重撥。
請勿撥打 該號碼位於「謝絕來電」號碼清單中。
無效的外撥號碼 聯絡人使用的外撥號碼無效。
已封鎖的電話號碼 聯絡人有無效/遭封鎖的國際電話號碼。

將單一聯絡人新增至廣告活動

參數 必填 資料類型 定義
campaign_id TRUE 整數 要新增聯絡人的廣告活動 ID。

端點:

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

標題:

說明
Content-Type application/json

內文:

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

要求和回應範例

下列各節提供端點的要求範例。

將單一聯絡人新增至廣告活動

這個範例說明如何將聯絡人新增至特定廣告活動 ID。

要求

標題:

說明
Content-Type application/json

查詢:

說明
campaign_id 整數 要將聯絡人加入的廣告活動 ID

內文:

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

狀態碼:200

取得廣告活動的聯絡人

參數 必填 資料類型 定義
campaign_id TRUE 整數 要從中擷取聯絡人的廣告活動 ID。

端點:

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

標題:

說明
Content-Type application/json

查詢:

說明
campaign_id 整數 要將聯絡人加入的廣告活動 ID

要求和回應範例

下列各節提供端點的要求範例。

取得廣告活動的聯絡人

下列範例示範如何擷取指定廣告活動 ID 的聯絡人。

要求

標題:

說明
Content-Type application/json

查詢:

說明
campaign_id 整數 要查詢的廣告活動的廣告活動 ID
回應
[
  {
      "name": "string",
      "email": "customer@somedomain.com",
      "phone_number": "+1 111-111-1111",
      "outbound_number": "+1 760-867-5309",
      "external_unique_id": "UID_123456"
  }
]

狀態碼:200

將多位聯絡人匯入廣告活動

參數 必填 資料類型 定義
檔案 TRUE 字串 包含要新增至廣告活動的多位聯絡人的 JSON 檔案。
campaign_id TRUE 整數 要將聯絡人加入的廣告活動 ID。

端點:

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

標題:

說明
Content-Type multipart/form-data

內文:

'FORM DATA'

檔案內容:

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

要求和回應範例

下列各節提供端點的要求範例。

從檔案匯入多個聯絡人

這個範例說明如何根據發布至端點的檔案,將聯絡人新增至廣告活動。檔案會以表單資料的形式發布。

要求

標題:

說明
Content-Type multipart/form-data

查詢:

說明
campaign_id 整數 要將聯絡人新增至哪個廣告活動的 ID

檔案內容:

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

None

狀態碼:202 (已接受)

工作

參數 必填 資料類型 定義
job_id TRUE 整數 要擷取的工作 ID
campaign_id TRUE 整數 工作 ID 所屬的廣告活動 ID。

端點:

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

標題:

說明
Content-Type application/json

要求和回應範例

下列各節提供端點的要求範例。

順利完成

以下範例說明如何擷取工作,並判斷工作是否已順利完成。

要求

標題:

說明
Content-Type application/json

查詢:

說明
campaign_id 1 這項工作所屬的廣告活動 ID
job_id 530 要檢查狀態的工作 ID
回應
{
    "id": 530,
    "status": "completed",
    "type": "Jobs::Bulk::Campaign::ParentJob"
}

狀態碼:200

匯入作業仍在進行中

下列範例示範如何擷取工作,並判斷匯入作業是否仍在進行中。

要求

標題:

說明
Content-Type application/json

查詢:

說明
campaign_id 1 這項工作所屬的廣告活動 ID
job_id 530 要檢查狀態的工作 ID
回應
{
    "id": 530,
    "status": "in_progress",
    "type": "Jobs::Bulk::Campaign::ParentJob"
}

狀態碼:200

失敗的工作

以下範例說明如何擷取工作,並判斷工作是否失敗。

要求

標題:

說明
Content-Type application/json

查詢:

說明
campaign_id 1 這項工作所屬的廣告活動 ID
job_id 523 要檢查狀態的工作 ID
回應
{
    "error_details": "NativePowerDial::ContactService::DuplicateContactPhoneOnCampaign",
    "error_message": "Internal Error",
    "id": 523,
    "status": "failed",
    "type": "Jobs::Bulk::Campaign::StartImport"
}

狀態碼:200

更新單一聯絡人

參數 必填 資料類型 定義
campaign_id TRUE 整數 工作 ID 所屬的廣告活動 ID。

端點:

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

標題:

說明
Content-Type application/json

內文:

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

要求和回應範例

下列各節提供端點的要求範例。

更新廣告活動的聯絡人

這個範例示範如何更新特定宣傳活動中的聯絡人。

要求

標題:

說明
Content-Type application/json

內文:

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

狀態碼:200

移除單一聯絡人

參數 必填 資料類型 定義
campaign_id TRUE 整數 工作 ID 所屬的廣告活動 ID。

端點:

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

標題:

說明
Content-Type application/json

內文:

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

要求和回應範例

下列各節提供端點的要求範例。

依聯絡人 ID 移除聯絡人

這個範例示範如何根據聯絡人的聯絡人 ID,從廣告活動中移除聯絡人。

要求

標題:

說明
Content-Type application/json

內文:

{
    "contact_id": 7,
}

查詢:

說明
campaign_id 1 這項工作所屬的廣告活動 ID
回應
{
    "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"
    }
}

狀態碼:200