Skip to content
SMSAPI.pl edited this page Dec 15, 2017 · 19 revisions

Examples

Sending messages

Sends a SMS message

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('login');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsapi = new \SMSApi\Api\SmsFactory();
$smsapi->setClient($client);

try {

    $actionSend = $smsapi->actionSend();

    $actionSend->setTo('600xxxxxx'); // Numer odbiorcy w postaci 48xxxxxxxxx lub xxxxxxxxx
    $actionSend->setText('Treść wiadomości w UTF-8');
    $actionSend->setSender('Nazwa Nadawcy'); // Nazwa musi zostać pierw dodana przez panel, wpisując ECO zostanie wysłana wiadomość ECO

    $response = $actionSend->execute();

    foreach( $response->getList() as $status ) {
        echo  $status->getNumber() . ' ' . $status->getPoints() . ' ' . $status->getStatus();
    }
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Sends an MMS message

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsapi = new \SMSApi\Api\MmsFactory();
$smsapi->setClient($client);

try {

    $actionSend = $smsapi->actionSend();

	$smil= '<smil><head><layout><root-layout height="600" width="425"/> <region
		id="Image" top="0" left="0" height="100%" width="100%"
		fit="meet"/></layout></head><body><par dur="5000ms"><img
		src="http://www.smsapi.pl/assets/img/mms.jpg" region="Image"></img></par></body></smil>';


    $actionSend->setTo('Numer odbiorcy'); // numer odbiorczy w postaci 48xxxxxxxxx lub xxxxxxxxx
    $actionSend->setSubject('Temat MMS-a'); //Tekst powinien być podowany w kodowaniu UTF-8
	$actionSend->setSmil($smil); //Wiadomość MMS w formacie SMIL

    $response = $actionSend->execute();

    foreach( $response->getList() as $status ) {
        echo  $status->getNumber() . ' ' . $status->getPoints() . ' ' . $status->getStatus();
    }
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Sends an VMS message

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsapi = new \SMSApi\Api\VmsFactory();
$smsapi->setClient($client);

try {

    $actionSend = $smsapi->actionSend();

    $actionSend->setTo('Numer odbiorcy'); // numer odbiorczy w postaci 48xxxxxxxxx lub xxxxxxxxx
		//$actionSend->setFrom('Numer Nadawcy'); // Musi być aktywny w Panelu SMSAPI
    $actionSend->setTts(urlencode('Treść komunikatu')); //Tekst powinien być podowany w kodowaniu UTF-8
	$actionSend->setTry('1'); //Ilość prób połączenia min 1 max 6
	$actionSend->SetTtsLector('maja'); // Określa nazwę lektora czytającego tekst. Dostępne wartości: agnieszka, ewa, jacek, jan, maja.

    $response = $actionSend->execute();

    foreach( $response->getList() as $status ) {
        echo  $status->getNumber() . ' ' . $status->getPoints() . ' ' . $status->getStatus();
    }

} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Sender names

Retrieving all of a sender names and their status

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\SenderFactory();
$smsApi->setClient($client);

try {
    $actionList = $smsApi->actionList();
    $response = $actionList->execute();

		foreach( $response->getList() as $status ) {
			echo  $status->getName() . ' - ' . $status->getStatus() . '<br />';
		}
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Contacts

Create a new contact by email

Tworząc nowy kontakt jego adres e-mail musi być unikalny tj. nie może być używany przez inny kontakt występujący już w bazie kontaktów. Analogicznie musisz zadbać o unikalność numeru telefonu.

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionAdd = $smsApi->actionContactAddFromEmail('Adres E-mail') // musi być unikalny
        // opcjonalne:
        ->setBirthdayDate(new DateTime('Data urodzin RRRR-MM-DD'))
        ->setDescription('Opis')
        ->setFirstName('Imię')
        ->setLastName('Nazwisko')
        ->setPhoneNumber('Numer telefonu') // musi być unikalny
        ->setCity('Miasto')
        ->setSource('Źródło kontaktu')
        ->setGenderAsMale();

    $response = $actionAdd->execute();
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Create a new contact by phone number

Tworząc nowy kontakt jego numer telefonu musi być unikalny tj. nie może być używany przez inny kontakt występujący już w bazie kontaktów. Analogicznie musisz zadbać o unikalność adresu e-mail.

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionAdd = $smsApi->actionContactAddFromPhoneNumber('Numer telefonu') // musi być unikalny
         // opcjonalne:
        ->setBirthdayDate(new DateTime('Data urodzin RRRR-MM-DD'))
        ->setDescription('Opis')
        ->setFirstName('Imię')
        ->setLastName('Nazwisko')
        ->setEmail('Adres E-mail') // musi być unikalny
        ->setCity('Miasto')
        ->setSource('Źródło kontaktu')
        ->setGenderAsMale();

    $response = $actionAdd->execute();
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Get contact by id

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionContactGet = $smsApi->actionContactGet('Numer id kontaktu');
    $response = $actionContactGet->execute();

    echo $response->getFirstName().'<br>';
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Find contact by email

Warto pamiętać, że w bazie kontaktów może być co najwyżej jeden kontakt z danym adresem e-mail.

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionContactList = $smsApi->actionContactList()
        ->setEmail('Adres E-mail');
    $response = $actionContactList->execute();

    if ( $response->getSize() === 1 ) {
        $contact = $response->getCollection()[0];
        echo $contact->getId().'<br>';
    }
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Find contact by phone number

Warto pamiętać, że w bazie kontaktów może być co najwyżej jeden kontakt z danym numerem telefonu.

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionContactList = $smsApi->actionContactList()
        ->setPhoneNumber('Numer telefonu');
    $response = $actionContactList->execute();

    if ( $response->getSize() === 1 ) {
        $contact = $response->getCollection()[0];
        echo $contact->getId().'<br>';
    }
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Find contacts by birthday date

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionContactList = $smsApi->actionContactList()
        ->setBirthdayDate(new DateTime('Data urodzin RRRR-MM-DD'));
    $response = $actionContactList->execute();
    $contacts = $response->getCollection();

    foreach ( $contacts as $contact ) {
        echo $contact->getId().'<br>';
    }
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Find contacts by first name

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionContactList = $smsApi->actionContactList()
        ->setFirstName('Imię');
    $response = $actionContactList->execute();
    $contacts = $response->getCollection();

    foreach ( $contacts as $contact ) {
        echo $contact->getId().'<br>';
    }
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Find contacts by last name

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionContactList = $smsApi->actionContactList()
        ->setLastName('Nazwisko');
    $response = $actionContactList->execute();
    $contacts = $response->getCollection();

    foreach ( $contacts as $contact ) {
        echo $contact->getId().'<br>';
    }
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Find contacts by ids

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionContactList = $smsApi->actionContactList()
        ->setIds(array('Numer id #1', 'Numer id #2', 'Numer id #N'));
    $response = $actionContactList->execute();
    $contacts = $response->getCollection();

    foreach ( $contacts as $contact ) {
        echo $contact->getId().'<br>';
    }
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Count all contacts

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionContactCount = $smsApi->actionContactCount();
    $response = $actionContactCount->execute();

    echo $response->getSize().'<br>';
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Count contacts by ids

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionContactCount = $smsApi->actionContactCount()
        ->setIds(array('Numer id #1', 'Numer id #2', 'Numer id #N'));
    $response = $actionContactCount->execute();

    echo $response->getSize().'<br>';
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Edit contact

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionContactEdit = $smsApi->actionContactEdit('Numer id kontaktu')
        ->setPhoneNumber('Numer telefonu')
        ->setBirthdayDate(new DateTime('Data urodzin RRRR-MM-DD'))
        ->setDescription('Opis')
        ->setFirstName('Imię')
        ->setLastName('Nazwisko')
        ->setEmail('Adres E-mail')
        ->setCity('Miasto')
        ->setSource('Źródło kontaktu')
        ->setGenderAsMale();

    $response = $actionContactEdit->execute();
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Create a new group

Tworząc grupę można podać opcjonalny parametr 'idx' (extra numer id). Extra numeru id nie należy mylić z numerem id grupy - jest on na potrzeby użytkownika np. do optymalizacji wyszukiwań.

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionGroupAdd = $smsApi->actionGroupAdd('Nazwa grupy')
        // opcjonalne:
        ->setDescription('Opis')
        ->setIdx('Extra numer id'); // Nie mylić z numerem id
    $response = $actionGroupAdd->execute();
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Edit existing group

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionGroupEdit = $smsApi->actionGroupEdit('Numer id grupy');
        ->setName('Nazwa grupy')
        ->setDescription('Opis')
        ->setIdx('Nowy extra numer id');

    $response = $actionGroupEdit->execute();
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Get group

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionGroupGet = $smsApi->actionGroupGet('Numer id grupy');
    $response = $actionGroupGet->execute();

    echo $response->getName().'<br>';
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

List all groups

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionGroupList = $smsApi->actionGroupList();
    $response = $actionGroupList->execute();
    $groups = $response->getCollection();

    foreach ( $groups as $group ) {
        echo $group->getName().'<br>';
    }
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Add contact to group

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionContactGroupAdd = $smsApi->actionContactGroupAdd('Numer id kontaktu', 'Numer id grupy');
    $response = $actionContactGroupAdd->execute();
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}
require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionGroupMemberAdd = $smsApi->actionGroupMemberAdd('Numer id grupy', 'Numer id kontaktu');
    $response = $actionGroupMemberAdd->execute();
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Get group from contact

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionContactGroupGet = $smsApi->actionContactGroupGet('Numer id kontaktu', 'Numer id grupy');
    $response = $actionContactGroupGet->execute();

    echo $response->getDescription().'<br>';
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Get contact from group

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionGroupMemberGet = $smsApi->actionGroupMemberGet('Numer id kontaktu', 'Numer id grupy');
    $response = $actionGroupMemberGet->execute();

    echo $response->getFirstName().'<br>';
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Find contacts by group id

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionContactList = $smsApi->actionContactList()
        ->setGroupId('Numer id');
    $response = $actionContactList->execute();
    $contacts = $response->getCollection();

    foreach ( $contacts as $contact ) {
        echo $contact->getId().'<br>';
    }
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Find contacts by group ids

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionContactList = $smsApi->actionContactList()
        ->setGroupIds(array('Numer id #1', 'Numer id #2', 'Numer id #N'));
    $response = $actionContactList->execute();
    $contacts = $response->getCollection();

    foreach ( $contacts as $contact ) {
        echo $contact->getId().'<br>';
    }
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Add subuser permissions to contact group

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionGroupPermissionAdd = $smsApi->actionGroupPermissionAdd('Numer id grupy', 'Nazwa podużytkownika')
        ->enableRead()
        ->enableSend()
        ->enableWrite();
    $response = $actionGroupPermissionAdd->execute();
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Edit subuser permissions in contact group

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionGroupPermissionEdit = $smsApi->actionGroupPermissionEdit('Numer id grupy', 'Nazwa podużytkownika')
        ->disableRead()
        ->disableSend()
        ->disableWrite();
    $response = $actionGroupPermissionEdit->execute();
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

List subusers permissions in contact group

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionGroupPermissionList = $smsApi->actionGroupPermissionList('Numer id grupy');
    $response = $actionGroupPermissionEdit->execute();

    $subusers = $response->getCollection();
    foreach ( $subusers as $s ) {
        echo $s->getUsername().': '.s->getRead().' '.s->getSend().' '.s->getWrite().'<br>';
    }
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Add field in contacts

Tworząc nowe pole możliwe jest ustawienie następujących typów: tekst (setTypeAsText), data (setTypeAsDate), e-mail (setTypeAsEmail), liczba (setTypeAsNumber), numer telefonu (setTypeAsPhoneNumber).

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionFieldAdd = $smsApi->actionFieldAdd('Nazwa pola')
        ->setTypeAsDate();
    $response = $actionFieldAdd->execute();
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}

Edit field in contacts

require_once 'smsapi/Autoload.php';

$client = new \SMSApi\Client('Login_API');
$client->setPasswordHash( ('Haslo_API_w_md5') );

$smsApi = new \SMSApi\Api\ContactsFactory();
$smsApi->setClient($client);

try {
    $actionFieldEdit = $smsApi->actionFieldEdit('Nazwa pola')
        ->setName('Nowa nazwa pola')
        ->setTypeAsEmail();
    $response = $actionFieldAdd->execute();
} catch ( \SMSApi\Exception\SmsapiException $e ) {
    echo 'ERROR: ' . $e->getMessage();
}