Klassen `BulkGate\Sdk\Message\Viber` representerer objektet for Viber-meldingen, som består av innholdet i meldingen og mottakeren.

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

## Mottaker

Som første argument tar klassen imot et telefonnummer, som kan angis som en streng:

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

eller en instans av objektet `BulkGate\Sdk\Message\Component\PhoneNumber`:

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

For å hente telefonnummeret kan du skrive ut objektet av klassen `BulkGate\Sdk\Message\Component\PhoneNumber`, som alltid returnerer telefonnummeret som en streng.

Du kan også angi telefonnummer og ISO hver for seg

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

## Meldingstekst

Den andre parameteren er teksten i meldingen. Også her finnes det 2 muligheter: den første er å angi teksten som `string`, den andre er en instans av klassen `SimpleText`, eller `null`.

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

Du kan selvfølgelig også angi teksten etter at instansen av objektet er opprettet, med metoden `text(string $text, array $variables = [])`

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

## Innstillinger
Den tredje parameteren til Viber-objektet er `sender`, som er definert som `string`.

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

Viber gir deg mulighet til å bruke knapper og bilder i meldingene dine.

Inndataparameterne for knappen er en tekststreng og en URL som bestemmer hvor knappen leder.
Inndataparameterne for bildet er URL-en til bildet og en `boolean` som bestemmer om bildet skal kunne forstørres.

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

Den siste parameteren er levetiden til meldingen i sekunder. Hvis du utelater
den, er standardverdien **10 800 s (3 timer)** — deretter forkastes en Viber-melding
som ikke er levert (ved en
[multikanalmelding](https://www.bulkgate.com/no/dokumentasjon/php-sdk/php-sdk-multikanalmelding/2.0/) sendes den i stedet
som SMS).

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