Třída `BulkGate\Sdk\Message\Viber` představuje objekt Viber zprávy, který se skládá z obsahu zprávy a příjemce.

```php
use BulkGate\Sdk\Message\Viber;
use BulkGate\Sdk\Message\Component\{Button, Image, PhoneNumber, SimpleText}
```

## Příjemce

Třída přijímá jako první argument telefonní číslo, které lze zadat pomocí řetězce:

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

nebo přijímá instanci objektu `BulkGate\Sdk\Message\Component\PhoneNumber`:

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

Pro získání telefonního čísla můžete použít výpis objektu třídy `BulkGate\Sdk\Message\Component\PhoneNumber`, který vždy vrací telefonní číslo jako řetězec.

Telefonní číslo a ISO můžete nastavit i samostatně.

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

## Text zprávy

Druhým parametrem je zadání textu zprávy. Zde existují také 2 možnosti, kde první je zadání textu pomocí `řetězce` a druhá je instance třídy `SimpleText` nebo `null`.

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

Text můžete samozřejmě definovat i po vytvoření instance objektu pomocí metody `text(string $text, array $variables = [])`

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

## Nastavení
Třetím parametrem objektu Viber je `sender`, který je definován jako `řetězec`.

```php
$message = new Viber('420777777777', 'text message', 'Sender');
```

Funkcionalita služby Viber umožňuje ve vašich zprávách používat tlačítka a obrázky.

Vstupní parametry tlačítka zahrnují řetězec názvu tlačítka a URL adresu určující, kam tlačítko vede.
Vstupní parametry obrázku zahrnují URL adresu umístění obrázku a `boolean`, který určuje, zda půjde obrázek zvětšovat či zmenšovat.

```php
$button = new Button('Caption', 'url');
$image = new Image('image url', false);
$message = new Viber('420777777777', 'text message', 'Sender', $button, $image);
```

Posledním parametrem je doba platnosti zprávy v sekundách. Když ji neuvedete,
platí výchozí hodnota **10 800 s (3 hodiny)** — po jejím uplynutí se nedoručená
Viber zpráva zahodí (u [vícekanálové zprávy](https://www.bulkgate.com/cs/dokumentace/php-sdk/php-sdk-vicekanalova-zprava/2.0/)
se přepošle jako SMS).

```php
$message = new Viber('420777777777', 'text message', 'Sender', $button, $image, 3_600);
```