Nic nenalezeno

Prohlížíte si starší verzi stránky.

Otevřít aktuální

Transakční zpráva (PHP SDK 1.0)

Třída BulkGate\Sms\Message reprezentuje objekt SMS zprávy, která se skládá z obsahu zprávy a příjemce.

use BulkGate\Sms\Message;

Příjemce

Třída přijímá jako první argument telefonní číslo, které může být zadáno řetězcem:

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

nebo přijímá instanci objektu `Message\PhoneNumber`:

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

Telefonní číslo můžete zadat i po vytvoření instance objektu pomocí metody phoneNumber($phone_number, $iso = null):

$message = new Sms\Message(); $message->phoneNumber('420777777777'); // řetězec $message->phoneNumber('777777777', BulkGate\Sms\Country::CZECH_REPUBLIC); // Varianta s doplněním mezinárodní telefonní předvolby $message->phoneNumber(new Message\PhoneNumber('420777777777'));

Pro získání telefonního čísla lze použít metodu getPhoneNumber(), která vrací vždy instanci objektu `Message\PhoneNumber`.

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

Text zprávy

Druhým parametrem je zadání textu zprávy. Jsou zde také 2 možnosti, kde první je zadání textu pomocí řetězce a druhou možností je instance třídy `Message\Text`.

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

Samozřejmě i zde můžete definovat text i po vytvoření instance objektu pomocí metody text($text, array $variables = [])

$message = new Sms\Message(); $message->phoneNumber('420777777777'); // řetězec $message->text('test zprávy'); // řetězec $message->text(new Message\Text('test zprávy')); $message->text( 'Ahoj <first_name> <last_name>', [ 'first_name' => 'Jan', 'last_name' => 'Novak' ]); // doplnění proměnných; výsledný text je "Ahoj Jan Novak"

Pro získání textu zprávy lze použít metodu getText(), která vrací vždy instanci objektu `Message\Text`.

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

JSON Podpora

Objekt BulkGate\Sms\Message implementuje rozhraní \JsonSerializable díky kterému ho můžete převést pomocí funkce json_encode() do formátu JSON.

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

Výstupem je:

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

Klíče status, price, credit a id se naplní až po odeslání, scheduled po zavolání schedule().

Převod na řetězec

Objekt BulkGate\Sms\Message implementuje magickou metodu __string()

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

Výstupem je:

420777777777: test zprávy

Převod na pole

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

Fluentní rozhraní

Fluentní rozhraní (anglicky fluent interface) je technika řetězení metod.

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

Informace po odeslání

Po odesální zprávy je možné ze zprávy získat cenu, stav a id zprávy.

$id = $message->getId(); // id zprávy $status = $message->getStatus(); // stav $price = $message->getPrice(); // cena $credit = $message->getCredit(); // zůstatek kreditu po odeslání

Naplánování zprávy

Metoda schedule() nastaví čas odeslání unixovým časovým razítkem. Bez parametru naplánování zruší.

$message->schedule(strtotime('2026-01-15 09:00')); // naplánovat $message->schedule(); // zrušit naplánování
Byla tato stránka užitečná?