Nichts gefunden

Sie sehen eine ältere Version dieser Seite.

Aktuelle Version öffnen

Transaktionsnachricht (PHP SDK 1.0)

Die Klasse BulkGate\Sms\Message stellt das Objekt der SMS-Nachricht dar, das aus dem Inhalt der Nachricht und dem Empfänger besteht.

use BulkGate\Sms\Message;

Empfänger

Als erstes Argument nimmt die Klasse eine Telefonnummer entgegen, die als String angegeben werden kann:

$message = new Message('420777777777', 'Testnachricht');

oder eine Instanz des Objekts `Message\PhoneNumber`:

$message = new Sms\Message(new Message\PhoneNumber('420777777777'), 'Testnachricht');

Die Telefonnummer können Sie auch nach dem Erstellen der Objektinstanz mit der Methode phoneNumber($phone_number, $iso = null) angeben:

$message = new Sms\Message(); $message->phoneNumber('420777777777'); // String $message->phoneNumber('777777777', BulkGate\Sms\Country::CZECH_REPUBLIC); // Variante mit Ergänzung der internationalen Vorwahl $message->phoneNumber(new Message\PhoneNumber('420777777777'));

Um die Telefonnummer zu erhalten, können Sie die Methode getPhoneNumber() verwenden, die immer eine Instanz des Objekts `Message\PhoneNumber` zurückgibt.

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

Nachrichtentext

Der zweite Parameter ist der Text der Nachricht. Auch hier gibt es 2 Möglichkeiten: Entweder geben Sie den Text als String an oder als Instanz der Klasse `Message\Text`.

$message = new Message( new Message\PhoneNumber('420777777777'), new Message\Text('Testnachricht') );

Selbstverständlich können Sie den Text auch nach dem Erstellen der Objektinstanz mit der Methode text($text, array $variables = []) festlegen

$message = new Sms\Message(); $message->phoneNumber('420777777777'); // String $message->text('Testnachricht'); // String $message->text(new Message\Text('Testnachricht')); $message->text( 'Hallo <first_name> <last_name>', [ 'first_name' => 'Max', 'last_name' => 'Mustermann' ]); // Ergänzung der Variablen; der resultierende Text lautet "Hallo Max Mustermann"

Um den Nachrichtentext abzurufen, können Sie die Methode getText() verwenden, die immer eine Instanz des Objekts `Message\Text` zurückgibt.

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

JSON-Unterstützung

Das Objekt BulkGate\Sms\Message implementiert das Interface \JsonSerializable, mit dem Sie es über die Funktion json_encode() in das JSON-Format umwandeln können.

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

Die Ausgabe lautet:

{ "number": { "number": "420777777777", "iso": null }, "text": "Testnachricht", "status": "preparation", "price": 0.0, "credit": 0.0, "id": null, "scheduled": null }

Die Schlüssel status, price, credit und id werden erst nach dem Versand gefüllt, scheduled erst nach dem Aufruf von schedule().

Umwandlung in einen String

Das Objekt BulkGate\Sms\Message implementiert die magische Methode __string()

/** @var BulkGate\Sms\Message $message */ $message = (string) $message; // in die Variable echo $message; // auf die Ausgabe

Die Ausgabe lautet:

420777777777: Testnachricht

Umwandlung in ein Array

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

Fluent Interface

Fluent Interface ist eine Technik zur Verkettung von Methoden.

$message = new Sms\Message(); $message->phoneNumber('420777777777') ->text('Testnachricht');

Informationen nach dem Versand

Nach dem Versand der Nachricht können Sie aus ihr den Preis, den Status und die ID der Nachricht abrufen.

$id = $message->getId(); // ID der Nachricht $status = $message->getStatus(); // Status $price = $message->getPrice(); // Preis $credit = $message->getCredit(); // Guthaben nach dem Versand

Planung der Nachricht

Die Methode schedule() legt den Versandzeitpunkt als Unix-Zeitstempel fest. Ohne Parameter hebt sie die Planung auf.

$message->schedule(strtotime('2026-01-15 09:00')); // planen $message->schedule(); // Planung aufheben
War diese Seite hilfreich?