1. 接口描述
接口请求域名: ccc.tencentcloudapi.com 。
用于调用AI模型发起外呼通话,仅限自有电话号码使用,目前开通高级版座席限时免费体验。
发起通话前,请先确认您的AI模型是否兼容 OpenAI、Azure 或 Minimax 协议,并前往模型服务商网站获取相关鉴权信息。 具体功能说明请参考文档 腾讯云联络中心AI通话平台。
默认接口请求频率限制:20次/秒。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:CreateAICall。 |
Version | 是 | String | 公共参数,本接口取值:2020-02-10。 |
Region | 否 | String | 公共参数,此参数为可选参数。 |
SdkAppId | 是 | Integer | 应用 ID(必填),可以查看 https://console.cloud.tencent.com/ccc 示例值:1400000000 |
Callee | 是 | String | 被叫号码 示例值:008613012345678 |
SystemPrompt | 是 | String | 用于设定AI人设、说话规则、任务等的全局提示词。 示例: ## 人设 你是人民医院友善、和蔼的的随访医生李医生,正在给患者小明的家长打电话,原因是医院要求小明2024-08-08回院复查手术恢复情况,但小明没有来。你需要按照任务流程对小明家长进行电话随访调查。 ## 要求 简洁回复:使用简练语言,每次最多询问一个问题,不要在一个回复中询问多个问题。 富有变化:尽量使表达富有变化,表达机械重复。 自然亲切:使用日常语言,尽量显得专业并亲切。提到时间时使用口语表述,如下周三、6月18日。 积极主动:尝试引导对话,每个回复通常以问题或下一步建议来结尾。 询问清楚:如果对方部分回答了你的问题,或者回答很模糊,请通过追问来确保回答的完整明确。 遵循任务:当对方的回答偏离了你的任务时,及时引导对方回到任务中。不要从头开始重复,从偏离的的地方继续询问。 诚实可靠:对于客户的提问,如果不确定请务必不要编造,礼貌告知对方不清楚。不要捏造患者未提及的症状史、用药史、治疗史。 其他注意点:避免提到病情恶化、恢复不理想或疾病名称等使用会使患者感到紧张的表述。 不要问患者已经直接或间接回答过的问题,比如患者已经说没有不适症状,那就不要再问手术部位是否有红肿疼痛症状的问题。 ##任务: 1.自我介绍你是人民医院负责随访的李医生,并说明致电的目的。 2.询问被叫方是否是小明家长。 - 如果不是小明家长,请礼貌表达歉意,并使用 call_end 挂断电话。 - 如果小明家长没空,请礼貌告诉对方稍后会重新致电,并使用 end_call 挂断电话。 3.询问小明出院后水肿情况如何,较出院时是否有变化。 - 如果水肿变严重,直接跳转步骤7。 4.询问出院后是否给小朋友量过体温,是否出现过发烧情况。 - 如果没有量过体温,请礼貌告诉家长出院后三个月内需要每天观察体温。 - 如果出现过发烧,请直接跳转步骤7。 5.询问出院后是否给小朋友按时服药。 - 如果没有按时服药,请友善提醒家长严格按医嘱服用药物,避免影响手术效果。 6.询问小朋友在饮食上是否做到低盐低脂,适量吃优质蛋白如鸡蛋、牛奶、瘦肉等。 - 如果没有做到,请友善提醒家长低盐低脂和优质蛋白有助小朋友尽快恢复。 7.告知家长医生要求6月18日回院复查,但没看到有相关复诊记录。提醒家长尽快前往医院体检复查血化验、尿常规。 8.询问家长是否有问题需要咨询,如果没有请礼貌道别并用call_end挂断电话。 |
LLMType | 是 | String | 模型接口协议类型,目前兼容三种协议类型: - OpenAI协议(包括GPT、混元、DeepSeek等):"openai" - Azure协议:"azure" - Minimax协议:"minimax" 示例值:openai |
Model | 是 | String | 模型名称,如 - OpenAI协议 "gpt-4o-mini","gpt-4o","hunyuan-standard", "hunyuan-turbo","deepseek-chat"; - Azure协议 "gpt-4o-mini", "gpt-4o"; - Minmax协议 "deepseek-chat". 示例值:gpt-4o-mini |
APIKey | 是 | String | 模型API密钥,获取鉴权信息方式请参见各模型官网 - OpenAI协议:GPT,混元,DeepSeek; - Azure协议:Azure GPT; - Minimax:Minimax 示例值:sk-proj-roWWEBWMV6q2Uz6LfnzRT3BlbkFJG6dykvrS7exahbIAVrjf |
APIUrl | 是 | String | 模型接口地址 - OpenAI协议 GPT:"https://api.openai.com/v1/" 混元:"https://api.hunyuan.cloud.tencent.com/v1" Deepseek:"https://api.deepseek.com/v1" - Azure协议 "https://{your-resource-name}.openai.azure.com?api-version={api-version}" - Minimax协议 "https://api.minimax.chat/v1" 示例值:https://api.openai.com/v1/ |
VoiceType | 否 | String | 默认提供以下音色参数值可选择,如需自定义音色VoiceType请留空并在参数CustomTTSConfig中配置 汉语: ZhiMei:智美,客服女声 ZhiXi: 智希 通用女声 ZhiQi:智琪 客服女声 ZhiTian:智甜 女童声 AiXiaoJing:爱小静 对话女声 英语: WeRose:英文女声 Monika:英文女声 日语: Nanami 韩语: SunHi 印度尼西亚语(印度尼西亚): Gadis 马来语(马来西亚): Yasmin 泰米尔语(马来西亚): Kani 泰语(泰国): Achara 越南语(越南): HoaiMy 示例值:ZhiQi |
Callers.N | 否 | Array of String | 主叫号码列表 示例值:[008613912341234, 008613912341235] |
WelcomeMessage | 否 | String | 用于设定AI座席欢迎语。 示例值:您好 |
WelcomeType | 否 | Integer | 0:使用welcomeMessage(为空时,被叫先说话;不为空时,机器人先说话) 1: 使用ai根据prompt自动生成welcomeMessage并先说话 示例值:0 |
MaxDuration | 否 | Integer | 最大等待时长(毫秒),默认60秒,超过这个时间用户没说话,自动挂断 示例值:60000 |
Languages.N | 否 | Array of String | 语音识别支持的语言, 默认是"zh" 中文, 填写数组,最长4个语言,第一个语言为主要识别语言,后面为可选语言, 注意:主要语言为中国方言时,可选语言无效 目前全量支持的语言如下,等号左面是语言英文名,右面是Language字段需要填写的值,该值遵循ISO639: 1. Chinese = "zh" # 中文 2. Chinese_TW = "zh-TW" # 中国台湾 3. Chinese_DIALECT = "zh-dialect" # 中国方言 4. English = "en" # 英语 5. Vietnamese = "vi" # 越南语 6. Japanese = "ja" # 日语 7. Korean = "ko" # 汉语 8. Indonesia = "id" # 印度尼西亚语 9. Thai = "th" # 泰语 10. Portuguese = "pt" # 葡萄牙语 11. Turkish = "tr" # 土耳其语 12. Arabic = "ar" # 阿拉伯语 13. Spanish = "es" # 西班牙语 14. Hindi = "hi" # 印地语 15. French = "fr" # 法语 16. Malay = "ms" # 马来语 17. Filipino = "fil" # 菲律宾语 18. German = "de" # 德语 19. Italian = "it" # 意大利语 20. Russian = "ru" # 俄语 示例值:["zh","en"] |
InterruptMode | 否 | Integer | 打断AI说话模式,默认为0,0表示服务端自动打断,1表示服务端不打断,由端上发送打断信令进行打断 示例值:1 |
InterruptSpeechDuration | 否 | Integer | InterruptMode为0时使用,单位为毫秒,默认为500ms。表示服务端检测到持续InterruptSpeechDuration毫秒的人声则进行打断。 示例值:500 |
EndFunctionEnable | 否 | Boolean | 模型是否支持(或者开启)call_end function calling 示例值:true |
EndFunctionDesc | 否 | String | EndFunctionEnable为true时生效;call_end function calling的desc,默认为 "End the call when user has to leave (like says bye) or you are instructed to do so." |
NotifyDuration | 否 | Integer | 用户多久没说话提示时长,最小10秒,默认10秒 示例值:10000 |
NotifyMessage | 否 | String | 用户NotifyDuration没说话,AI提示的语句,默认是"抱歉,我没听清。您可以重复下吗?" 示例值:抱歉,我没听清。您可以重复下吗? |
CustomTTSConfig | 否 | String | 和VoiceType字段需要选填一个,这里是使用自己自定义的TTS,VoiceType是系统内置的一些音色 - Tencent TTS 配置请参考腾讯云TTS文档链接
- Minimax TTS 配置请参考Minimax TTS文档链接。注意Minimax TTS存在频率限制,超频可能会导致回答卡顿,Minimax TTS频率限制相关文档链接。
- 火山 TTS 配置音色类型参考火山TTS文档链接 语音合成音色列表--语音技术-火山引擎 大模型语音合成音色列表--语音技术-火山引擎
- Azure TTS 配置请参考AzureTTS文档链接
- 自定义 TTS 具体协议规范请参考腾讯文档
示例值:{ "TTSType": "azure", "SubscriptionKey": "xxxxxxxx", "Region": "chinanorth3", "VoiceName": "zh-CN-XiaoxiaoNeural", "Language": "zh-CN", "Rate": 1 } |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
SessionId | String | 新创建的会话 ID 示例值:adcf61b8-dbb9-4c20-87bf-c0744c04bade |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 创建AI通话示例(患者随访场景)
本示例模拟某医院调用大模型对手术出院患者家长进行电话随访调查。
输入示例
POST / HTTP/1.1
Host: ccc.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateAICall
<公共请求参数>
{
"Callee": "008612300000000",
"SdkAppId": 1400000000,
"SystemPrompt": "你是人民医院友善、和蔼的的随访医生李医生,正在给患者小明的家长打电话。",
"WelcomeMessage": "您好",
"LLMType": "openai",
"Model": "gpt-4o-mini",
"APIKey": "sk-proj-roWWEBWMV6q2Uz6LfnzRT3BlbkFJG6dykvrS7exahbIAVrjf",
"APIUrl": "https://api.openai.com/v1/",
"VoiceType": "ZhiXi",
"EndFunctionEnable": true
}
输出示例
{
"Response": {
"RequestId": "6bb56a09-2787-40bc-80c5-dc6dab783eff",
"SessionId": "6bb56a09278740bc80c5dc6dab783eff"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
FailedOperation.CallOutFailed | 外呼失败。 |
FailedOperation.CalleeIsBlackUser | 高风险用户,请勿呼叫 |
FailedOperation.CallerOverFrequency | 主叫号码外呼超频。 |
FailedOperation.CalloutRuleBlindArea | 触发默认被叫规则,呼叫盲区 |
FailedOperation.CalloutRuleMaxCallCountCalleeIntervalTime | 触发默认外呼规则,被叫一段时间内呼叫量 |
FailedOperation.CalloutRuleMaxCallCountCalleePerDayAppID | 触发默认外呼规则,被叫每日最大呼叫量 |
FailedOperation.CalloutRuleNotWorkTime | 触发默认外呼规则,不在可外呼时间 |
FailedOperation.NoCallOutNumber | 无可用的外呼号码。 |
FailedOperation.PermissionDenied | 权限不足。 |
InternalError | 内部错误。 |
InvalidParameterValue | 参数取值错误。 |
InvalidParameterValue.InstanceNotExist | 实例不存在。 |
LimitExceeded.BasePackageExpired | 套餐包耗尽 |