Konfigurátory sú triedy, ktoré poskytujú špecializované rozhranie pre všetky typy správ.

```php
use BulkGate\Sdk\Country;
use BulkGate\Sdk\MessageSender;
use BulkGate\Sdk\Message\Component\SmsSender;
use BulkGate\Sdk\Configurator\{SmsConfigurator, SmsCountryConfigurator, ViberConfigurator}
```

## Konfigurátor SMS

Tento konkrétny konfigurátor poskytuje metódy na nastavenie všetkých typov odosielateľov.


```php
$message = new Sms('420777777777', 'text_message');
$sms_configurator = new SmsConfigurator();
```

Odosielateľa môžete odovzdať priamo konštruktoru —
`new SmsConfigurator(SmsSender::GATE_TEXT_SENDER, 'BulkGate', true)` zodpovedá
volaniu `textSender('BulkGate')` a `unicode()`.

### Textový odosielateľ
```php
$sms_configurator->textSender('BulkGate');
$sms_configurator->configure($message);
```

### Vlastné číslo
```php
$sms_configurator->numericSender('420777777777');
$sms_configurator->configure($message);
```

### Short code
```php
$sms_configurator->shortCode();
$sms_configurator->configure($message);
```

### Systémové číslo
```php
$sms_configurator->systemNumber();
$sms_configurator->configure($message);
```

### Mobile connect
```php
$sms_configurator->mobileConnect('key');
$sms_configurator->configure($message);
```

### Profil portálu
```php
$sms_configurator->portalProfile(12);
$sms_configurator->configure($message);
```

### Unicode
```php
$message = new Sms('420777777777', 'text_message');
$sms_configurator->unicode();
$sms_configurator->configure($message);
```

## Konfigurátor SMS podľa krajín
Tento konfigurátor umožňuje konfigurovať konkrétne SMS routy pre jednotlivé krajiny.

```php
$message = new Sms('420777777777', 'text_message');
$country_configurator = new SmsCountryConfigurator();
$country_configurator->addCountry(Country::CZECH_REPUBLIC, SmsSender::GATE2, 'BulkGate');
$country_configurator->configure($message);
```

Krajinu zo zoznamu odoberiete metódou `removeCountry()`, Unicode zapnete rovnako ako
pri konfigurátore SMS:

```php
$country_configurator->removeCountry(Country::CZECH_REPUBLIC);
$country_configurator->unicode();
```


## Konfigurátor Viberu

Konfigurátor Viberu je trieda, ktorá poskytuje metódy na konfiguráciu všetkých aspektov správy Viber vrátane tlačidiel, obrázkov a doby platnosti.

```php
$viber_message = new Viber('420777777777');
$viber_configurator = new ViberConfigurator('Sender');
$viber_configurator->button('caption', 'url');
$viber_configurator->image('url');
$viber_configurator->expiration(5_000 /*seconds*/);
$viber_configurator->configure($viber_message);
```

## Registrácia konfigurátora odosielateľa správy

```php
$viber_configurator = new ViberConfigurator('Sender');
$sender = new MessageSender($connection);
$sender->addSenderConfigurator($viber_configurator);
```

Na jeden kanál správ možno zaregistrovať iba jeden konfigurátor. Jeden pre Viber a jeden pre SMS.