开发者社区> 问答> 正文

流量充值API(Charge)---Python



流量直冲接口(Charge)



步骤 1 创建阿里云账号


为了访问语音服务,您需要有一个阿里云账号。如果没有,可首先按照如下步骤创建阿里云账号:

  1. 访问阿里云 官方网站,单击页面上的 免费注册 按钮。
  2. 按照屏幕提示完成注册流程并进行企业实名认证语音服务只支持企业实名认证用户使用。为了更好地使用阿里云服务,建议尽快完成实名认证,否则部分阿里云服务将无法使用。具体实名认证流程,请参考 这里


步骤 2 获取阿里云访问密钥


为了使用语音文本单呼API-JAVA SDK,您必须申请阿里云的访问密钥。
阿里云访问秘钥是阿里云为用户使用 API(非控制台)来访问其云资源设计的“安全口令”。您可以用它来签名 API 请求内容以通过服务端的安全验证。
该访问秘钥成对(AccessKeyId 与 AccessKeySecret)生成和使用。每个阿里云用户可以创建多对访问秘钥,且可随时启用(Active)、禁用(Inactive)或者删除已经生成的访问秘钥对。
您可以通过阿里云控制台的 秘钥管理页面 创建、管理所有的访问秘钥对,且保证它处于“启用”状态。由于访问秘钥是阿里云对 API 请求进行安全验证的关键因子,请妥善保管你的访问秘钥。如果某些秘钥对出现泄漏风险,建议及时删除该秘钥对并生成新的替代秘钥对。

步骤 3 流量充值整体流程及操作步骤


流量充值整体流程及操作步骤

参数说明



入参列表

参数名称参数类型必填与否样例取值参数说明
PhoneNumberString必须13010112022充值手机号
GradeString必须50充值档位(可以通过档位查询接口查询当前手机号支持的档位)
IsProvinceBoolean必须false是否分省,默认为false,如果需要分省需要找业务接口人申请该字段的权限
ReasonString可选活动积分兑换充值原因备注
OutIdString必须abcdefgh外部流水扩展字段,流量服务中会根据OutId做幂等,防止对同一流水的多次充值请求
scopeString可选0取值有0和1两种情况,0的代表是全国流量,1代表是省内流量 ,不填默认为0


出参列表

出参名称出参类型样例取值参数说明
RequestIdString8906582E-6722请求ID
CodeStringOK状态码-返回OK代表请求成功,其他错误码详见错误码列表
MessageString请求成功状态码的描述


技术对接步骤



1:下载SDK工具包


SDK工具包中一共包含了2个目录:
aliyun-python-sdk-core:阿里云api调用的核心代码库,python版本。
alicom-python-sdk-dycdpapi:流量直冲相关接口调用的客户端以及示例代码。
确定本机已经安装了python,版本要求:2.6.5 或以上版本, 进入aliyun-python-sdk-core 执行:python setup.py install。
运行demo示例。进入alicom-python-sdk-dycdpapi目录执行:python demo.py
SDK&DEMO[ 下载地址]

2: 编写样例程序

  1. [backcolor=transparent]from[backcolor=transparent] aliyunsdkdycdpapi[backcolor=transparent].[backcolor=transparent]request[backcolor=transparent].[backcolor=transparent]v20170525 [backcolor=transparent]import[backcolor=transparent] [backcolor=transparent]ChargeRequest
  2. [backcolor=transparent]from[backcolor=transparent] aliyunsdkdycdpapi[backcolor=transparent].[backcolor=transparent]request[backcolor=transparent].[backcolor=transparent]v20170525 [backcolor=transparent]import[backcolor=transparent] [backcolor=transparent]QueryChargeDetailRequest
  3. [backcolor=transparent]from[backcolor=transparent] aliyunsdkdycdpapi[backcolor=transparent].[backcolor=transparent]request[backcolor=transparent].[backcolor=transparent]v20170525 [backcolor=transparent]import[backcolor=transparent] [backcolor=transparent]QueryGradesRequest
  4. [backcolor=transparent]from[backcolor=transparent] aliyunsdkcore[backcolor=transparent].[backcolor=transparent]client [backcolor=transparent]import[backcolor=transparent] [backcolor=transparent]AcsClient
  5. [backcolor=transparent]import[backcolor=transparent] uuid
  6. [backcolor=transparent]"""
  7. [backcolor=transparent]流量API产品充值代码样例
  8. [backcolor=transparent]Created on 2017-06-12
  9. [backcolor=transparent]"""
  10. [backcolor=transparent]#暂时不支持多Region,只支持杭州Region
  11. [backcolor=transparent]REGION [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]"cn-hangzhou"
  12. [backcolor=transparent]# ACCESS_KEY_ID/ACCESS_KEY_SECRET 根据实际申请的账号信息进行替换
  13. [backcolor=transparent]ACCESS_KEY_ID [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]"yourAccessKeyId"
  14. [backcolor=transparent]ACCESS_KEY_SECRET [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]"yourAccessKeySecret"
  15. [backcolor=transparent]acs_client [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]AcsClient[backcolor=transparent]([backcolor=transparent]ACCESS_KEY_ID[backcolor=transparent],[backcolor=transparent] ACCESS_KEY_SECRET[backcolor=transparent],[backcolor=transparent] REGION[backcolor=transparent])
  16. [backcolor=transparent]def[backcolor=transparent] charge[backcolor=transparent]([backcolor=transparent]business_id[backcolor=transparent],[backcolor=transparent] mobile[backcolor=transparent],[backcolor=transparent] grade[backcolor=transparent],[backcolor=transparent] is_province[backcolor=transparent]=[backcolor=transparent]'false'[backcolor=transparent],[backcolor=transparent] reason[backcolor=transparent]=[backcolor=transparent]None[backcolor=transparent]):
  17. [backcolor=transparent]    chargeRequest [backcolor=transparent]=[backcolor=transparent] [backcolor=transparent]ChargeRequest[backcolor=transparent].[backcolor=transparent]ChargeRequest[backcolor=transparent]()
  18. [backcolor=transparent]    [backcolor=transparent]# 设置业务请求流水号,必填。后端服务基于此标识区分是否重复请求的判断
  19. [backcolor=transparent]    chargeRequest[backcolor=transparent].[backcolor=transparent]set_OutId[backcolor=transparent]([backcolor=transparent]business_id[backcolor=transparent])
  20. [backcolor=transparent]    [backcolor=transparent]# 需要充值的手机号码,必填。
  21. [backcolor=transparent]    chargeRequest[backcolor=transparent].[backcolor=transparent]set_PhoneNumber[backcolor=transparent]([backcolor=transparent]mobile[backcolor=transparent])
  22. [backcolor=transparent]    [backcolor=transparent]# 需要充值的档位,必填。
  23. [backcolor=transparent]    chargeRequest[backcolor=transparent].[backcolor=transparent]set_Grade[backcolor=transparent]([backcolor=transparent]grade[backcolor=transparent])
  24. [backcolor=transparent]    [backcolor=transparent]# 是否需要指定分省通道,必填。
  25. [backcolor=transparent]    chargeRequest[backcolor=transparent].[backcolor=transparent]set_IsProvince[backcolor=transparent]([backcolor=transparent]is_province[backcolor=transparent])
  26. [backcolor=transparent]    [backcolor=transparent]# 充值原因,可空
  27. [backcolor=transparent]    chargeRequest[backcolor=transparent].[backcolor=transparent]set_Reason[backcolor=transparent]([backcolor=transparent]reason[backcolor=transparent])
  28. [backcolor=transparent]    chargeResponse [backcolor=transparent]=[backcolor=transparent] acs_client[backcolor=transparent].[backcolor=transparent]do_action_with_exception[backcolor=transparent]([backcolor=transparent]chargeRequest[backcolor=transparent])
  29. [backcolor=transparent]    [backcolor=transparent]return[backcolor=transparent] chargeResponse
  30. [backcolor=transparent]__business_id [backcolor=transparent]=[backcolor=transparent] uuid[backcolor=transparent].[backcolor=transparent]uuid1[backcolor=transparent]()
  31. [backcolor=transparent]print[backcolor=transparent] __business_id
  32. [backcolor=transparent]print[backcolor=transparent] charge[backcolor=transparent]([backcolor=transparent]__business_id[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]"13646812878"[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]"1024"[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]"false"[backcolor=transparent],[backcolor=transparent] [backcolor=transparent]"demo request"[backcolor=transparent])


错误码列表

Code描述
OK请求成功
isp.RAM_PERMISSION_DENYRAM权限DENY
isv.OUT_OF_SERVICE业务停机
isv.PRODUCT_UN_SUBSCRIPT未开通云通信产品的阿里云客户
isv.OUT_OF_SERVICE业务停机
isv.PRODUCT_UNSUBSCRIBE产品未开通
isv.ACCOUNT_NOT_EXISTS账户不存在
isv.ACCOUNT_ABNORMAL账户异常
isv.VOICE_FILE_ILLEGAL语音文件不合法
isv.DISPLAY_NUMBER_ILLEGAL号显不合法
isv.INVALID_PARAMETERS参数异常
isp.SYSTEM_ERROR系统错误
isv.MOBILE_NUMBER_ILLEGAL号码格式非法
isv.BUSINESS_LIMIT_CONTROL触发流控
isp.NO_AVAILABLE_CHANNEL无可用渠道
isv.USER_NOT_PRIVILEGE_PROVINCE用户无分省调用权限
isp.USER_NOT_EXIST用户不存在
isv.GRADE_ILLEGAL不支持的充值档位
isv.OPERATOR_UNKNOWN号码归属运营商不支持
isp.OPERATOR_SHUTDOWN运营商临时封停
isv.OPERATOR_DOWNTIME运营商月末维护
isp.FLOW_PAYMENT_ERROR账户扣款失败
[tr=rgb(239, 251, 255)][td]isv.RECORD_HAS_EXISTS 已存在该流水号的充值记录 isv.RECORD_NO_FIND不存在对应流水号的充值记录

展开
收起
猫饭先生 2017-10-25 13:58:11 2276 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载