```php
use BulkGate\Sms\Sender;
```

Aby ste mohli vytvorenú správu typu `BulkGate\Sms\IMessage` odoslať

 - [`BulkGate\Sms\Message`](https://www.bulkgate.com/sk/dokumentacia/php-sdk/php-sdk-sprava/2.0/)
 - [`BulkGate\Sms\BulkMessage`](https://www.bulkgate.com/sk/dokumentacia/php-sdk/php-sdk-hromadne-spravy/2.0/)

musíte vytvoriť sender, čo môžeme urobiť dvoma spôsobmi:

 - [Nette framework](https://www.bulkgate.com/sk/dokumentacia/php-sdk/php-sdk-instalacia-nette/1.0/) - ak používate [Nette framework](https://nette.org/)
 - [PHP](https://www.bulkgate.com/sk/dokumentacia/php-sdk/php-sdk-instalacia/1.0/) - v ostatných prípadoch
 
```php
/** @var BulkGate\Message\Connection $connection */
$sender = new BulkGate\Sms\Sender($connection);
```
 
## Odoslanie správy
 
Na odoslanie správy sa používa metóda `send()`, ktorá prijíma správy typu `BulkGate\Sms\IMessage`.
 
```php
/** 
  * @var BulkGate\Sms\Sender $sender 
  * @var BulkGate\Sms\IMessage|BulkGate\Sms\Message|BulkGate\Sms\BulkMessage $message
  */
$response = $sender->send($message);
```

### Odpoveď na `BulkGate\Sms\Message`
```php
BulkGate\Message\Response Object
(
    [data:BulkGate\Message\Response:private] => Array
    (
        [sms_id] => tmpde8f0dca011
        [price] => 0.033
        [credit] => 215.8138
        [number] => 420777777777
    )
)
```

### Odpoveď na `BulkGate\Sms\BulkMessage`
```php
BulkGate\Message\Response Object
(
    [data:BulkGate\Message\Response:private] => Array
    (
        [total] => Array
        (
            [price] => 0.033
            [status] => Array
            (
                [sent] => 0
                [accepted] => 1
                [scheduled] => 0
                [error] => 0
            )
        )
        [response] => Array
        (
            [0] => Array
            (
                [status] => accepted
                [sms_id] => tmpde8f0b47b12
                [price] => 0.033
                [credit] => 215.8138
                [number] => 420777777777
            )
        )
    )
)
```

## Unicode

Na nastavenie [Unicode](https://www.bulkgate.com/sk/centrum-pomoci/sms/unicode/) zavolajte metódu `unicode()`.

```php
/** @var BulkGate\Sms\Sender $sender */
$sender->unicode(); // Zapnúť
$sender->unicode(true); // Zapnúť
$sender->unicode(false); // Vypnúť
```

 ## Nastavenie odosielateľa
 
 Nastavenie typu odosielateľa je popísané v príslušnej [kapitole](https://www.bulkgate.com/sk/dokumentacia/php-sdk/php-sdk-nastavenie-odosielatela/).
 
 ```php
/** 
  * @var BulkGate\Sms\Sender $sender
  * @var SenderSettings\CountrySenderSettings|SenderSettings\StaticSenderSettings $settings
  */
$sender->setSenderSettings($settings);
```

## Predvolená krajina

Ak zadávate telefónne čísla v národnom formáte, systém nevie, kam do sveta má správy poslať. Preto ak nie je explicitne vyplnená medzinárodná predvoľba, môžete senderu zadefinovať predvolenú krajinu, kam má správy smerovať.

 ```php
 /** @var BulkGate\Sms\Sender $sender */
 $sender->setDefaultCountry(BulkGate\Sms\Country::CZECH_REPUBLIC); // pomocou BulkGate\Sms\Country
 $sender->setDefaultCountry('cz'); // ISO 3166-1 alpha-2 
 ``` 
 
 ## Overenie platnosti čísel
 
 Ak potrebujete overiť, či telefónne číslo zodpovedá formátu príslušnej krajiny, použite metódu `checkPhoneNumbers()`.
 
 ```php
 /** @var BulkGate\Sms\Sender $sender */
 $sender->checkPhoneNumbers($numbers, $iso);
 ``` 
 
Kde `$numbers` môže byť:
- telefónne číslo v reťazci `"420777777777"`
- telefónne číslo typu `BulkGate\Sms\Message\PhoneNumber`
- pole telefónnych čísel `['420777777777','420777777778','420777777779']`
- pole telefónnych čísel typu `BulkGate\Sms\Message\PhoneNumber`

`$iso` má rovnaký význam ako [Predvolená krajina](#predvolena-krajina)

Výsledkom je potom `BulkGate\Message\Response`

```php
BulkGate\Message\Response Object
(
    [data:BulkGate\Message\Response:private] => Array
    (
        [420777777777] => Array
        (
            [number] => 420777777777
            [iso] => cz
            [prefix] => 420
            [area] => 420
            [length] => 12
            [area_found] => true
        )
        [77777777] => Array
        (
            [number] => 42177777777 
            [iso] => sk
            [prefix] => 421
            [area] => 421
            [length] => 8
            [area_found] => false
        )
    )
)
```

Hodnota `area_found` udáva platnosť formátu čísla pre konkrétnu krajinu.
