短信接口调用的时候报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了短信接口调用的时候报错相关的知识,希望对你有一定的参考价值。

sp.RAM_PERMISSION_DENY RAM权限DENY 当提示RAM权限不足时,就需要给当前使用的AK对应子账号进行授权:AliyunDysmsFullAccess(权限名称)。具体权限授权详见:https://help.aliyun.com/document_detail/55764.html?spm=5176.product44282.6.548.bKZJL2
isv.OUT_OF_SERVICE 业务停机 请先查看账户余额,若余额大于零,则请通过创建工单联系工程师处理
isv.PRODUCT_UN_SUBSCRIPT 未开通云通信产品的阿里云客户 未开通云通信产品的阿里云客户(该AK所属的账号尚未开通云通信的服务,包括短信、语音、流量等服务)注:阿里云短信服务包含:1、消息服务 2、云通信短信服务 3、云市场短信接口,账号和短信接口不可混用。当出现此类提示报错需要检查当前AK是否已经开通阿里云云通信短信服务,如已开通消息服务,则参照消息服务文档调用接口。
isv.PRODUCT_UNSUBSCRIBE 产品未开通 产品未订购(该AK所属的账号尚未开通当前接口的产品,如仅开通了短信服务的用户调用语音接口。),检查AK对应账号是否已开通调用接口对应的服务。短信服务开通链接:https://www.aliyun.com/product/sms
isv.ACCOUNT_NOT_EXISTS 账户不存在 请确认使用的账号是否与申请的账号一致
isv.ACCOUNT_ABNORMAL 账户异常 请确认使用的账号是否与申请的账号一致
isv.SMS_TEMPLATE_ILLEGAL 短信模板不合法 TemplateCode参数请传入审核通过的模板ID,模板见:见:https://dysms.console.aliyun.com/dysms.htm#/template
isv.SMS_SIGNATURE_ILLEGAL 短信签名不合法 SignName请传入审核通过的签名内容,签名见:https://dysms.console.aliyun.com/dysms.htm#/sign
isv.INVALID_PARAMETERS 参数异常 对照文档,检查参数格式。例:短信查询接口SendDate日期格式yyyyMMdd,错误:2017-01-01正确:20170101
isp.SYSTEM_ERROR isp.SYSTEM_ERROR 请重试接口调用,如仍存在此情况请创建工单反馈工程师查看
isv.MOBILE_NUMBER_ILLEGAL 非法手机号 PhoneNumbers参数请传入11位国内号段的手机号码
isv.MOBILE_COUNT_OVER_LIMIT 手机号码数量超过限制 短信接收号码,支持以英文逗号分隔的形式进行批量调用,批量上限为1000个手机号码,PhoneNumbers参数单次调用不传入过多接收号码
isv.TEMPLATE_MISSING_PARAMETERS 模板缺少变量 TemplateParam中需要以json格式字符串给使用的模板中出现的所有变量进行赋值。例:模板为:您好$name,验证码$code TemplateParam=“name”:”Tom”,”code”:”123”
isv.BUSINESS_LIMIT_CONTROL 业务限流 将短信发送频率限制在正常的业务流控范围内,默认流控:短信验证码 :使用同一个签名,对同一个手机号码发送短信验证码,支持1条/分钟,5条/小时 ,累计10条/天。
isv.INVALID_JSON_PARAM JSON参数不合法,只接受字符串值 TemplateParam入参以Json格式字符串形式传入。例:正确“code”:”123”
isv.BLACK_KEY_CONTROL_LIMIT 黑名单管控 黑名单管控是指变量内容含有限制发送的内容,变量不支持透传url,同时检查通过变量是否透传了一些敏感信息触发关键字
isv.PARAM_LENGTH_LIMIT 参数超出长度限制 单个变量长度限制在20字符内。
isv.PARAM_NOT_SUPPORT_URL 不支持URL 变量不支持透传url,同时检查通过变量是否透传了一些敏感信息触发关键字
isv.AMOUNT_NOT_ENOUGH 账户余额不足 转入金额不足以发送当前信息,确保余额足够发送当前短信
isv.TEMPLATE_PARAMS_ILLEGAL 模板变量里包含非法关键字 变量不支持透传url,同时检查通过变量是否透传了一些敏感信息触发关键字
SignatureDoesNotMatch Specified signature is not matched with our calculation. Signature加密错误,如为SDK调用,则需要注意accessKeyId和accessKeySecret字符串赋值正确无误;如自行加密的Signature,则需要检查加密逻辑,对照文档:https://help.aliyun.com/document_detail/56189.html
InvalidTimeStamp.Expired Specified time stamp or date value is expired. 时间戳错误,发出请求的时间和服务器接收到请求的时间不在15分钟内。经常出现该错误的原因是时区原因造成的,目前网关使用的时间是GMT时间
SignatureNonceUsed Specified signature nonce was used already. 唯一随机数重复,SignatureNonce为唯一随机数,用于防止网络重放攻击。不同请求间要使用不同的随机数值。
InvalidVersion Specified parameter Version is not valid. 版本号错误,需要确认接口的版本号,如云通信短信、语音、流量服务的Version=2017-05-25
InvalidAction.NotFound Specified api is not found, please check your url and method 接口名错误,需要确认接口地址和接口名,如云通信短信服务短信发送:dysmsapi.aliyuncs.com,接口名Action=SendSms
参考技术A 现在免费的接口已经基本没有了 我用的时代互联的sms接口,你有兴趣可以自己看一下,要钱的 接口是现成的调用很方便

python 调用接口发短信

 

 

 

 

 

调用接口发送短信

此处接口是移动云nas

 

 

"""
Create_of_date:2020-03-08
Author:nod
description:
调用移动云mas接口
exchange_date         author               exchange

"""
from flask import request, Flask, jsonify
import hashlib
import base64
import json
import requests
url=‘http://112.XXX.XXX:5992/sms/norsubmit‘

app = Flask(__name__)
app.config[‘JSON_AS_ASCII‘] = False

@app.route(‘/test‘, methods=[‘POST‘])
def post_Data():
    #接收传递进来的mobiles & content参数 如果第三方接口调用参数指定了这里mobile content可以进行修改
    mobile = request.form[‘mobile‘]
    content = request.form[‘content‘]
    #传递进来的参数构造字典
    dicinfo = {‘mobiles‘: mobile, ‘content‘: content}
    mob=dicinfo[‘mobiles‘]
    con=dicinfo[‘content‘]
    #取值转换成字符串---> md5 小写
    mes=‘常州市XX****cz**1cz**1@**3‘+mob+con+‘439I8a8aR‘
    m=hashlib.md5()
    m.update(mes.encode(‘utf-8‘))
    md5_info=m.hexdigest()
    #构造转换前的base64字典
    base64_before={"ecName":"常州市XXX院1", "apId":"czxx1", "secretKey":"czxxxx23", "mobiles":mob, "content":con,
 "sign":"43xxxaR", "addSerial":"", "mac":md5_info}
    #字典转json
    base_json=json.dumps(base64_before)
    base64_end=base64.b64encode(base_json.encode(‘utf-8‘))
    #### 去除byte
    byte_end=str(base64_end,‘utf-8‘)
    print(byte_end)
    req = requests.post(url, data=byte_end)
    return jsonify(dicinfo), 201

if __name__ == ‘__main__‘:
    app.run(debug=False, host=‘127.0.0.1‘, port=9999)

  

以上是关于短信接口调用的时候报错的主要内容,如果未能解决你的问题,请参考以下文章

速码云信息-----短信接口代码参数

国际短信平台接口调用的方法步骤,简单5步快速教程

laravel 怎么响应阿里云短信异步通知接口?

kewail短信接口调用指令

python 调用接口发短信

短信验证码接口开发代码