Aucun résultat

Vous consultez une ancienne version de cette page.

Ouvrir la version actuelle

Message transactionnel (PHP SDK 1.0)

La classe BulkGate\Sms\Message représente l'objet du message SMS, composé du contenu du message et du destinataire.

use BulkGate\Sms\Message;

Destinataire

La classe accepte comme premier argument un numéro de téléphone, qui peut être indiqué sous forme de chaîne :

$message = new Message('420777777777', 'message de test');

ou une instance de l'objet `Message\PhoneNumber` :

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

Vous pouvez aussi indiquer le numéro de téléphone après la création de l'instance de l'objet, à l'aide de la méthode phoneNumber($phone_number, $iso = null) :

$message = new Sms\Message(); $message->phoneNumber('420777777777'); // chaîne $message->phoneNumber('777777777', BulkGate\Sms\Country::CZECH_REPUBLIC); // Variante avec ajout de l'indicatif international $message->phoneNumber(new Message\PhoneNumber('420777777777'));

Pour obtenir le numéro de téléphone, utilisez la méthode getPhoneNumber(), qui renvoie toujours une instance de l'objet `Message\PhoneNumber`.

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

Texte du message

Le second paramètre est le texte du message. Là aussi, il existe 2 possibilités : indiquer le texte sous forme de chaîne, ou passer une instance de la classe `Message\Text`.

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

Vous pouvez bien sûr définir le texte même après la création de l'instance de l'objet, à l'aide de la méthode text($text, array $variables = [])

$message = new Sms\Message(); $message->phoneNumber('420777777777'); // chaîne $message->text('message de test'); // chaîne $message->text(new Message\Text('message de test')); $message->text( 'Bonjour <first_name> <last_name>', [ 'first_name' => 'John', 'last_name' => 'Doe' ]); // remplissage des variables ; le texte obtenu est "Bonjour John Doe"

Pour récupérer le texte du message, utilisez la méthode getText(), qui renvoie toujours une instance de l'objet `Message\Text`.

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

Prise en charge de JSON

L'objet BulkGate\Sms\Message implémente l'interface \JsonSerializable, qui permet de le convertir au format JSON via json_encode().

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

Le résultat est :

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

Les clés status, price, credit et id ne sont renseignées qu'après l'envoi, scheduled dès que vous appelez schedule().

Conversion en chaîne

L'objet BulkGate\Sms\Message implémente la méthode magique __string()

/** @var BulkGate\Sms\Message $message */ $message = (string) $message; // dans la variable echo $message; // vers la sortie

Le résultat est :

420777777777: message de test

Conversion en tableau

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

Interface fluide

L'interface fluide (fluent interface) est une technique de chaînage des méthodes.

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

Informations après l'envoi

Une fois le message envoyé, vous pouvez en obtenir le prix, le statut et l'ID.

$id = $message->getId(); // ID du message $status = $message->getStatus(); // statut $price = $message->getPrice(); // prix $credit = $message->getCredit(); // solde de crédit après l'envoi

Planification du message

La méthode schedule() définit l'heure d'envoi sous forme de timestamp Unix. Sans paramètre, elle annule la planification.

$message->schedule(strtotime('2026-01-15 09:00')); // planifier $message->schedule(); // annuler la planification
Cette page vous a-t-elle été utile ?