Odoo发送短信
转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9281581.html
一:阿里云短信服务注册
1:开通短信业务:实名认证的个人用户是免费开通;企业用户需要提供三证(营业执照、组织机构代码证、税务登记证)
2:创建用户,生成AccessKey,记得下载并保存起来。只有在创建的时候可以下载!
3:为用户授权
4:创建签名和短信模版,一般两小时内就可以审核通过
二:SDK下载
下载地址:https://help.aliyun.com/document_detail/55359.html
三:要用到的文件
1)api_sdk/aliyun-python-sdk-core/aliyunsdkcore
2)api_sdk/aliyun-python-sdk-dysmsapi/aliyunsdkdysmsapi
把aliyunsdkcore和aliyunsdkdysmsapi拷贝到项目中,然后在同级目录下,新建 aliyun_sms.py文件,在里面定义短信发送和短信查询的方法:
# -*- coding: utf-8 -*- import sys from aliyunsdkdysmsapi.request.v20170525 import SendSmsRequest from aliyunsdkdysmsapi.request.v20170525 import QuerySendDetailsRequest from aliyunsdkcore.client import AcsClient import uuid import json """ 短信业务调用接口 """ reload(sys) sys.setdefaultencoding('utf8') #不要更改 REGION = "cn-hangzhou" # ACCESS_KEY_ID/ACCESS_KEY_SECRET 根据实际申请的账号信息进行替换 ACCESS_KEY_ID = "你创建的RAM用户的ACCESS_KEY_ID" ACCESS_KEY_SECRET = "你创建的RAM用户的ACCESS_KEY_SECRET" acs_client = AcsClient(ACCESS_KEY_ID, ACCESS_KEY_SECRET, REGION) class AliSMS(object): #发送短信 def send_sms(self, business_id, phone_numbers, sign_name, template_code, template_param=None): smsRequest = SendSmsRequest.SendSmsRequest() #1:设置短信模板编码 smsRequest.set_TemplateCode(template_code) #2:传递短信模板变量参数 {"code":"值"} if template_param is not None: smsRequest.set_TemplateParam(template_param) #3:设置业务请求流水号,必填。 smsRequest.set_OutId(business_id) #4:设置短信签名 smsRequest.set_SignName(sign_name); #5:设置短信发送的号码列表(一个就是单发,数组就是群发) smsRequest.set_PhoneNumbers(phone_numbers) #6:调用短信发送接口,获得返回json响应数据 smsResponse = json.loads(acs_client.do_action_with_exception(smsRequest)) return smsResponse #查询短信 def query_send_detail(self, biz_id, phone_number, page_size, current_page, send_date): queryRequest = QuerySendDetailsRequest.QuerySendDetailsRequest() # 查询的手机号码 queryRequest.set_PhoneNumber(phone_number) # 流水号 # queryRequest.set_BizId(biz_id) # 发送日期 支持30天内记录查询,格式yyyyMMdd queryRequest.set_SendDate(send_date) # 必填-当前页码从1开始计数 queryRequest.set_CurrentPage(current_page) # 必填-页大小 queryRequest.set_PageSize(page_size) # 调用短信记录查询接口,返回json queryResponse = json.loads(acs_client.do_action_with_exception(queryRequest)) return queryResponse
四:调用示例
# -*- coding: utf-8 -*- from Ali_sms import * class TestSMS(object): ali_sms = AliSMS() if __name__ == '__main__':
__business_id = uuid.uuid1() params = "{\"code\":\"2222\"}" response = ali_sms.send_sms(__business_id, "电话", "签名Name", "模版ID", params) BizId = response["BizId"] detail = ali_sms.query_send_detail(BizId, "电话", 10, 1,datetime.datetime.now().strftime('%Y%m%d'))
五:短信发送错误码和回执状态码
错误码解读:https://help.aliyun.com/knowledge_detail/57717.html
状态码:https://help.aliyun.com/document_detail/55323.html
Odoo发送短信的更多相关文章
- PHP发送短信功能
发送短信的功能主要在于获得短信接口后,在函数中模仿用户行为,例如浏览器跳转输出短信接口的链接. 需要运用的函数为 curl_init(); curl_setopt(); curl_exec(); cu ...
- WPF MVVM下做发送短信小按钮
最近做一个项目,因为涉及到注册,因此需要发送短信,一般发送短信都有一个倒计时的小按钮,因此,就做了一个,在此做个记录. 一.发送消息 没有调用公司的短信平台,只是模拟前台生成一串数字,将此串数字输出一 ...
- NetCore 阿里大于发送短信
使用阿里大于API发送短信,但阿里没有提供NetCore 的API,自己看了下源码重写了发短信这个部分 public class MessageSender { private readonly st ...
- android 中调用接口发送短信
android中可以通过两种方式发送短信 第一:调用系统短信接口直接发送短信:主要代码如下: //直接调用短信接口发短信 SmsManager smsManager = SmsManager.getD ...
- Android 学习第13课,android 实现发送短信的功能
1. 界面布局 界面代码: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
- ios调用本地拨打电话,发送短信
电话.短信是手机的基础功能,iOS中提供了接口,让我们调用.这篇文章简单的介绍一下iOS的打电话.发短信在程序中怎么调用. 1.打电话 [[UIApplication sharedApplicat ...
- Android发送短信核心代码
核心代码:(1)SmsManager manager = SmsManager.getDefault(); //获得默认的消息管理器(2)ArrayList<String> list = ...
- Android发送短信
// 发送短信 public void sendMsg(){ String content = edtSend.getText().toString(); SmsManager smsManager ...
- a标签的妙用-拨打电话、发送短信、发送邮件
前端时间在做手机WAP网站时,遇到需要点击页面上显示的电话号能直接拨号的需求,查找资料发现可以使用html的a标签完美实现该需求!记录下来以备后用...... 目前主流手机浏览器对H5的支持已经很不错 ...
随机推荐
- 泛型通配符extends与super的区别
<? extends T>限定参数类型的上界:参数类型必须是T或T的子类型 <? super T> 限定参数类型的下界:参数类型必须是T或T的超类型 总结为: <? ex ...
- CSS之浮动布局(float,浮动原理,清除/闭合浮动方法)
css之浮动布局 本人博客:查看文章 1.什么是浮动:在我们布局的时用到的一种技术,能够方便我们进行布局,通过让元素浮动,我们可以使元素在水平上左右移动,再通过margin属性调整位置 2.浮动的 ...
- Office - Excel 2013
1. 在使用TODAY()时需要注意格式,比如,如果系统区域是中国,那么格式为2015/7/28,如果在单元格中设置了其它格式(比如美国格式 3/24/2015),则可能无法比较: 2. $表示cel ...
- linux 光盘yum源搭建
1.挂载光盘 2.进入 /etc/yum.repos.d 目录,修改其它配置文件后缀名 mv CentOS-Base.repo CentOS-Base.repo.bakmv CentOS-CR.rep ...
- .NET 2.0 参考源码索引
http://www.projky.com/dotnet/2.0/Microsoft/CSharp/csharpcodeprovider.cs.htmlhttp://www.projky.com/do ...
- ffemp语音转码
分享一款windows上很不错的 程序员专业转码软件 ffemp 首先先下载ffemp转码软件 https://pan.baidu.com/s/10BoahyWJlI9e-_rB_yCiLA 下载之 ...
- CMD命令行窗口 复制黏贴
1.在cmd命令窗口空黑处,单击鼠标右键——选择[标记]——单击鼠标左链拖动选择要复制的文字,[再按一下Eenter键]就完成了命令的复制了. 2.粘贴就更简单了,窗口内单击右键——选择[粘贴],就将 ...
- Linux 系统学习梳理_【All】
第一部分---基础学习 00.Linux操作系统各版本ISO镜像下载 00.Linux系统下安装Vmware(虚拟机) 00.Linux 系统安装[Redhat] 00.Linux 系统安装[Cent ...
- shell study
目录 shell记录 执行脚本 变量使用 注释 shell传递参数 运算符 echo printf test 流程控制 if ... else ... for while until case 跳出循 ...
- KInect AR沙盒制作的一点小经验
最近在微博上看到这样一条 微博 >点这看< 看起来非常有意思,就去Google了一下如何制作. 没想到这是一个开源项目,而且还告诉你如何安装 OK,接下来就说说我的制作过程. 首先,先放 ...