如何在AilinkSWITCH中配置工作日自动外呼?接口调用与策略详解

如何在AilinkSWITCH中配置工作日自动外呼?接口调用与策略详解

一、系统架构与工作日设置的核心价值

AilinkSWITCH电话机器人系统采用微服务架构,其外呼任务调度模块通过集成工作日历服务,可精准控制机器人在指定日期执行外呼任务。这种设计解决了传统外呼系统在节假日、周末等非工作日误拨客户导致的资源浪费问题,同时满足金融、教育等行业对合规性外呼的严格要求。

工作日设置的核心价值体现在三方面:

  1. 合规性保障:避免在法定休息日或企业自定义非工作日触达客户
  2. 资源优化:集中工作日时段提升线路利用率,降低空转成本
  3. 客户体验:在目标客户可接听时段执行外呼,提升接通率15%-20%

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

  • 固定模式:基于ISO 8601标准的周循环设置(如仅工作日)
  • 自定义模式:通过日历API动态加载节假日安排

二、工作日设置接口详解

2.1 工作日历创建接口

接口定义

  1. POST /api/v1/workday-calendars
  2. Content-Type: application/json
  3. Authorization: Bearer {API_KEY}

请求参数
| 参数名 | 类型 | 必填 | 说明 |
|———————|————|———|———————————————————————————————————|
| calendarName | string | 是 | 日历名称(如”2024金融行业工作日”) |
| basePattern | string | 否 | 基础模式(MON-FRI/EVERYDAY/CUSTOM) |
| exceptions | array | 否 | 异常日期列表,格式为{"date": "YYYY-MM-DD", "isWorkday": boolean} |
| timeZone | string | 是 | 时区标识(如Asia/Shanghai) |

响应示例

  1. {
  2. "calendarId": "cal_123456",
  3. "status": "ACTIVE",
  4. "createdAt": "2024-03-01T08:00:00Z"
  5. }

2.2 外呼任务调度接口

接口定义

  1. POST /api/v1/outbound-campaigns
  2. Content-Type: application/json

关键参数

  1. {
  2. "name": "春季课程推广",
  3. "calendarId": "cal_123456",
  4. "schedule": {
  5. "type": "RECURRING",
  6. "interval": "DAILY",
  7. "startTime": "09:00:00",
  8. "endTime": "18:00:00"
  9. },
  10. "callList": [...],
  11. "scriptId": "sc_789012"
  12. }

执行逻辑

  1. 系统每日00:00检查次日是否为工作日
  2. 非工作日任务自动挂起,工作日08:30重新激活
  3. 工作时间段内按配置的并发数执行外呼

三、完整接口调用流程

3.1 创建工作日历(Python示例)

  1. import requests
  2. url = "https://api.ailinkswitch.com/api/v1/workday-calendars"
  3. headers = {
  4. "Authorization": "Bearer YOUR_API_KEY",
  5. "Content-Type": "application/json"
  6. }
  7. data = {
  8. "calendarName": "2024Q2工作日历",
  9. "basePattern": "MON-FRI",
  10. "exceptions": [
  11. {"date": "2024-05-01", "isWorkday": False}, # 劳动节
  12. {"date": "2024-06-10", "isWorkday": False} # 端午节
  13. ],
  14. "timeZone": "Asia/Shanghai"
  15. }
  16. response = requests.post(url, headers=headers, json=data)
  17. print(response.json())

3.2 创建外呼任务(cURL示例)

  1. curl -X POST https://api.ailinkswitch.com/api/v1/outbound-campaigns \
  2. -H "Authorization: Bearer YOUR_API_KEY" \
  3. -H "Content-Type: application/json" \
  4. -d '{
  5. "name": "会员续费提醒",
  6. "calendarId": "cal_123456",
  7. "schedule": {
  8. "type": "RECURRING",
  9. "interval": "DAILY",
  10. "startTime": "10:00:00",
  11. "endTime": "17:00:00"
  12. },
  13. "callList": [
  14. {"phone": "13800138000", "customerId": "C001"},
  15. {"phone": "13900139000", "customerId": "C002"}
  16. ],
  17. "scriptId": "sc_789012",
  18. "maxConcurrentCalls": 20
  19. }'

四、高级配置策略

4.1 动态工作日调整

通过Webhook机制实现实时工作日变更:

  1. // Node.js Webhook处理示例
  2. app.post('/webhook/workday-update', (req, res) => {
  3. const { calendarId, changes } = req.body;
  4. // 调用API更新日历
  5. fetch(`https://api.ailinkswitch.com/api/v1/workday-calendars/${calendarId}`, {
  6. method: 'PATCH',
  7. headers: { 'Authorization': 'Bearer YOUR_API_KEY' },
  8. body: JSON.stringify({ exceptions: changes })
  9. });
  10. res.status(200).send('Calendar updated');
  11. });

4.2 多时区管理方案

对于跨国企业,建议:

  1. 为每个时区创建独立日历
  2. 在任务调度时指定timeZone参数
  3. 使用UTC时间存储调度记录

多时区任务示例

  1. {
  2. "name": "全球客户关怀",
  3. "timeZones": [
  4. {"region": "APAC", "calendarId": "cal_apac", "offset": "+08:00"},
  5. {"region": "EMEA", "calendarId": "cal_emea", "offset": "+01:00"}
  6. ],
  7. "schedule": {
  8. "type": "REGIONAL",
  9. "timeWindows": [
  10. {"region": "APAC", "start": "09:00", "end": "18:00"},
  11. {"region": "EMEA", "start": "10:00", "end": "19:00"}
  12. ]
  13. }
  14. }

五、常见问题解决方案

5.1 时区配置错误排查

现象:任务在非预期时间执行
检查步骤

  1. 验证timeZone参数是否符合IANA时区数据库标准
  2. 检查服务器时钟同步状态(ntpq -p
  3. 确认任务创建时的UTC时间转换是否正确

5.2 节假日更新机制

建议建立自动化流程:

  1. graph TD
  2. A[政府节假日公告] --> B[解析XML/JSON数据]
  3. B --> C[生成例外日期列表]
  4. C --> D[调用PATCH /workday-calendars/{id}]
  5. D --> E[日志记录与告警]

六、最佳实践建议

  1. 日历版本控制:每次更新生成新版本号,便于回滚
  2. 监控告警:设置非工作日任务执行告警(如通过CloudWatch)
  3. 渐进式部署:先在测试环境验证节假日配置
  4. 文档维护:记录特殊日期配置原因(如展会调整日)

通过合理配置工作日设置,某银行客户实现外呼资源利用率提升40%,同时客户投诉率下降25%。建议每季度审查一次工作日历配置,确保与实际业务需求同步。

系统支持的最大日历数量为100个/账户,单个日历最多可配置1000个例外日期。对于超大规模部署,建议采用分账户管理策略。