您在使用短信服務API或SDK時,如果遇到疑問后可以參考以下常見問題及處理建議。
高頻問題
AccessKey與RAM賬號相關問題
接口調用前準備工作相關問題
接口調用與返回值相關問題
為什么阿里云控制臺無法再次查看我的RAM用戶的AccessKey Secret?
RAM用戶的AccessKey Secret只能在創建AccessKey時顯示,創建完成后不支持查看。請在創建好AccessKey后,及時并妥善保存AccessKey Secret。更多相關操作,請參見查看RAM用戶的AccessKey信息。
AccessKey是否支持調用短信API?
AccessKey是阿里云賬號維度,并不固定用于阿里云哪個產品。
如果您是RAM子賬號的AccessKey,為對應的RAM子賬號授權了哪些產品的權限,對應的AccessKey就可以調用對應產品的API接口。您可以在RAM-用戶頁面,為賬號添加權限,更多操作請參見RAM 用戶。
國際短信API返回ServiceUnavailable是什么原因?
如果您調用國際短信API接口返回ServiceUnavailable,可能因為您使用了國內短信的域名或模板,
國內短信域名為dysmsapi.aliyuncs.com
,國際短信域名為dysmsapi.ap-southeast-1.aliyuncs.com
。另外請使用國際短信模板發送短信。
短信服務使用STS鑒權方式初始化賬號Client,如何配置和獲取securityToken?
您可使用安全令牌的方式進行配置和獲取臨時身份。
QuerySendDetails接口中的TotalCount字段和控制臺中的條數有什么區別?
TotalCount字段指短信發送總條數,是根據您傳入的號碼查詢到的發送記錄,控制臺發送記錄查詢頁面顯示的條數是根據短信發送規則拆分成的短信條數。
短信服務RPC方式中簽名生成示例?
該階段的簽名與短信服務發送短信時的簽名不同,主要是為了保證API的安全使用,在調用API時阿里云會對每個API請求通過簽名(Signature)進行身份驗證。具體的簽名生成步驟和簽名生成示例請參見V3版本請求體&簽名機制。
短信服務公網IP調用接口提示拒絕訪問該怎么辦?
建議檢查服務器內能否正常ping通和curl dysmsapi.aliyuncs.com ,以及服務器80/443端口是否正常放行。
短信服務下發報錯Specified parameter Version is not valid,什么原因?
原因:API的版本號(Version)錯誤。請確認接口的版本號。
短信服務的API版本號(Version)為2017-05-25。詳情請參見集成概覽。
短信服務下發失敗報錯黑名單管控,什么原因?
黑名單管控主要指接收短信的號碼為黑名單號碼,此類號碼曾有過退訂或投訴記錄不支持下發該內容的短信。建議規避該號碼重新發送。
短信服務HTTP拼接支持ROA調用機制嗎?
若您接入短信服務時無法滿足SDK使用條件, 可使用HTTP拼接方式接入,目前HTTP拼接只支持RPC風格,不支持ROA調用機制。詳情請參見V3版本請求體&簽名機制。
短信服務API接口中BizId參數的作用?
BizId指發送回執ID,同一個阿里云賬號,每條發送記錄對應的BizId是不同的;不同的阿里云賬號之間,BizId有極少情況下會相同。BizId作用是調用QuerySendDetails接口時,根據BizId的值來查詢具體的發送狀態。
短信服務密鑰會泄露嗎?
短信服務通過AccessKey調用接口發送短信,如果您的AccessKey存在泄露的情況,建議您重新生成AccessKey后,禁用或者刪除原AccessKey,刪除和禁用前需要確認業務沒有使用此AccessKey。更多詳情請參見憑據的安全使用方案。
短信服務API調用阿里云的IP服務器地址是固定的嗎?
短信服務接口對外只提供域名地址形式,沒有提供固定的調用IP地址。
請使用全局接入點域名dysmsapi.aliyuncs.com
。
更多接入點信息請參見服務接入點。
短信服務AccessKey和RAM賬號有什么區別?
AccessKey是阿里云賬號創建的一個訪問密鑰,調用阿里云API接口時,用來完成賬號的身份驗證。一個阿里云賬號可以創建多個AccessKey。RAM賬號是阿里云子賬號,需要被主賬號授權后才可以正常使用。更多詳情請參見RAM 用戶、AccessKey。
短信服務如何查看AccessKey?
您可以在控制臺查看AccessKey。其他相關文檔請參見創建AccessKey、查看RAM用戶的AccessKey信息。
提交模板時報錯SmsContent.Illegal,怎么處理?
短信服務提交模板報錯“模板內容非法”,錯誤碼“smscontentillegal”。一般是模板內容含有:特殊符號、中括號、繁體字或錯別字、變異字等導致。建議按短信模板規范修改模板內容后再重新提交審核。若還提示錯誤,請檢查您的賬號是否存在違反用戶協議以及平臺管理規則中對內容管制相關規定的行為。更多詳情也可查看服務協議。
如果出現違法違規或者損害到相關他人權益的,短信服務將保留最終追究的權利!請各會員嚴格遵守規范要求,加強自身業務安全,發送合規短信。
短信發送失敗,返回錯誤碼isv.SMS_TEST_NUMBER_LIMIT
,什么原因?
遇到錯誤提示isv.SMS_TEST_NUMBER_LIMIT
,表示只能向已綁定的測試手機號發送短信。如您已將當前接收號碼綁定,但仍收到此錯誤碼提示。請根據以下原因及解決方案排查:
原因
接收測試短信號碼未在控制臺綁定,或綁定過程未完成、未生效。
接口調用與綁定手機號不匹配。
如您在生產環境遇到此錯誤碼,請排查您是否將測試環境與生產環境混淆。
解決方案
通過測試功能發送短信,需要綁定測試手機號才可以發送。
請確認綁定操作已完成并且已生效。有時系統處理或同步可能會有延時。
請檢查在API請求或控制臺調用中指定的手機號是否與在控制臺綁定的測試手機號完全一致,包括國家碼和格式。
測試簽名和模板(在控制臺顯示有綠色“測”標記)會限制發送對象僅為已綁定的測試號碼。請確保在正式發送短信時使用的是非測試的簽名和模板。
完整的錯誤碼列表及原因與解決方案,請參見API錯誤碼。
短信服務發送接口是否支持內網調用?
短信服務調用接口都是統一訪問阿里云域名發送短信,規范網絡環境能正常訪問阿里云域名即可,需要公網調用,詳情請參見短信服務API文檔。
如果您的服務器有內網等網絡限制無法調通短信接口報錯“連接超時”,建議添加短信服務的公網接入地址
dysmsapi.aliyuncs.com
到白名單;若還是無法發送短信,可以嘗試調整本地防火墻配置或者檢查連接超時時間是否設置過大。
短信服務接口是否需要相互加白IP?
發送短信的公網調用的接口域名地址為dysmsapi.aliyuncs.com
,HTTP調用使用端口為80,HTTPS調用使用端口為443。
調用短信服務的API接口前,您的IP網絡不必報備至阿里云側。只要能ping通dysmsapi.aliyuncs.com
即可,其對應的IP段不固定且不定期變更,若您的網絡環境特殊,建議您安全策略方面調整為放行該域名。