Třída `BulkGate\Sdk\Message\Bulk` reprezentuje objekt, který spojuje zprávy typu ([`BulkGate\Sdk\Message\Sms`](https://www.bulkgate.com/cs/dokumentace/php-sdk/php-sdk-zprava/2.0/), [`BulkGate\Sdk\Message\Viber`](https://www.bulkgate.com/cs/dokumentace/php-sdk/php-sdk-viber-zprava/2.0/), [`BulkGate\Sdk\Message\MultiChannel`](https://www.bulkgate.com/cs/dokumentace/php-sdk/php-sdk-vicekanalova-zprava/2.0/)) do hromadné zprávy (kampaně).

```php
use BulkGate\Sdk\Message\{Sms, Viber, MultiChannel, Bulk};
use BulkGate\Sdk\Message\Component\{SimpleText, Button}
```

```php
$sms_message = new Sms('420777777777', new SimpleText('test <variable>', ['variable' => 'message']));
$viber_message = new Viber(
    '420777777777', 
    new SimpleText('test <variable>', ['variable' => 'message']), 
    'Sender', 
    new Button('Caption', 'https://www.bulkgate.com/')
);
$multi_channel_message = new MultiChannel($phone_number);
$multi_channel_message->sms(new SimpleText('test <variable>', ['variable' => 'message']));
$multi_channel_message->viber(
    new SimpleText('test <variable>', ['variable' => 'message']),
    'Sender', 
    new Button('Go to BulkGate', 'https://www.bulkgate.com/')
);
$message = new Bulk([$sms_message, $viber_message, $multi_channel_message]);
```

## Přidávání zpráv
Zprávu můžete přidat pomocí rozhraní `\ArrayAccess`.

```php
$message = new Bulk();
$message[] = new Sms('420777777777', 'test SMS');
```

## Iterátor

Zprávy můžete hromadně procházet pomocí cyklu `foreach`.

```php
/** 
 * @var BulkGate\Sdk\Message\Bulk $bulk_message 
 * @var BulkGate\Sdk\Message\Base $message
 */
foreach($bulk_message as $message)
{
    var_dump($message);
}
```

S hromadnou zprávou můžete v podstatě zacházet jako s polem

```php
$bulk_message['sms'] = new Sms('420777777777', 'text_message');
isset($bulk_message['sms']); // true
count($bulk_message);
unset($bulk_message['sms']);
isset($bulk_message['sms']); // false
```