> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brightalk.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 取得通話結果

> 分別輪詢摘要與逐字稿，並在同一個不可變逐字稿修訂版本中分頁。

## 開始之前

伺服器端 API 金鑰以 `calls:read` 取得摘要，以 `transcripts:read`
取得逐字稿。只有在整合需要兩種資源時才授予兩個 scope。既有金鑰不會
自動取得逐字稿權限。

## 輪詢摘要

呼叫 `GET /calls/{call_id}/summary`。尚未完成是正常狀態：HTTP 200、
`status: "processing"`、`poll_after_seconds: 5`。狀態成為 `ready`、
`unavailable` 或 `failed` 後停止輪詢。

<CodeGroup>
  ```curl theme={null}
  curl --request GET 'https://api.brightalk.ai/calls/11111111-1111-4111-8111-111111111111/summary' \
    --header "Authorization: Bearer $BRIGHTALK_API_KEY" \
    --header "Brightalk-Version: 2026-07-16"
  ```

  ```javascript theme={null}
  const response = await fetch("https://api.brightalk.ai/calls/11111111-1111-4111-8111-111111111111/summary", {
    method: "GET",
    headers: {
      Authorization: `Bearer ${process.env.BRIGHTALK_API_KEY}`,
      "Brightalk-Version": "2026-07-16",
    },
  });
  console.log(response.status, await response.json());
  ```

  ```python theme={null}
  import os
  import requests

  response = requests.request(
      "GET",
      "https://api.brightalk.ai/calls/11111111-1111-4111-8111-111111111111/summary",
      headers={
      "Authorization": f"Bearer {os.environ['BRIGHTALK_API_KEY']}",
      "Brightalk-Version": "2026-07-16",
      },
  )
  print(response.status_code, response.json())
  ```
</CodeGroup>

## 輪詢逐字稿

呼叫 `GET /calls/{call_id}/transcript?limit=100`。摘要與逐字稿各自判定
是否就緒，不能用其中一個推論另一個。

<CodeGroup>
  ```curl theme={null}
  curl --request GET 'https://api.brightalk.ai/calls/11111111-1111-4111-8111-111111111111/transcript?limit=100' \
    --header "Authorization: Bearer $BRIGHTALK_API_KEY" \
    --header "Brightalk-Version: 2026-07-16"
  ```

  ```javascript theme={null}
  const response = await fetch("https://api.brightalk.ai/calls/11111111-1111-4111-8111-111111111111/transcript?limit=100", {
    method: "GET",
    headers: {
      Authorization: `Bearer ${process.env.BRIGHTALK_API_KEY}`,
      "Brightalk-Version": "2026-07-16",
    },
  });
  console.log(response.status, await response.json());
  ```

  ```python theme={null}
  import os
  import requests

  response = requests.request(
      "GET",
      "https://api.brightalk.ai/calls/11111111-1111-4111-8111-111111111111/transcript?limit=100",
      headers={
      "Authorization": f"Bearer {os.environ['BRIGHTALK_API_KEY']}",
      "Brightalk-Version": "2026-07-16",
      },
  )
  print(response.status_code, response.json())
  ```
</CodeGroup>

## 沿用游標

`next_cursor` 非 null 時，下一個請求必須原樣送回。游標會固定逐字稿
修訂版本；較晚完成的對帳可以發布新修訂版本，不會改變正在讀取的舊頁面。
為了遵守回應大小上限，單頁輪次可能少於 `limit`；只有
`next_cursor` 為 null 才表示分頁完成。

## 偵測內容更新

儲存 `call_id`、端點名稱與 `revision`。較高的 revision 表示清理後的
端點內容已更新；相同內容的重投影不會增加 revision。

## 處理終止狀態

`unavailable` 表示這通電話無法產生該結果，可查看穩定的 reason。
`failed` 與 `processing_failed` 表示安全處理已耗盡。兩者都不是 HTTP
錯誤。
