AIRUDDER API
  1. 加解密对接
AIRUDDER API
  • API 文档介绍
  • Introductions
  • 快速上手
  • Quick Start
  • 鉴权方法
    • 验证并获取令牌
      POST
  • Get the Authorization token
    • Token Authentication and Obtain
      POST
  • 全局错误代码
    • 全局错误代码
  • Error Codes
    • Error Codes
  • 催收
    • 快速上手
    • 调用任务相关 API
      • 创建外呼拨打任务
      • 列出已创建的任务
      • 停止一个呼叫任务
      • 取消指定任务中的某个电话的拨打
      • 任务结束状态通知
      • 任务电话维度拨打结束状态通知
      • 获取任务详细信息
      • 获取单个案件通话录音
      • 获取任务录音文件
      • 获取机器人列表
      • 根据callid获取电话信息和录音链接
    • 调用计划相关的API
      • 获取策略列表
      • 创建策略计划拨打任务
      • 获取计划状态信息
      • 获取计划内任务轮次信息
      • 列出已创建的任务
      • 停止一个呼叫任务
      • 取消计划中的某个电话的拨打
      • 计划结束状态通知
      • 任务结束状态通知
      • 任务电话维度拨打结束状态通知
      • 获取任务详细信息
      • 获取单个案件通话录音
      • 获取任务录音文件
      • 获取计划内某个电话所有的通话录音
  • Collection
    • Quick Start
    • APIs Related to Calling Tasks
      • Create a Calling Task
      • List the Task Created
      • Cancel a Calling Task
      • Cancel a Certain Call in a Specific Task
      • Webhook of Task
      • Webhook of Call
      • Obtain the Detailed Information of Tasks
      • Obtain a Call Recording
      • Obtain Call Recordings
      • Fetch robot list
    • APIs Related to Calling Plans
      • Obtain the List of Strategies
      • Create a Dialing Plan with Strategy
      • Obtain the Information of Plan Status
      • Obtain the Information of Each Round of the Plan
      • List the Task Created
      • Cancel a Calling Task
      • Cancel a Certain Call in a Plan
      • Webhook of Plan
      • Webhook of Task
      • Webhook of Call
      • Obtain the Detailed Information of Tasks
      • Obtain a Call Recording
      • Obtain Task Recordings
      • Obtain All Call Recordings of a Number in the Plan
  • 营销&电商
    • 快速上手
    • 调用任务相关的API
      • 创建拨打任务
      • 列出已创建的任务
      • 停止一个呼叫任务
      • 取消某个任务电话拨打
      • 获取任务详细信息
      • 任务结束状态通知
      • 任务电话维度拨打结束状态通知
      • 获取单个案件通话录音
      • 获取任务录音文件
      • 获取机器人列表
      • 根据callid获取电话信息和录音链接
    • 调用计划相关的API
      • 获取策略列表
      • 创建策略计划拨打任务
      • 获取计划状态信息
      • 获取计划内任务轮次信息
      • 列出已创建的任务
      • 取消一个呼叫任务
      • 取消计划中的某个电话的拨打
      • 计划结束状态通知
      • 任务结束状态通知
      • 任务电话维度拨打结束状态通知
      • 获取任务详细信息
      • 获取单个案件通话录音
      • 获取任务录音文件
      • 获取计划内某个电话所有的通话录音
  • Telemarketing & E-commerce
    • Quick Start
    • APIs Related to Calling Tasks
      • Create a Calling Task
      • List the Task Created
      • Cancel a Calling Task
      • Cancel a Certain Call in a Specific Task
      • Webhook of task
      • Webhook of Call
      • Obtain the Detailed Information of Tasks
      • Obtain a Call Recording
      • Obtain Task Recordings
      • Fetch robot list
    • APIs Related to Calling Plans
      • Obtain the List of Strategies
      • Create a Dialing Plan with Strategy
      • Obtain the Information of Plan Status
      • Obtain the Information of Each Round of the Plan
      • List the Task Created
      • Cancel a Calling Task
      • Cancel a Certain Call in a Plan
      • Webhook of Plan
      • Webhook of Task
      • Webhook of Call
      • Obtain the Detailed Information of Tasks
      • Obtain a Call Recording
      • Obtain Call Recordings
      • Obtain All Call Records of a Number in the Plan
  • 信审
    • 快速上手
    • 调用任务相关的API
      • 创建拨打任务
      • 列出已创建的任务
      • 停止一个任务拨打
      • 取消某个任务电话拨打
      • 任务结束状态通知
      • 任务电话维度拨打结束状态通知
      • 获取任务详细信息
      • 获取单个案件通话录音
      • 获取任务录音文件
      • 获取机器人列表
      • 根据callid获取电话信息和录音链接
    • 调用计划相关的API
      • 获取策略列表
      • 创建策略计划拨打任务
      • 获取计划状态信息
      • 获取计划内任务轮次信息
      • 列出已创建的任务
      • 停止一个任务拨打
      • 取消计划中的某个电话的拨打
      • 计划结束状态通知
      • 任务结束状态通知
      • 任务电话维度拨打结束状态通知
      • 获取任务详细信息
      • 获取单个案件通话录音
      • 获取任务录音文件
      • 获取计划内某个电话所有的通话录音
  • Info Check
    • Quick Start
    • APIs Related to Calling Tasks
      • Create a Calling Task
      • List the Task Created
      • Cancel a Calling Task
      • Cancel a Certain Call in a Specific Task
      • Webhook of task
      • Webhook of Call
      • Obtain the Detailed Information of Tasks
      • Obtain a Call Recording
      • Obtain Task Recordings
      • Fetch robot list
    • APIs Related to Calling Plans
      • Obtain the List of Strategies
      • Create a Dialing Plan with Strategy
      • Obtain the Information of Plan Status
      • Obtain the Information of Each Round of the Plan
      • List the Task Created
      • Cancel a Calling Task
      • Cancel a Certain Call in a Plan
      • Webhook of Plan
      • Webhook of Task
      • Webhook of Call
      • Obtain the Detailed Information of Tasks
      • Obtain a Call Recording
      • Obtain Call Recordings
      • Obtain All Call Records of a Number in the Plan
  • Workflow 工作流
    • 预测式外呼信息回调
      • PDS 坐席状态更改回调
      • PDS 联系人状态更改回调
      • PDS 任务状态更改回调
    • 创建一个新的Workflow任务
    • 获取workflow模板列表
    • 为workflow任务新增名单
    • 更新workflow任务内的名单信息
    • 取消workflow任务内某个电话的后续流程
    • Workflow外呼电话拨打结束通知 (催收/营销/电商示例)
    • Workflow外呼电话拨打结束通知 (信审示例)
    • 自定义API 节点数据推送
    • 验证 自定义API 节点数据推送
    • 停止workflow任务
    • 获取workflow任务列表
    • 获取workflow实例的子任务列表信息
    • 获取workflow节点运行的外呼任务
    • 获取workflow外呼任务明细 (催收/营销/电商示例)
    • 获取workflow外呼任务明细(信审示例)
    • 根据callee/caseid和taskid/workflow_id获取电话信息和录音链接
    • 根据callid获取电话信息和录音链接
    • 获取workflow里单个电话的所有录音
    • 通过 case_id/callee 查询 workflow_id
    • workflow 名单结束通知
    • workflow 状态变更通知
    • 获取workflow节点运行的WABA任务
    • 获取workflow内WABA任务明细
    • Workflow内WABA消息状态变更通知
    • Workflow内Chatbot会话结束通知
  • Workflow
    • Webhooks of the Info of Predictive Dialer System
      • Webhook of Predictive Dialer Task Status Changes
      • Webhook of Predictive Dialer Contacts Status Changes
      • Webhook of Predictive Dialer Agents Status Changes
    • Create a New WorkFlow Task
    • Obtain the List of Workflow Templates
    • Add lists to an workflow task
    • Update the List Info of Workflow Task
    • Cancel the processes for a specific list
    • Notification of Call Completion in Workflow (Debt Collection/Marketing/E-commerce)
    • Notification of Call Completion in Workflow(Info Check)
    • Custom API Node Data Push
    • Verify the Custom API Node Data Push
    • Stop the Workflow Task
    • Obtain the Workflow Task List
    • Obtain the Subtask List of the Workflow
    • Obtain the Outbound Task List of Workflow
    • Obtain the Outbound Task Details of Workflow(Collection/Telemarketing/E-commerce)
    • Obtain the Outbound Task Details of Workflow(Info Check)
    • Obtain Call Information and Recording Links by callee/caseid and taskid/workflow_id
    • Obtian Call Information and Recording Link by Call ID
    • Obtain All the Recordings of a Single Number in the Workflow
    • Query workflow_id using case_id/callee
    • Notification for Workflow List Completion
    • Notification of Workflow Status Change
    • Obtain the WABA Tasks List of Workflow
    • Obtain the WABA Task Details of Workflow
    • Notification of WABA Message Status Alteration in Workflow
    • Chatbot Session End Notification in Workflow
  • 加解密对接
    • API接口使用AES加解密对接
    • API接口使用AES加解密对接-示例
  • WorkFlow_LeadsGeneration
    • Webhooks of the Info of Predictive Dialer System
      • Webhook of Predictive Dialer Task Status Changes
      • Webhook of Predictive Dialer Agents Status Changes
      • Webhook of Predictive Dialer Contacts Status Changes
    • Create a New WorkFlow Task
    • Obtain the List of Workflow Templates
    • Add Workflow Contacts
    • Update the List Info of Workflow
    • Cancel a Call
    • End Status Notification from the Dimension of Phone Call
    • Stop the Workflow Task
    • Custom API Data Push
    • Verify the Custom API Data Push
    • Obtain the Task List of Workflow
    • Obtain the Subtask List of the Workflow
    • Obtain All the Recordings of a Single Number in the Workflow
  • Flex_Route
    • LendSwift-Outbound-Push-Data-to-AI-Rudder
    • SDR-Webpage-Push-Data-to-Workflow
    • Talmarket Debt-Consolidation Push Data to Make Outboud Call
    • Use AI Rudder Make Outbound Call
  • API_Store
    • Push-Data-to-Boberdoo-After-EnablementData-Inbound-Call
    • AI Rudder Ping Doucet Before Transfer
  • 回调数据加解密对接
  • DIDI营销定制
    • 获取机器人列表
    • 获取机器人详情
    • 创建外呼拨打任务
  • Chatbot
    • 接入准备
    • 错误码
    • HSB关于custom字段使用说明
    • 华为
      • api
        • 用户发送消息
        • 转人工结果
      • webhook
        • 回调机器人回复消息
        • 回调转人工申请
        • 结束会话
    • bot
      • 用户发送消息
      • 回调机器人回复消息
      • 回调转人工申请
      • 回调结束会话
    • 查询可用WABA账号
    • 查询模版列表
    • 查询模版详情
    • 发送模版消息
    • 查询模版消息发送结果
    • 回调模版消息发送结果
    • 发送单个模版消息接口
    • 回调单个模版消息用户响应
    • 回调转人工申请
    • 回调坐席消息发送之后的状态变更
    • 回调转人工后用户发送的消息
    • 回调会话结束事件
    • 转人工结果
    • 查询会话列表
    • 查询消息列表
    • 将用户消息标记为已读
    • 发送普通消息
    • 结束会话
    • 上传文件
    • 上传文件(谷歌地图缩略图)
    • 会话结束后上报
    • 查询公司所有渠道信息
    • 用户发送的消息事件上报
    • 渠道发送的消息事件上报
    • 渠道发送的消息状态变更事件上报
    • 获取公司信息
    • 查询运单号物流轨迹
  • Chatbot English
    • Quick Start
    • Error Code
    • bot
      • User send message
      • Callback bot reply message
      • Callback transfer to agent request
      • Callback for ended session
    • Query available WABA accounts
    • Query the template list
    • Template details
    • Send template message
    • Query the template message sending result
    • Callback template message sending result
    • Send single template message
    • Callback single template message user response
    • Callback agent transfer request
    • Callback status change after the message is sent
    • Callback message sent by user
    • *Callback agent transfer request
    • *Callback for status change after the agent message is sent
    • *Callback for messages sent by the user after transferring to agent
    • Callback for session end event
    • Agent transfer result
    • Query conversation list
    • Query message list
    • *Query message list
    • Mark user message as read
    • Send regular message
    • End session
    • Upload file
    • Upload file (Google maps thumbnail)
    • Report after session ends
  • Inbound Callback
    • inbound业务对接介绍
    • Inbound Business Integration Guide
    • 转人工成功后通知
    • Notification after Successful Transfer to an Agent
    • 电话结束后通知
    • Notification after the Call Ends
  1. 加解密对接

API接口使用AES加解密对接

1. 实现方案#

API请求支持AES+sha256加密签名认证方案,使用AES对请求参数和响应数据做加密处理, 对请求参数和响应数据做sha256摘要签名。

1.1 AES加密参数#

密钥: 长度为16/24/32的字符串(数字,字母),分别对应128/196/256位加密,测试密钥是airudderredduria,实际生产使用的密钥请先和我们联系。
加密模式 ECB
填充 zeropadding (\0)
示例中使用python语言,实际语言可自行选择。
def aes_encrypt(text, aeskey):
    """aes加密"""
    
    if isinstance(text, str):
        text = text.encode("utf8")
    enc_secret = AES.new(aeskey.encode("utf-8"), AES.MODE_ECB)
    # ECB的一种填充方式。 ECB要求输入明文长度必须是块长度的整数倍,因此text必须填充至满足要求。本文档里约定使用 "\0" 进行补位。
    tag_string = text + (AES.block_size - len(text) % AES.block_size) * b"\0"  
    cipher_text = base64.b64encode(enc_secret.encrypt(tag_string))
    return cipher_text


def aes_decrypt(text, aeskey):
    """aes解密"""

    if isinstance(text, str):
        text = text.encode("utf8")
    dec_secret = AES.new(aeskey.encode("utf-8"), AES.MODE_ECB)
    raw_decrypted = dec_secret.decrypt(base64.b64decode(text))
    clear_val = raw_decrypted.rstrip(b"\0")
    return clear_val

1.2 sha256签名方式#

对原始加密数据utf-8编码,取其sha256摘要的16进制的小写值
示例中使用python语言,实际语言可自行选择。
def sha256_sign(text):
    """sha256签名"""
    
    if isinstance(text, str):
        text = text.encode("utf8")
    return hashlib.sha256(text).hexdigest()

2. 加密请求数据和解密响应数据#

2.1 对接方需要在请求里作以下处理后在发送请求#

.请求HEADER里添加 Is-Encrypted 1 标记是否加密
.请求HEADER里添加 Signed xxx 标记sha256的签名值
{
    "Is-Encrypted": "1",
    "Signed": "6956d7af4c89b89f19f9ae0a8be4bcf12abe7c6ed893691733f3480ad3f3aabc"
}
*.请求的原始加密数据分 GET请求和 POST请求
GET请求的原始加密数据是 所有参数进行urlencode后的值(即query_string)
POST请求的原始加密数据是 参数jsondumps后的值 (即body)

*.对原始加密数据进行加密处理后变成加密数据,替换原始加密数据, 计算出原始加密数据的sha256签名值放到header中。在发送请求即可

2.2 如果请求是加密请求,则响应也对应的是加密响应,对接方按以下方式解密#

.响应HEADER里添加Is-Encrypted 1 标记是否加密
.响应HEADER里添加 Signed xxx 标记sha256的签名值
*.响应的数据就是加密后的数据(即content)
*.对加密的响应数据进行解密后生成原始响应数据,对此原始响应数据进行sha256签名并与HEADER里Signed值进行比较,一致后在进行后续处理即可。
上一页
Chatbot Session End Notification in Workflow
下一页
API接口使用AES加解密对接-示例
Built with