網(wǎng)站開發(fā)中,有時(shí)候會(huì)需要用到第三方的短信接口,公明網(wǎng)絡(luò)公司創(chuàng)絡(luò)將通過本文為大家介紹如何調(diào)用阿里云短信接口給幾千上萬個(gè)手機(jī)號(hào)碼批量發(fā)送短信。前期注冊(cè)阿里云賬戶,開通短信服務(wù),購買短信包,設(shè)置短信配置,RAM控制授權(quán)和部署SDK這些基礎(chǔ)操作,網(wǎng)絡(luò)上做教程的一大把。太多人介紹的我們就不再重復(fù),我們就說一點(diǎn)別人沒有說過的,下面直接進(jìn)入到程序開發(fā)這一步驟里面來,以PHP版本為例。
我們要搞清楚批量的概念,假設(shè)要給1萬個(gè)手機(jī)號(hào)碼發(fā)送短信,如果短信內(nèi)容相同,則使用sendSms函數(shù);如果短信內(nèi)容不相同,則使用sendBatchSms函數(shù)。具體來說,sendSms即短信發(fā)送接口,在一次請(qǐng)求中,最多可以向1000個(gè)手機(jī)號(hào)碼發(fā)送同樣內(nèi)容的短信,手機(jī)號(hào)碼之間使用英文逗號(hào)隔開。sendBatchSms即批量短信發(fā)送接口,在一次請(qǐng)求中,最多可以向100個(gè)手機(jī)號(hào)碼分別發(fā)送短信,手機(jī)號(hào)碼以JSON或數(shù)組形式提交。他們的區(qū)別就在于發(fā)送接口需要是一樣的內(nèi)容,而批量可以發(fā)送同一個(gè)模板的不同內(nèi)容。批量發(fā)送接口sendBatchSms只是做了一次請(qǐng)求,短信最終還是會(huì)通過發(fā)送接口sendSms來下發(fā)。另外需要注意的是,一次批量任務(wù)不會(huì)因?yàn)閹讉€(gè)號(hào)碼的失敗就返回錯(cuò)誤,具體可直接在發(fā)送接口核實(shí)。
由此可見,不管通過哪個(gè)接口,都沒有辦法直接一次性向1萬個(gè)手機(jī)號(hào)碼發(fā)送短信,這里就需要考慮到分組進(jìn)行??梢院?jiǎn)單粗暴的使用遍歷分組,然后每一組獨(dú)立去請(qǐng)求短信發(fā)送接口并記錄相應(yīng)的發(fā)送狀態(tài)并寫入日志。如果存在發(fā)送失敗的組,稍后可以根據(jù)實(shí)際錯(cuò)誤情況,重新請(qǐng)求接口發(fā)送。以上就是在批量發(fā)送短信時(shí)容易踩到的坑,希望本文可以幫助大家跳過去。