betterapp/laravel-server-sms

这是一个用于与SerwerSMS.pl API v2通信的Laravel包

1.0.2 2023-08-03 08:59 UTC

This package is auto-updated.

Last update: 2024-09-03 11:17:23 UTC


README

PHP客户端,用于远程通信SerwerSMS.pl API v2

建议通过HTTPS API进行通信时,使用专门为API连接创建的登录名。可以在“客户面板”→“接口设置”→“HTTPS XML API”→“用户”中创建API用户账户。

安装

通过composer进行安装

    composer require betterapp/laravel-server-sms

配置

    php artisan vendor:publish

运行 betterapp\LaravelServerSms\ServerSmsServiceProvider

app/config/server-sms.php

<?php

    return [
        'username' => 'username',
        'password' => 'password',
        'api_url'  => 'https://api2.serwersms.pl/',
        'format'   => 'json',
        'sender'   => '',
    ]

发送短信

Controller.php

	try{
	
	    $serverSms = new \ServerSms;
	
	    // SMS FULL
	    $result = $serverSms->messages->sendSms(
	            array(
	                    '+48500600700',
	                    '+48600700800'
	            ),
	            'Test FULL message',
	            'INFORMACJA',
	            array(
	                    'test' => true,
	                    'details' => true
	            )
	    );
	
	    // SMS ECO
	    $result = $serverSms->messages->sendSms(
	            array(
	                    '+48500600700',
	                    '+48600700800'
	            ),
	            'Test ECO message',
	            null,
	            array(
	                    'test' => true,
	                    'details' => true
	            )
	    );
	
	    // VOICE from text
	    $result = $serverSms->messages->sendVoice(
	            array(
	                    '+48500600700',
	                    '+48600700800'
	            ),
	            array(
	                    'text' => 'Test message',
	                    'test' => true,
	                    'details' => true
	            )
	    );
	
	    // MMS
	    $list = $serverSms->files->index('mms');
	    $result = $serverSms->messages->sendMms(
	            array(
	                    '+48500600700',
	                    '+48600700800'
	            ),
	            'MMS Title',
	            array(
	                    'test' => true,
	                    'file_id' => $list->items[0]->id,
	                    'details' => true
	            )
	    );
	
	    echo 'Skolejkowano: '.$result->queued.'<br />';
	    echo 'Niewysłano: '.$result->unsent.'<br />';
	
	    foreach($result->items as $sms){
	        
	        echo 'ID: '.$sms->id.'<br />';
	        echo 'NUMER: '.$sms->phone.'<br />';
	        echo 'STATUS: '.$sms->status.'<br />';
	        echo 'CZĘŚCI: '.$sms->parts.'<br />';
	        echo 'WIADOMOŚĆ: '.$sms->text.'<br />';
	        
	    }
	
	} catch(Exception $e){
	    echo 'ERROR: '.$e->getMessage();
	}

发送个性化短信

	try{
	
	    $serverSms = new \ServerSms;
	
	    $messages[] = array(
			'phone' => '500600700',
			'text' => 'First message'
	    );
	    $messages[] = array(
			'phone' => '600700800',
			'text' => 'Second message'
	    );
	
	    $result = $serverSms->messages->sendPersonalized(
			$messages,
			'INFORMACJA',
			array(
					'test' => true,
					'details' => true
			)
	    );
	
	    echo 'Skolejkowano: '.$result->queued.'<br />';
	    echo 'Niewysłano: '.$result->unsent.'<br />';
	
	    foreach($result->items as $sms){
	  
	        echo 'ID: '.$sms->id.'<br />';
	        echo 'NUMER: '.$sms->phone.'<br />';
	        echo 'STATUS: '.$sms->status.'<br />';
	        echo 'CZĘŚCI: '.$sms->parts.'<br />';
	        echo 'WIADOMOŚĆ: '.$sms->text.'<br />';
	        
	    } 
	
	} catch(Exception $e){
	    echo 'ERROR: '.$e->getMessage();
	}

获取投递报告

	try{
	
    	    $serverSms = new \ServerSms;
    	
    	    // Get messages reports
    	    $result = $serverSms->messages->reports(array('id' => array('aca3944055')));
    	
    	    foreach($result->items as $sms){
    	  
    	        echo 'ID: '.$sms->id.'<br />';
    	        echo 'NUMER: '.$sms->phone.'<br />';
    	        echo 'STATUS: '.$sms->status.'<br />';
    	        echo 'SKOLEJKOWANO: '.$sms->queued.'<br />';
    	        echo 'WYSŁANO: '.$sms->sent.'<br />';
    	        echo 'DORĘCZONO: '.$sms->delivered.'<br />';
    	        echo 'NADAWCA: '.$sms->sender.'<br />';
    	        echo 'TYP: '.$sms->type.'<br />';
    	        echo 'WIADOMOŚĆ: '.$sms->text.'<br />';
    	        
    	    }
	
	} catch(Exception $e){
	    echo 'ERROR: '.$e->getMessage();
	}

获取接收短信

	try{
    	    $serverSms = new \ServerSms;
    	
    	    // Get recived messages
    	    $result = $serverSms->messages->recived('ndi');
    	
    	    foreach($result->items as $sms){
    	  
    	        echo 'ID: '.$sms->id.'<br />';
    	        echo 'TYP: '.$sms->type.'<br />';
    	        echo 'NUMER: '.$sms->phone.'<br />';
    	        echo 'DATA: '.$sms->recived.'<br />';
    	        echo 'CZARNA LISTA: '.$sms->blacklist.'<br />';
    	        echo 'WIADOMOŚĆ: '.$sms->text.'<br />';
    	        
    	    }
	
	} catch(Exception $e){
	    echo 'ERROR: '.$e->getMessage();
	}

要求

php >=7.*

Laravel = 10.*

文档

http://dev.serwersms.pl

API控制台

http://apiconsole.serwersms.pl/