Пример #1
0
        /// <summary>
        /// 发起双呼
        /// </summary>
        public async Task <String> StartBack2BackCall(YaeherPhone yaeherPhone)
        {
            AliCCC               aliCCC               = new AliCCC();
            AliAccessToken       aliAccessToken       = new AliAccessToken();
            AliAccessTokenEntity aliAccessTokenEntity = new AliAccessTokenEntity();
            AccessTokenInfo      accessTokenInfo      = new AccessTokenInfo();
            HttpHelper           httpHelper           = new HttpHelper();

            #region 公共参数
            aliCCC.Format         = "JSON";
            aliCCC.Version        = "2017-07-05";
            aliCCC.Timestamp      = DateTime.UtcNow.ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ");
            aliCCC.SignatureType  = "BEARERTOKEN";
            aliCCC.RegionId       = "cn-shanghai";
            aliCCC.SignatureNonce = new RandomCode().GenerateCheckCode(45);
            ///人工维护的token  10个月维护一次
            accessTokenInfo.refresh_token = "s6P4FNojcR0t9Yk6";
            var aliAccessTokens = await aliAccessToken.RefreshAccessToken(accessTokenInfo);

            aliCCC.BearerToken = aliAccessTokens.access_token;
            #endregion

            #region 双呼参数
            aliCCC.Action           = "StartBack2BackCall";
            aliCCC.InstanceId       = "33295c19-1afd-4926-ae46-cd5a28ade3e8";
            aliCCC.CallCenterNumber = yaeherPhone.CallCenterNumber;
            aliCCC.Caller           = yaeherPhone.Caller;
            aliCCC.Callee           = yaeherPhone.Callee;
            #endregion

            string        url           = "https://ccc.cn-shanghai.aliyuncs.com/?";
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.Append(url);
            stringBuilder.Append("&Format=" + aliCCC.Format);
            stringBuilder.Append("&Version=" + aliCCC.Version);
            stringBuilder.Append("&Timestamp=" + aliCCC.Timestamp);
            stringBuilder.Append("&SignatureType=" + aliCCC.SignatureType);
            stringBuilder.Append("&RegionId=" + aliCCC.RegionId);
            stringBuilder.Append("&SignatureNonce=" + aliCCC.SignatureNonce);
            stringBuilder.Append("&BearerToken=" + aliCCC.BearerToken);
            stringBuilder.Append("&Action=" + aliCCC.Action);
            stringBuilder.Append("&InstanceId=" + aliCCC.InstanceId);
            //stringBuilder.Append("&WorkflowId=" + aliCCC.WorkflowId);
            stringBuilder.Append("&CallCenterNumber=" + aliCCC.CallCenterNumber);
            stringBuilder.Append("&Caller=" + aliCCC.Caller);
            stringBuilder.Append("&Callee=" + aliCCC.Callee);
            var AuthorizationCode = await httpHelper.PostResponseAsync(stringBuilder.ToString(), "");

            return(AuthorizationCode.ToString());
        }
Пример #2
0
        public async Task <YaeherPhone> CreateYaeherPhone(YaeherPhone YaeherPhoneInfo)
        {
            YaeherPhoneInfo.Id = await _repository.InsertAndGetIdAsync(YaeherPhoneInfo);

            return(YaeherPhoneInfo);
        }