· 5 years ago · Oct 20, 2020, 03:18 PM
1class SMS16ruService {
2
3 public function send($params = []) {
4 $text = 'Тестовое смс';
5 $phone = '79268670680';
6 $login = 'rate1';
7 $sender = 'mytestsms';
8 $sms_endpoint = 'https://new.sms16.ru/get/send.php';
9 $timestamp = $this->getTimestamp();
10 $signature = $this->getSignature(['timestamp'=>$timestamp, 'login'=>$login, 'phone'=>$phone, 'text'=>$text]);
11
12 $sms_params = [
13 'login' => $login,
14 'signature' => $signature,
15 'phone' => $phone,
16 'text' => $text,
17 'sender' => $sender,
18 'timestamp' => $timestamp,
19 ];
20
21 $query = http_build_query($sms_params);
22 $url = $sms_endpoint.'?'.$query;
23 $result = @file_get_contents($url);
24
25 return $result;
26 }
27
28
29 private function getSignature($params) {
30 $api_key = 'НАШ ВАЛИДНЫЙ API KEY взятый из личного кабинета sms16.ru и трижды перепроверенный на правильность и отсутствие лишних пробелов';
31 ksort( $params );
32 reset( $params );
33 return md5( implode( $params ) . $api_key );
34 }
35
36 private function getTimestamp() {
37 $timestamp_endpoint = 'https://new.sms16.ru/get/timestamp.php';
38 return @file_get_contents($timestamp_endpoint);
39 }
40
41}