ดู Call ใน Campaign
GET
https://api.voice-agent.gowajee.ai/api/campaign/:id/callsดึงทุก call ใน campaign page ละ 100 รายการ รวม call ที่ยังไม่ได้โทรออก (SCHEDULED) ด้วย recipient ที่โทรไป
สามครั้งจะมีสามรายการ ใช้ endpoint นี้เทียบหาผลที่อาจตกหล่นไปจาก webhook
Parameters
หัวข้อที่มีชื่อว่า “Parameters”| ชื่อ | ส่งผ่าน | Type | Default | คำอธิบาย |
|---|---|---|---|---|
id |
path | string | ID ของ campaign | |
page |
query | integer | 1 |
เลข page เริ่มที่ 1 ขนาด page คงที่ที่ 100 |
ลำดับ call ที่อัปเดตล่าสุดอยู่ก่อน ส่วน call ที่เป็น EXPIRED และ call ที่ระบบลบข้อมูลไปแล้วตาม retention policy
จะอยู่ท้ายสุดเสมอ ไม่ว่า updatedAt จะเป็นเวลาไหน
Request
หัวข้อที่มีชื่อว่า “Request”curl "https://api.voice-agent.gowajee.ai/api/campaign/eac2489c-672c-455e-ab8c-4e0ecd18d7dc/calls?page=1" \ -H "X-API-Key: $GOWAJEE_API_KEY"const res = await fetch( `https://api.voice-agent.gowajee.ai/api/campaign/${campaignId}/calls?page=1`, { headers: { 'X-API-Key': process.env.GOWAJEE_API_KEY } },);const { data } = await res.json();data = requests.get( f"https://api.voice-agent.gowajee.ai/api/campaign/{campaign_id}/calls", params={"page": 1}, headers={"X-API-Key": os.environ["GOWAJEE_API_KEY"]}, timeout=30,).json()["data"]Response
หัวข้อที่มีชื่อว่า “Response”{ "success": true, "message": "Get Campaign calls successfully", "data": { "totalCalls": 1450, "totalPages": 15, "page": 1, "calls": [ { "id": "fc1c320d-d133-4d48-8118-5932d93149fd", "sessionId": "0f72ce05-5481-4bfe-bde4-6a675689822c", "callStatus": "COMPLETED", "agentStatus": "COMPLETED", "callStartedAt": "2026-10-01T02:11:58.472Z", "callEndedAt": "2026-10-01T02:13:58.592Z", "callDuration": "120.120", "callResult": { "version": "v2", "fixedAttr": { "callSummary": "ลูกค้ารับทราบยอดค้างชำระ และนัดชำระวันที่ 5 ตุลาคม", "funnel": { "funnelFlow": ["greeting", "inform_amount", "closing"], "value": "closing" } }, "postCallAnalyticsResult": { "promise_to_pay": { "type": "boolean", "required": true, "value": true } } }, "recipient": { "id": "5b1f0c9e-2d4a-4f6b-9a61-3c7e8d2f1a04", "tel": "0812345678", "customerName": "Somchai", "callAttempt": 1, "agentParams": { "customer_name": "Somchai", "amount_due": 1500 }, "campaignId": "eac2489c-672c-455e-ab8c-4e0ecd18d7dc", "organizationId": "8ee40f50-58de-4ae7-a55b-6bc83291b4be", "latestTerminatedAt": "2026-10-01T02:13:58.592Z", "personalDataPurgedAt": null, "createdAt": "2026-09-30T08:12:44.120Z", "updatedAt": "2026-10-01T02:13:59.001Z", "deletedAt": null }, "createdAt": "2026-10-01T00:00:00.000Z", "updatedAt": "2026-10-01T02:14:20.310Z", "dataExpired": { "audio": false, "personalData": false, "output": false } } ] }}{ "success": false, "statusCode": 404, "code": "CAMPAIGN_NOT_FOUND", "message": "Campaign not found", "errors": ["Campaign not found"]}{ "success": false, "statusCode": 400, "code": "VALIDATION_FAILED", "message": "page must be an integer of 1 or more", "errors": ["page must be an integer of 1 or more"]}| Field | Type | คำอธิบาย |
|---|---|---|
calls[].id |
string (UUID) | ID ของ call |
calls[].sessionId |
string หรือ null |
ค่าเดียวกับ call.sessionId ใน webhook มีค่าเมื่อโทรออกแล้ว |
calls[].callStatus |
string | ดู status ของ call |
calls[].agentStatus |
string | ดู status ของ agent |
calls[].callStartedAt |
string (UTC) หรือ null |
เวลาที่เริ่มคุย เป็น null ถ้า call ไม่เคยต่อติด |
calls[].callEndedAt |
string (UTC) หรือ null |
เวลาที่ call ครั้งนั้นจบ call ที่ไม่มีคนรับก็มีค่านี้ เป็น null ถ้า call ยังไม่จบ หรือยังไม่เคยโทรออก |
calls[].callDuration |
string ที่เป็นตัวเลข หรือ null |
หน่วยเป็นวินาที ทศนิยม 3 ตำแหน่ง ส่งมาเป็น string เช่น "120.120" แปลงเป็นตัวเลขด้วย parseFloat |
calls[].callResult |
object | โครงสร้างเหมือน callResult ใน webhook ถ้ายังไม่มีผลจะเป็น {} ไม่เป็น null |
calls[].recipient |
object | recipient ของ call นี้ |
calls[].dataExpired |
object | ดู Data retention |
รายการนี้ไม่มีไฟล์เสียง ให้ดึงทีละ call ด้วย /record-url
body ใช้รูปแบบ error ปกติ
| Status | code |
message |
สาเหตุ |
|---|---|---|---|
400 |
INVALID_ID |
id must be a valid UUID |
id ใน path ไม่ใช่ UUID |
400 |
VALIDATION_FAILED |
page must be an integer of 1 or more |
page เป็น 0 ติดลบ ทศนิยม ว่าง หรือไม่ใช่ตัวเลข ถ้าไม่ส่ง page มาจะได้ page 1 |
404 |
CAMPAIGN_NOT_FOUND |
Campaign not found |
id ผิด หรือ campaign นี้เป็นขององค์กรอื่น |