Les configurateurs sont des classes qui fournissent une interface spécialisée pour chaque type de message

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

## Configurateur SMS

Ce configurateur fournit des méthodes pour définir tous les types d'expéditeur


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

Vous pouvez passer l'expéditeur directement au constructeur —
`new SmsConfigurator(SmsSender::GATE_TEXT_SENDER, 'BulkGate', true)` équivaut
à appeler `textSender('BulkGate')` et `unicode()`.

### Expéditeur texte
```php
$sms_configurator->textSender('BulkGate');
$sms_configurator->configure($message);
```

### Expéditeur numérique
```php
$sms_configurator->numericSender('420777777777');
$sms_configurator->configure($message);
```

### Code court (short code)
```php
$sms_configurator->shortCode();
$sms_configurator->configure($message);
```

### Numéro système
```php
$sms_configurator->systemNumber();
$sms_configurator->configure($message);
```

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

### Profil du portail
```php
$sms_configurator->portalProfile(12);
$sms_configurator->configure($message);
```

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

## Configurateur SMS par pays
Ce configurateur vous permet de configurer des routes SMS spécifiques pour chaque pays.

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

Un pays est retiré de la liste avec `removeCountry()`, et l'Unicode s'active
de la même manière que dans le configurateur SMS :

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


## Configurateur Viber

Le configurateur Viber est une classe qui fournit des méthodes pour configurer tous les aspects d'un message Viber, y compris les boutons, les images et les délais d'expiration

```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);
```

## Enregistrement du configurateur auprès du Message Sender

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

Vous ne pouvez enregistrer qu'un seul configurateur par canal de message. Un pour Viber et un pour SMS.