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

For å sende en melding av typen `BulkGate\Sms\IMessage`

 - [`BulkGate\Sms\Message`](https://www.bulkgate.com/no/dokumentasjon/php-sdk/php-sdk-melding/2.0/)
 - [`BulkGate\Sms\BulkMessage`](https://www.bulkgate.com/no/dokumentasjon/php-sdk/php-sdk-massemelding/2.0/)

må du opprette en avsender, noe som kan gjøres på to måter:

 - [Nette framework](https://www.bulkgate.com/no/dokumentasjon/php-sdk/php-sdk-installasjon-nette/1.0/) – hvis du bruker [Nette framework](https://nette.org/)
 - [PHP](https://www.bulkgate.com/no/dokumentasjon/php-sdk/php-sdk-installasjon/1.0/) – i andre tilfeller
 
```php
/** @var BulkGate\Message\Connection $connection */
$sender = new BulkGate\Sms\Sender($connection);
```
 
## Sende meldinger
 
Bruk metoden `send()` for å sende meldingen. Den tar imot meldinger av typen `BulkGate\Sms\IMessage`.
 
```php
/** 
  * @var BulkGate\Sms\Sender $sender 
  * @var BulkGate\Sms\IMessage|BulkGate\Sms\Message|BulkGate\Sms\BulkMessage $message
  */
$response = $sender->send($message);
```

### Svar på `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
    )
)
```

### Svar på `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

For å slå på [Unicode](https://www.bulkgate.com/no/hjelpesenter/sms/unicode/) kaller du metoden `unicode()`.

```php
/** @var BulkGate\Sms\Sender $sender */
$sender->unicode(); // Slå på
$sender->unicode(true); // Slå på
$sender->unicode(false); // Slå av
```

 ## Innstillinger for avsender
 
Innstilling av avsendertypen er beskrevet i [dette kapittelet](https://www.bulkgate.com/no/dokumentasjon/php-sdk/php-sdk-avsenderinnstillinger/).
 
 ```php
/** 
  * @var BulkGate\Sms\Sender $sender
  * @var SenderSettings\CountrySenderSettings|SenderSettings\StaticSenderSettings $settings
  */
$sender->setSenderSettings($settings);
```

## Standardland

Hvis du oppgir telefonnumre i nasjonalt format, vet ikke systemet hvor meldingene skal sendes. Hvis det internasjonale prefikset ikke er fylt ut eksplisitt, kan du derfor angi et standardland for avsendertypen som meldingene skal rutes til.

 ```php
 /** @var BulkGate\Sms\Sender $sender */
 $sender->setDefaultCountry(BulkGate\Sms\Country::CZECH_REPUBLIC); // via BulkGate\Sms\Country
 $sender->setDefaultCountry('cz'); // ISO 3166-1 alpha-2 
 ``` 
 
 ## Validering av numre
 
 Hvis du trenger å kontrollere om et telefonnummer samsvarer med formatet for landet, bruker du metoden `checkPhoneNumbers()`.
 
 ```php
 /** @var BulkGate\Sms\Sender $sender */
 $sender->checkPhoneNumbers($numbers, $iso);
 ``` 
 
Der `$numbers` kan være:
- telefonnummer i en streng `"420777777777"`
- telefonnummer av typen `BulkGate\Sms\Message\PhoneNumber`
- matriser med telefonnumre `['420777777777','420777777778','420777777779']`
- matriser med telefonnumre av typen `BulkGate\Sms\Message\PhoneNumber`

`$iso` har samme betydning som [standardland](#standardland)

Utdataene er da `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
        )
    )
)
```

Verdien `area_found` angir om nummeret er gyldig i formatet for det aktuelle landet.
