如何在AilinkSWITCH中设置工作日并调用接口安排自动外呼任务?

在AilinkSWITCH电话机器人系统中,如何根据指定的工作日设置来安排机器人自动外呼任务?请提供具体的接口调用示例

一、背景与需求分析

在电话机器人系统的实际应用中,企业需要根据业务场景灵活安排外呼任务的时间。例如,教育行业可能仅在工作日(周一至周五)进行课程推广,金融行业可能避开法定节假日,而电商行业则可能根据促销周期调整外呼节奏。AilinkSWITCH电话机器人系统通过支持工作日设置功能,允许用户自定义可执行外呼任务的日期范围,从而提升任务执行的精准度和资源利用率。

本文将详细介绍如何在AilinkSWITCH系统中配置工作日规则,并通过API接口实现基于指定工作日的自动外呼任务调度。内容涵盖工作日配置规则、接口调用方法、参数说明及完整代码示例,帮助开发者快速集成该功能。

二、工作日设置规则

1. 工作日定义

AilinkSWITCH系统支持两种工作日配置模式:

  • 固定工作日模式:用户可指定每周的具体工作日(如周一至周五),系统自动排除周末。
  • 自定义日期模式:用户可上传包含具体日期的列表(如节假日调休日),系统按列表执行。

2. 优先级规则

当同时配置固定工作日和自定义日期时,系统优先级为:

  1. 自定义日期列表中的日期;
  2. 固定工作日模式中的日期;
  3. 其他日期视为非工作日。

3. 时区支持

系统支持按任务所在时区判断工作日,避免因时区差异导致误判。例如,北京时间(UTC+8)的周五晚上可能对应美国东部时间(UTC-5)的周五早晨,系统会按任务发起方的时区处理。

三、API接口调用方法

1. 创建外呼任务接口

接口地址POST /api/v1/tasks/create

请求头

  1. Content-Type: application/json
  2. Authorization: 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)

  1. import requests
  2. import json
  3. from datetime import datetime, timedelta
  4. # API配置
  5. API_KEY = "your_api_key_here"
  6. BASE_URL = "https://api.ailinkswitch.com"
  7. # 创建外呼任务
  8. def create_call_task():
  9. # 工作日配置:固定周一至周五
  10. workday_config = {
  11. "mode": "fixed",
  12. "fixed_days": ["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY"],
  13. "timezone": "Asia/Shanghai"
  14. }
  15. # 任务参数
  16. task_data = {
  17. "name": "Weekday_Promotion",
  18. "call_list_id": "cl_123456",
  19. "script_id": "sc_789012",
  20. "start_time": (datetime.now() + timedelta(days=1)).isoformat(),
  21. "end_time": (datetime.now() + timedelta(days=7)).isoformat(),
  22. "workday_config": workday_config,
  23. "max_calls": 1000
  24. }
  25. # 发送请求
  26. headers = {
  27. "Content-Type": "application/json",
  28. "Authorization": f"Bearer {API_KEY}"
  29. }
  30. response = requests.post(
  31. f"{BASE_URL}/api/v1/tasks/create",
  32. headers=headers,
  33. data=json.dumps(task_data)
  34. )
  35. # 处理响应
  36. if response.status_code == 200:
  37. print("任务创建成功:", response.json())
  38. else:
  39. print("任务创建失败:", response.text)
  40. # 执行函数
  41. create_call_task()

3. 自定义日期模式示例

若需按具体日期执行(如排除国庆节),可修改workday_config

  1. workday_config = {
  2. "mode": "custom",
  3. "custom_dates": [
  4. "2023-10-07", # 调休工作日
  5. "2023-10-08" # 调休工作日
  6. ],
  7. "exclude_dates": [ # 可选:排除的日期
  8. "2023-10-01", # 国庆节
  9. "2023-10-02"
  10. ],
  11. "timezone": "Asia/Shanghai"
  12. }

四、错误处理与最佳实践

1. 常见错误码

错误码 说明 解决方案
400 参数错误 检查workday_config模式是否匹配字段
403 权限不足 确认API_KEY是否有效
429 请求过频 增加重试间隔或联系支持
500 服务器错误 稍后重试并记录日志

2. 最佳实践

  1. 测试验证:先在小范围测试工作日配置,确认任务按预期执行。
  2. 日志监控:记录任务执行日志,便于排查问题。
  3. 动态更新:通过API动态调整工作日配置,适应业务变化。
  4. 时区一致性:确保任务时间、工作日时区与目标客户时区一致。

五、总结与扩展

通过AilinkSWITCH系统的工作日设置功能,企业可实现外呼任务的精准调度,避免无效呼叫,提升客户体验。开发者可通过配置workday_config参数,灵活选择固定工作日或自定义日期模式,并结合时区支持满足全球化业务需求。

未来,系统可进一步扩展以下功能:

  1. 智能排期:根据历史呼叫数据自动优化工作日设置。
  2. 多层级配置:支持按任务组、客户群等维度设置工作日。
  3. 可视化工具:提供图形化界面配置工作日,降低使用门槛。

掌握该功能后,开发者可高效集成自动化外呼能力,为企业创造更大价值。