最土团购短信接口是最土团购程序的一个集成功能可以连接到短信服务商提供的api发送短信。但是很多用户在使用过程中都遇到了问题,最土团购短信接口比较常见的有:
-
- 发送短信失败,错误码:-2
- 发送短信失败,错误码:-10
之类的,在解决这些问题之前你要知道你使用的是哪个短信服务商,因为不同服务商的短信服务api接口地址是不一样的。
而最土团购程序里面的api接口默认是官方提供的:1 $api = "http://notice.zuitu.com/sms?user={ $user}&pass={ $pass}&phones={ $phone}&content={ $content}";>
但有的用户下载的可能不是官方原版的程序api接口可能被修改过过导致连接不上短信接口而产生错误,修改方法依次进入目录:include\function\sms.php 第22行就可以修改了,这里改成你申请的短信api就可以了。
还有一个就是短信发送出去后可能会产生中文乱码问题,这是因为编码问题,把编码转换成utf8就可以解决。
在第21行替换代码:
$content = urlEncode(mb_convert_encoding($content,'GBK','UTF-8'));
示例代码(官方API)
$partner, 'coupon' => $coupon, 'user' => $user, )); if (true===($code=sms_send($mobile, $content))) { Table::UpdateCache('coupon', $coupon['id'], array( 'sms' => array('`sms` + 1'), 'sms_time' => time(), )); return true; } return $code; } function sms_voucher($voucher, $mobile=null) { global $INI; $user = Table::Fetch('user', $voucher['user_id']); $order = Table::Fetch('order', $voucher['order_id']); if (!Utility::IsMobile($mobile)) { $mobile = $order['mobile']; if (!Utility::IsMobile($mobile)) { $mobile= $user['mobile']; } } if (!Utility::IsMobile($mobile)) { return '请设置合法的手机号码,以便接受短信'; } $team = Table::Fetch('team', $voucher['team_id']); $partner = Table::Fetch('partner', $team['partner_id']); $voucher['end'] = date('Y-n-j', $team['expire_time']); $voucher['name'] = $team['product']; $content = render('manage_tpl_smsvoucher', array( 'partner' => $partner, 'voucher' => $voucher, 'user' => $user, )); if (true===($code=sms_send($mobile, $content))) { Table::UpdateCache('voucher', $voucher['id'], array( 'sms' => array('`sms` + 1'), 'sms_time' => time(), )); return true; } return $code; } function sms_express($id, &$flag=null) { $order = Table::Fetch('order', $id); $team = Table::Fetch('team', $order['team_id']); if (!$order['express_id']) { $flag = 'No express'; return false; } $express = Table::Fetch('category', $order['express_id']); $html = render('manage_tpl_smsexpress', array( 'team' => $team, 'express_name' => $express['name'], 'express_no' => $order['express_no'], )); $phone = $order['mobile']; if ( true === ($flag = sms_send($phone, $html)) ) { Table::UpdateCache('order', $id, array( 'sms_express' => 'Y', )); return true; } return false; }