接入阿里云云呼叫中心

1. 前两天在接入阿里云的云呼叫中心的时候碰到一些问题,而且他们的demo上面也没有注释,文档上面改版后也没有及时更新,故在此记录一下

2.  在接入云呼叫中心之前看了他们的公共参数说明,里面需要一个access_token:

这个access_token需要从OAuth2里面进行获取。

2.1  首先第一步需要在OAuth2进行授权,从而获取access_token,我这里使用的是静默授权,文档上面是没有说明的,要参考他们的demo

2.2  由于之前同事已经开通了云呼叫中心和坐席工作台,并配置了一个实例和应用(https://enterprise.console.aliyun.com,由于这个是公测版的控制台,旧版是没有应用管理的,找了半天才找到,坑),所以这里只需要配置应用管理里面的回调地址即可,回调地址在授权的时候需要用到(阿里会校验这个地址是否匹配,调试开发的话可以先把本地127和测试的地址放到回调地址里面,上面是支持多个地址的),到时换取access_token所需的code会放到回调地址的query string传过来,我们只需要截取出来即可

2.3 获取access_token之前需要使用代码"GET",请求这个地址:https://signin.aliyun.com/login.htm,进行登录,这个登录主账号是不能登录的,必须要使用子账户:所以必须要先在这个RAM访问控制台新建一个子账户:https://ram.console.aliyun.com/?spm=5176.10706143.0.0.77ad7c98WMKSOc#/overview ,然后进入"管理",创建AccessKey,再进行授权:

2.4  创建了子账户之后,需要将子账户添加进坐席,子账户才能调用API接口,(注:主账号是不能调用API接口的)

https://ccc.aliyun.com/workbench/yirongzl/users,进入"客服管理-坐席-导入方式-RAM导入",角色为坐席即可

2.5  将子账户导入坐席之后,便可以调用OAuth2的API接口获取code从而换取access_token,access_token的最长有效时间为3小时,可以在https://enterprise.console.aliyun.com的应用管理里面设置访问令牌的有效期为3小时。

2.6  获取到access_token之后,我们便可以调用云呼叫中心的API接口,接入云呼叫中心,由于我这里只需要下载录音文件,就不再赘述下面的步骤了。

我可以回答这个问题。以下是一个示例代码: #include <reg52.h> #include <stdio.h> #include <string.h> #define BAUDRATE 9600 #define ESP8266_SSID "your_SSID" #define ESP8266_PASSWORD "your_password" #define ALIYUN_PRODUCT_KEY "your_product_key" #define ALIYUN_DEVICE_NAME "your_device_name" #define ALIYUN_DEVICE_SECRET "your_device_secret" sbit ESP8266_RST = P1^0; sbit ESP8266_CH_PD = P1^1; void init_serial() { TMOD = 0x20; TH1 = 256 - (11059200 / 12 / BAUDRATE); TL1 = TH1; TR1 = 1; SM0 = 0; SM1 = 1; REN = 1; } void send_byte(unsigned char byte) { SBUF = byte; while (!TI); TI = 0; } void send_string(char *str) { while (*str) { send_byte(*str++); } } void esp8266_send_command(char *cmd) { send_string(cmd); send_string("\r\n"); } void esp8266_wait_for_response(char *response) { char buffer[128]; int i = 0; while (1) { if (RI) { buffer[i++] = SBUF; RI = 0; if (i >= strlen(response)) { buffer[i] = '\0'; if (strcmp(buffer + i - strlen(response), response) == 0) { break; } } } } } void esp8266_reset() { ESP8266_RST = 0; ESP8266_CH_PD = 0; delay(100); ESP8266_RST = 1; ESP8266_CH_PD = 1; delay(1000); } void esp8266_connect_wifi() { esp8266_send_command("AT+CWJAP=\"" ESP8266_SSID "\",\"" ESP8266_PASSWORD "\""); esp8266_wait_for_response("OK"); } void esp8266_connect_aliyun() { char buffer[128]; sprintf(buffer, "AT+IOTCID=\"%s.%s\"", ALIYUN_PRODUCT_KEY, ALIYUN_DEVICE_NAME); esp8266_send_command(buffer); esp8266_wait_for_response("OK"); esp8266_send_command("AT+IOTSECRET=\"" ALIYUN_DEVICE_SECRET "\""); esp8266_wait_for_response("OK"); esp8266_send_command("AT+IOTCONNECT"); esp8266_wait_for_response("CONNECTED"); } void main() { init_serial(); esp8266_reset(); esp8266_connect_wifi(); esp8266_connect_aliyun(); while (1) { // do something } }
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值