Senden von SMS-Nachrichten in Amazon SNS mit der AWS SDK for PHP Version 3 - AWS SDK for PHP

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Senden von SMS-Nachrichten in Amazon SNS mit der AWS SDK for PHP Version 3

Sie können Amazon Simple Notification Service (Amazon SNS) verwenden, um Textnachrichten oder SMS-Nachrichten an SMS-fähige Geräte zu senden. Sie können eine Nachricht direkt an eine Telefonnummer senden oder Sie können eine Nachricht an mehrere Telefonnummern gleichzeitig senden, indem Sie das Thema für diese Telefonnummern abonnieren und die Nachricht an das Thema senden.

Verwenden Sie Amazon SNS, um Einstellungen für SMS-Nachrichten anzugeben, z. B. wie Ihre Zustellungen optimiert sind (für Kosten oder für eine zuverlässige Zustellung), Ihr monatliches Ausgabenlimit, wie Nachrichtenzustellungen protokolliert werden und ob tägliche SMS-Nutzungsberichte abonniert werden sollen. Diese Einstellungen werden abgerufen und als SMS-Attribute für Amazon SNS festgelegt.

Wenn Sie eine SMS-Nachricht senden, geben Sie die Telefonnummer im E.164-Format an. Die Richtlinie E.164 legt die internationale Schreibweise für Telefonnummern fest. Telefonnummern in diesem Format bestehen aus maximal 15 Zeichen sowie einem vorangestellten Plus-Zeichen (+) und der Ländervorwahl. Eine US-Telefonnummer im E.164-Format sieht beispielsweise wie folgt aus: +1001XXX5550100.

In den nachstehenden Beispielen wird Folgendes veranschaulicht:

  • Rufen Sie die Standardeinstellungen für das Senden von SMS-Nachrichten von Ihrem Konto mit der Operation GetSMSAttributes ab.

  • Aktualisieren Sie die Standardeinstellungen für das Senden von SMS-Nachrichten von Ihrem Konto mit der Operation SetSMSAttributes.

  • Finden Sie heraus, ob ein bestimmter Telefonnummernbesitzer den Empfang von SMS-Nachrichten von Ihrem Konto mit CheckIfPhoneNumberISOptedOut deaktiviert hat.

  • Listen Sie Telefonnummern auf, bei denen sich der Eigentümer von dem Empfang von SMS-Nachrichten von Ihrem Konto mit abgemeldet hatListPhoneNumberOptedOut.

  • Senden Sie eine Textnachricht (SMS-Nachricht) mit Publish direkt an eine Telefonnummer.

Weitere Informationen zur Verwendung von Amazon SNS finden Sie unter Verwenden von Amazon SNS für Benutzerbenachrichtigungen mit einer Mobiltelefonnummer als Subscriber (Senden von SMS).

Der gesamte Beispielcode für die AWS SDK for PHP ist hier auf GitHubverfügbar.

Anmeldeinformationen

Bevor Sie den Beispielcode ausführen, konfigurieren Sie Ihre AWS Anmeldeinformationen, wie unter beschriebenAnmeldeinformationen. Importieren Sie dann die AWS SDK for PHP, wie unter beschriebenGrundlegende Verwendung.

SMS-Attribute abrufen

Zum Abrufen der Standardeinstellungen für SMS-Nachrichten verwenden Sie die Operation GetSMSAttributes.

In diesem Beispiel wird das DefaultSMSType-Attribut abgerufen. Dieses Attribut steuert, ob SMS-Nachrichten als Promotional oder als Transactional gesendet werden. Im ersten Fall wird die Nachrichtenzustellung im Hinblick auf die Kosten und im zweiten Fall im Hinblick auf höchste Zuverlässigkeit optimiert.

Importe

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;

Beispiel-Code

$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); try { $result = $SnSclient->getSMSAttributes([ 'attributes' => ['DefaultSMSType'], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

Festlegen von SMS-Attributen

Zum Aktualisieren der Standardeinstellungen für SMS-Nachrichten verwenden Sie die Operation SetSMSAttributes.

In diesem Beispiel wird das DefaultSMSType-Attribut auf Transactional festgelegt. Damit wird die Nachrichtenzustellung im Hinblick auf höchste Zuverlässigkeit optimiert.

Importe

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;

Beispiel-Code

$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); try { $result = $SnSclient->SetSMSAttributes([ 'attributes' => [ 'DefaultSMSType' => 'Transactional', ], ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

Überprüfen, ob eine Telefonnummer sich abgemeldet hat

Um festzustellen, ob sich ein bestimmter Telefonnummernbesitzer vom Empfang von SMS-Nachrichten von Ihrem Konto abgemeldet hat, verwenden Sie die -CheckIfPhoneNumberIsOptedOutOperation.

In diesem Beispiel folgt die Telefonnummer dem E.164-Format, einem Standard für die internationale Schreibweise für Telefonnummern.

Importe

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;

Beispiel-Code

$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); $phone = '+1XXX5550100'; try { $result = $SnSclient->checkIfPhoneNumberIsOptedOut([ 'phoneNumber' => $phone, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

Abgemeldete Telefonnummern auflisten

Um eine Liste von Telefonnummern abzurufen, bei denen sich der Eigentümer vom Empfang von SMS-Nachrichten von Ihrem Konto abgemeldet hat, verwenden Sie die -ListPhoneNumbersOptedOutOperation.

Importe

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;

Beispiel-Code

$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); try { $result = $SnSclient->listPhoneNumbersOptedOut(); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }

In einer Textnachricht veröffentlichen (SMS-Nachricht)

Um eine Textnachricht (SMS-Nachricht) direkt an eine Telefonnummer zu senden, verwenden Sie die Operation Publish.

In diesem Beispiel folgt die Telefonnummer dem E.164-Format, einem Standard für die internationale Schreibweise für Telefonnummern.

SMS-Nachrichten können bis zu 140 Byte enthalten. Für die veröffentlichte und in mehreren Teilen versendete SMS-Nachricht gilt eine Größenbegrenzung von 1 600 Byte.

Weitere Informationen zum Senden von SMS-Nachrichten finden Sie unter Senden einer SMS-Nachricht.

Importe

require 'vendor/autoload.php'; use Aws\Exception\AwsException; use Aws\Sns\SnsClient;

Beispiel-Code

$SnSclient = new SnsClient([ 'profile' => 'default', 'region' => 'us-east-1', 'version' => '2010-03-31' ]); $message = 'This message is sent from a Amazon SNS code sample.'; $phone = '+1XXX5550100'; try { $result = $SnSclient->publish([ 'Message' => $message, 'PhoneNumber' => $phone, ]); var_dump($result); } catch (AwsException $e) { // output error message if fails error_log($e->getMessage()); }