在AilinkSWITCH电话机器人系统中,如何根据指定的工作日设置来安排机器人自动外呼任务?请提供具体的接口调用示例
一、背景与需求分析
在电话机器人系统的实际应用中,企业需要根据业务场景灵活安排外呼任务的时间。例如,教育行业可能仅在工作日(周一至周五)进行课程推广,金融行业可能避开法定节假日,而电商行业则可能根据促销周期调整外呼节奏。AilinkSWITCH电话机器人系统通过支持工作日设置功能,允许用户自定义可执行外呼任务的日期范围,从而提升任务执行的精准度和资源利用率。
本文将详细介绍如何在AilinkSWITCH系统中配置工作日规则,并通过API接口实现基于指定工作日的自动外呼任务调度。内容涵盖工作日配置规则、接口调用方法、参数说明及完整代码示例,帮助开发者快速集成该功能。
二、工作日设置规则
1. 工作日定义
AilinkSWITCH系统支持两种工作日配置模式:
- 固定工作日模式:用户可指定每周的具体工作日(如周一至周五),系统自动排除周末。
- 自定义日期模式:用户可上传包含具体日期的列表(如节假日调休日),系统按列表执行。
2. 优先级规则
当同时配置固定工作日和自定义日期时,系统优先级为:
- 自定义日期列表中的日期;
- 固定工作日模式中的日期;
- 其他日期视为非工作日。
3. 时区支持
系统支持按任务所在时区判断工作日,避免因时区差异导致误判。例如,北京时间(UTC+8)的周五晚上可能对应美国东部时间(UTC-5)的周五早晨,系统会按任务发起方的时区处理。
三、API接口调用方法
1. 创建外呼任务接口
接口地址:POST /api/v1/tasks/create
请求头:
Content-Type: application/jsonAuthorization: Bearer {API_KEY}
请求参数:
| 参数名 | 类型 | 必填 | 说明 |
|————|———|———|———|
| name | string | 是 | 任务名称 |
| call_list_id | string | 是 | 呼叫列表ID |
| script_id | string | 是 | 脚本ID |
| start_time | string | 是 | 任务开始时间(ISO 8601格式) |
| end_time | string | 是 | 任务结束时间(ISO 8601格式) |
| workday_config | object | 否 | 工作日配置 |
| max_calls | integer | 否 | 最大呼叫次数 |
工作日配置参数:
| 参数名 | 类型 | 必填 | 说明 |
|————|———|———|———|
| mode | string | 是 | 模式:fixed(固定工作日)或 custom(自定义日期) |
| fixed_days | array | 模式为fixed时必填 | 工作日数组,如 ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"] |
| custom_dates | array | 模式为custom时必填 | 自定义日期数组,格式为 YYYY-MM-DD |
| timezone | string | 否 | 时区,默认为系统时区 |
2. 完整代码示例(Python)
import requestsimport jsonfrom datetime import datetime, timedelta# API配置API_KEY = "your_api_key_here"BASE_URL = "https://api.ailinkswitch.com"# 创建外呼任务def create_call_task():# 工作日配置:固定周一至周五workday_config = {"mode": "fixed","fixed_days": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"],"timezone": "Asia/Shanghai"}# 任务参数task_data = {"name": "Weekday_Promotion","call_list_id": "cl_123456","script_id": "sc_789012","start_time": (datetime.now() + timedelta(days=1)).isoformat(),"end_time": (datetime.now() + timedelta(days=7)).isoformat(),"workday_config": workday_config,"max_calls": 1000}# 发送请求headers = {"Content-Type": "application/json","Authorization": f"Bearer {API_KEY}"}response = requests.post(f"{BASE_URL}/api/v1/tasks/create",headers=headers,data=json.dumps(task_data))# 处理响应if response.status_code == 200:print("任务创建成功:", response.json())else:print("任务创建失败:", response.text)# 执行函数create_call_task()
3. 自定义日期模式示例
若需按具体日期执行(如排除国庆节),可修改workday_config:
workday_config = {"mode": "custom","custom_dates": ["2023-10-07", # 调休工作日"2023-10-08" # 调休工作日],"exclude_dates": [ # 可选:排除的日期"2023-10-01", # 国庆节"2023-10-02"],"timezone": "Asia/Shanghai"}
四、错误处理与最佳实践
1. 常见错误码
| 错误码 | 说明 | 解决方案 |
|---|---|---|
| 400 | 参数错误 | 检查workday_config模式是否匹配字段 |
| 403 | 权限不足 | 确认API_KEY是否有效 |
| 429 | 请求过频 | 增加重试间隔或联系支持 |
| 500 | 服务器错误 | 稍后重试并记录日志 |
2. 最佳实践
- 测试验证:先在小范围测试工作日配置,确认任务按预期执行。
- 日志监控:记录任务执行日志,便于排查问题。
- 动态更新:通过API动态调整工作日配置,适应业务变化。
- 时区一致性:确保任务时间、工作日时区与目标客户时区一致。
五、总结与扩展
通过AilinkSWITCH系统的工作日设置功能,企业可实现外呼任务的精准调度,避免无效呼叫,提升客户体验。开发者可通过配置workday_config参数,灵活选择固定工作日或自定义日期模式,并结合时区支持满足全球化业务需求。
未来,系统可进一步扩展以下功能:
- 智能排期:根据历史呼叫数据自动优化工作日设置。
- 多层级配置:支持按任务组、客户群等维度设置工作日。
- 可视化工具:提供图形化界面配置工作日,降低使用门槛。
掌握该功能后,开发者可高效集成自动化外呼能力,为企业创造更大价值。