ข้ามไปยังเนื้อหา

สร้าง Campaign

POSThttps://api.voice-agent.gowajee.ai/api/campaign/create

สร้าง campaign ที่เป็น DRAFT พร้อม recipient ทั้งหมด ขั้นนี้ยังไม่มี call ออกไป ขั้นต่อไปคือ เริ่ม campaign

Field Type บังคับ คำอธิบาย
agentId string ✅ agent ที่ใช้โทร ดู ID ได้จาก ดูรายการ Agent
name string ✅ ชื่อ campaign ต้องไม่ซ้ำกับ campaign อื่นในองค์กร
recipients object[] ✅ recipient ที่จะโทรหา ดูรายละเอียดในตารางถัดไป

ถ้าส่ง field อื่นมาด้วย (เช่น maxAttempts) จะได้ 400 กลับไป การตั้งเวลาและ retry ให้ตั้งตอนเรียก /schedule

Field Type บังคับ คำอธิบาย
tel string ✅ เบอร์โทร ส่งเป็น string เช่น "0812345678" และต้องไม่ซ้ำกันใน request เดียวกัน
customerName string ชื่อลูกค้า แสดงใน dashboard และในผลการโทร
agentParams object แล้วแต่ agent ข้อมูลที่ agent ใช้ระหว่างคุยกับลูกค้า ต้องตรงตาม paramsSchema ของ agent คือต้องมีทุก key ที่เป็น required และ type ถูกต้อง ส่ง key อื่นเพิ่มได้ ระบบจะเก็บไว้ด้วย
curl -X POST "https://api.voice-agent.gowajee.ai/api/campaign/create" \
-H "X-API-Key: $GOWAJEE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agentId": "33ea7a25-03b2-4614-a004-fa3bf9984bd1",
"name": "October payment reminder",
"recipients": [
{
"tel": "0812345678",
"customerName": "Somchai",
"agentParams": { "customer_name": "Somchai", "amount_due": 1500, "is_vip": true }
},
{
"tel": "0898765432",
"customerName": "Suda",
"agentParams": { "customer_name": "Suda", "amount_due": 3200 }
}
]
}'
{
"success": true,
"message": "Campaign created successfully",
"data": [
{
"tel": "0812345678",
"customerName": "Somchai",
"agentParams": { "customer_name": "Somchai", "amount_due": 1500, "is_vip": true },
"campaignId": "eac2489c-672c-455e-ab8c-4e0ecd18d7dc",
"organizationId": "8ee40f50-58de-4ae7-a55b-6bc83291b4be"
},
{
"tel": "0898765432",
"customerName": "Suda",
"agentParams": { "customer_name": "Suda", "amount_due": 3200 },
"campaignId": "eac2489c-672c-455e-ab8c-4e0ecd18d7dc",
"organizationId": "8ee40f50-58de-4ae7-a55b-6bc83291b4be"
}
]
}
Field คำอธิบาย
data[] recipient ที่สร้างแล้ว คนละหนึ่งรายการ เรียงตามลำดับที่ส่งมา
data[].campaignId ID ของ campaign ที่เพิ่งสร้าง ทุกรายการมีค่าเดียวกัน เก็บไว้ใช้ขั้นต่อไป

body ใช้รูปแบบ error ปกติ ระบบตรวจตามลำดับ เริ่มจากรูปแบบ body แล้วตามด้วยชื่อ campaign, agent และ recipient

Status code message วิธีแก้
400 VALIDATION_FAILED property <x> should not exist ลบ field ที่ไม่มีในตารางด้านบนออก
400 VALIDATION_FAILED เช่น name should not be empty, recipients must be an array ส่ง field ที่บังคับให้ครบ และ type ต้องถูกต้อง ถ้ามีหลายปัญหา message จะเป็น Validation failed และ errors จะแสดงทุกปัญหา
400 INVALID_ID An ID in the request is not a valid UUID agentId ไม่ใช่ UUID ให้ copy มาจาก ดูรายการ Agent
409 CAMPAIGN_NAME_TAKEN Campaign name already exists เปลี่ยน name เป็นชื่ออื่น
404 AGENT_NOT_FOUND Agent not found ตรวจ agentId อีกครั้ง agent ขององค์กรอื่นก็จะได้ “not found” เช่นกัน
400 RECIPIENT_VALIDATION_FAILED Recipient validation failed แก้แถวที่ระบุไว้ใน errors ส่วน errorIndexes เป็น array ของเลขแถว
401 API_KEY_REQUIRED / INVALID_API_KEY ดู error ของการยืนยันตัวตน