Nič sa nenašlo

Prezeráte si staršiu verziu stránky.

Otvoriť aktuálnu

Transakčná správa (PHP SDK 1.0)

Trieda BulkGate\Sms\Message reprezentuje objekt SMS správy, ktorá sa skladá z obsahu správy a príjemcu.

use BulkGate\Sms\Message;

Príjemca

Trieda prijíma ako prvý argument telefónne číslo, ktoré môže byť zadané reťazcom:

$message = new Message('420777777777', 'test správy');

alebo prijíma inštanciu objektu `Message\PhoneNumber`:

$message = new Sms\Message(new Message\PhoneNumber('420777777777'), 'test správy');

Telefónne číslo môžete zadať aj po vytvorení inštancie objektu pomocou metódy phoneNumber($phone_number, $iso = null):

$message = new Sms\Message(); $message->phoneNumber('420777777777'); // reťazec $message->phoneNumber('777777777', BulkGate\Sms\Country::CZECH_REPUBLIC); // Variant s doplnením medzinárodnej telefónnej predvoľby $message->phoneNumber(new Message\PhoneNumber('420777777777'));

Na získanie telefónneho čísla môžete použiť metódu getPhoneNumber(), ktorá vracia vždy inštanciu objektu `Message\PhoneNumber`.

/** @var Message\PhoneNumber $phone_number */ $phone_number = $message->getPhoneNumber();

Text správy

Druhým parametrom je zadanie textu správy. Aj tu sú 2 možnosti, prvou je zadanie textu pomocou reťazca a druhou je inštancia triedy `Message\Text`.

$message = new Message( new Message\PhoneNumber('420777777777'), new Message\Text('test správy') );

Samozrejme aj tu môžete definovať text aj po vytvorení inštancie objektu pomocou metódy text($text, array $variables = [])

$message = new Sms\Message(); $message->phoneNumber('420777777777'); // reťazec $message->text('test správy'); // reťazec $message->text(new Message\Text('test správy')); $message->text( 'Ahoj <first_name> <last_name>', [ 'first_name' => 'Jan', 'last_name' => 'Novak' ]); // doplnenie premenných; výsledný text je "Ahoj Jan Novak"

Na získanie textu správy môžete použiť metódu getText(), ktorá vracia vždy inštanciu objektu `Message\Text`.

/** @var Message\Text $text */ $text = $message->getText();

JSON podpora

Objekt BulkGate\Sms\Message implementuje rozhranie \JsonSerializable, vďaka ktorému ho môžete previesť pomocou funkcie json_encode() do formátu JSON.

/** @var BulkGate\Sms\Message $message */ $message = new Message('420777777777', 'test správy'); echo json_encode($message);

Výstupom je:

{ "number": { "number": "420777777777", "iso": null }, "text": "test správy", "status": "preparation", "price": 0.0, "credit": 0.0, "id": null, "scheduled": null }

Kľúče status, price, credit a id sa naplnia až po odoslaní, scheduled po zavolaní schedule().

Prevod na reťazec

Objekt BulkGate\Sms\Message implementuje magickú metódu __string()

/** @var BulkGate\Sms\Message $message */ $message = (string) $message; // do premennej echo $message; // na výstup

Výstupom je:

420777777777: test správy

Prevod na pole

/** @var BulkGate\Sms\Message $message */ $array = $message->toArray();

Fluentné rozhranie

Fluentné rozhranie (anglicky fluent interface) je technika reťazenia metód.

$message = new Sms\Message(); $message->phoneNumber('420777777777') ->text('test správy');

Informácie po odoslaní

Po odoslaní správy je možné zo správy získať cenu, stav a id správy.

$id = $message->getId(); // id správy $status = $message->getStatus(); // stav $price = $message->getPrice(); // cena $credit = $message->getCredit(); // zostatok kreditu po odoslaní

Naplánovanie správy

Metóda schedule() nastaví čas odoslania unixovou časovou značkou. Bez parametra naplánovanie zruší.

$message->schedule(strtotime('2026-01-15 09:00')); // naplánovať $message->schedule(); // zrušiť naplánovanie
Bola táto stránka užitočná?