A classe `BulkGate\Sdk\Message\Sms` representa o objeto da mensagem SMS, composto pelo conteúdo da mensagem e pelo destinatário.

```php
use BulkGate\Sdk\Message\Sms;
use BulkGate\Sdk\Message\Component\{PhoneNumber, SimpleText}
```

## Destinatário

Como primeiro argumento, a classe aceita um número de telefone, que pode ser indicado como string:

```php
$message = new Sms('420777777777', 'test message');
```

ou aceita uma instância do objeto `BulkGate\Sdk\Message\Component\PhoneNumber`:

```php
$message = new Sms(new PhoneNumber('777777777', 'cz'), 'test message');
```

Para obter o número de telefone, pode imprimir o objeto da classe `BulkGate\Sdk\Message\Component\PhoneNumber`, que devolve sempre o número de telefone como string.

O número de telefone e o código ISO também podem ser definidos separadamente

```php
$phone_number = new PhoneNumber();
$phone_number->phoneNumber('777777777');
$phone_number->iso('cz');       
```

## Texto da mensagem

O segundo parâmetro é o texto da mensagem. Também aqui existem 2 opções: a primeira é indicar o texto como `string`, a segunda é uma instância da classe `SimpleText`, ou `null`.

```php
$phone_number = new PhoneNumber('777777777', 'cz');
$text = new SimpleText('test <variable>', ['variable' => 'message']);
$message = new Sms($phone_number, $text);
```

Naturalmente, também pode definir o texto depois de criar a instância do objeto, através do método `text(string $text, array $variables = [])`

```php
$phone_number = new PhoneNumber('777777777', 'cz');
$message = new Sms($phone_number);
$message->text('test <variable>', ['variable' => 'message'])
```

## Definições

Através da variável pública settings, pode configurar o [sender_id](https://www.bulkgate.com/pt/documentacao/advanced-api/advanced-transactional/2.0/) e o Unicode

```php
$sender_id = 'gText';
$sender_id_value = 'Test sender';
$unicode = false;
$message->settings->configure($sender_id, $sender_id_value, $unicode);
```