Message Scheduling jetzt als öffentliche Beta verfügbar

January 12, 2022
Autor:in:
Prüfer:in:
Liz Yee
Twilion
Chris Piwinski
Mitwirkende:r
Die von Twilio-Mitwirkenden geäußerten Meinungen sind ihre eigenen
Dave Esber
Twilion

Message Scheduling jetzt als öffentliche Beta verfügbar


Hallo und Danke fürs Lesen! Dieser Blogpost ist eine Übersetzung von Message Scheduling is Now in Public Beta. Während wir unsere Übersetzungsprozesse verbessern, würden wir uns über Dein Feedback an help@twilio.com freuen, solltest Du etwas bemerken, was falsch übersetzt wurde. Wir bedanken uns für hilfreiche Beiträge mit Twilio Swag :)

Jedes Jahr nutzen Millionen von Entwicklern Twilio, um mehr als 100 Milliarden Nachrichten zu senden und zu empfangen. Kein Wunder also, dass wir uns darauf konzentrieren, software- und entwicklerfreundlichen APIs zu veröffentlichen, die Ihnen die Arbeit erleichtern.

Eine Anfrage, die wir immer wieder hörten, bezog sich auf das geplante Senden von Nachrichten an einem Datum bzw. zu einer Uhrzeit in der Zukunft. Mit Message Scheduling, das jetzt als öffentliche Beta verfügbar ist, können Sie genau das tun! Insbesondere bei Nachrichten oder Benachrichtigungen, für die Sie einige Tage später eine Erinnerung oder ein Update senden möchten, ist diese Funktion sehr nützlich. Mit der Twilio Programmable Messaging API und dem Messaging-Dienst, einer Funktion zum Planen der Sendezeitpunkte von Nachrichten, können Sie festlegen, dass SMS, MMS oder WhatsApp-Nachrichten an einem Datum und zu einer Uhrzeit in der Zukunft gesendet werden – und Twilio übernimmt den Rest. Und das Beste daran: Die Funktion ist kostenlos enthalten, zusammen mit anderen Softwarefunktionen, die bei Absenderauswahl, Integration, Content und Einhaltung von Vorschriften unterstützen.

Darum haben wir Message Scheduling entwickelt

Viele SMS oder WhatsApp-Nachrichten werden als getriggerte Nachrichten gesendet. Doch Anwendungsfälle wie Terminerinnerungen, geplante Umfragen oder Zahlungserinnerungen erfordern zusätzliche Logik. Message Scheduling beseitigt Abhängigkeiten auf Ihrem Server und Back-End. So wird sichergestellt, dass Nachrichten am korrekten Tag und zur korrekten Uhrzeit an Ihre Kundschaft gesendet werden. Bevor es die Message Scheduling-Funktion von Twilio gab, standen Ihnen dafür unter anderem folgende Optionen zur Verfügung:

  1. Sie konnten Cron-Jobs auf Ihrem Server einrichten, sodass Nachrichten zu einer vorab festgelegten Zeit gesendet wurden.
  2. Sie konnten auf Ihrem Back-End Ereignisabfragen durchführen, um Nachrichten zum richtigen Zeitpunkt zu senden.

Dieselbe Aufgabe können Sie nun mit Message Scheduling vornehmen – aber mit weniger Programmieraufwand. Sie können jetzt den gewünschten Zeitplan für die Zustellung festlegen, während Sie die API-Anfrage zum Senden von Nachrichten an Twilio stellen.

Beachten Sie, dass Message Scheduling für Nachrichten konzipiert ist, die zwischen 60 Minuten und 7 Tagen vor dem Sendezeitpunkt geplant werden müssen. Wenn dies nicht Ihrem speziellen Anwendungsfall entspricht, können Sie weiterhin die oben erwähnten Cron-Jobs oder Back-End-Abfragen nutzen.

Im Rahmen unseres Pilotprogramms stellte sich heraus, dass Entwickler auch die Möglichkeit haben wollen, den geplanten Versand einer Nachricht bei Bedarf zu stornieren. Diese Option bieten wir jetzt über die serverseitigen Hilfebibliotheken von Twilio bzw. über eine HTTP-Anfrage an unsere REST API.

Mit Message Scheduling stehen Ihnen cleverere Optionen für Ihre Nachrichten zur Verfügung. Ihren Geschäftsanforderungen entsprechend können Sie festlegen, dass Nachrichten vor, während oder nach den Geschäftszeiten gesendet werden – je nachdem, welche Art von Nachrichten zur Kundenbindung Sie nutzen. Darüber hinaus brauchen Sie sich bei Vorabfestlegung der Sendezeitpunkte nicht den Kopf über API-Ratenbegrenzungen zu zerbrechen, was aber der Fall wäre, wenn Sie innerhalb kurzer Zeit eine sehr große Zahl von Nachrichten senden würden. In diesem Zusammenhang sollte ich erwähnen, dass Message Scheduling keinen Einfluss auf Ihren Nachrichtendurchsatz (MPS) oder die maximale Warteschlangenlänge hat.

Message Scheduling in Aktion

Voraussetzungen

  • Ein kostenloses Twilio-Konto (Melden Sie sich über diesen Link kostenlos an und erhalten Sie beim Upgrade Ihres Kontos ein Guthaben von 10 $!)
  • Eine Twilio-Telefonnummer
  • Einen Messaging -Dienst in Ihrem Twilio-Konto (Message Scheduling kann nur über Messaging-Dienste genutzt werden.)
  • Sie müssen sich mit Befehlszeilen (Terminal) oder einer API-Plattform wie Postman auskennen, um HTTP-Anfragen an Twilio zu stellen.

Anwendungsfall

Zu den Vorteilen von Message Scheduling gehört, dass Sie damit einen Nachrichtenplan schaffen können, der mit einer E-Mail-Kampagne vergleichbar ist. Wenn ein Kunde eine bestimmte Aktion ausführt, können Sie alle mit diesem speziellen Aktion verbundenen Nachrichten auf einmal einplanen. Ohne Message Scheduling wären Skripte oder Jobs erforderlich. Diese müssten regelmäßig ausgeführt werden, nach Nutzern suchen, die eine Nachrichten empfangen sollten, und die Nachrichten dann zu verschiedenen Zeitpunkten senden. Durch das Festlegen des Sendezeitpunkts von Nachrichten können Sie all dies bereits vorab festlegen. Dabei haben Sie die Gewissheit, dass die Nachrichten rechtzeitig gesendet werden. Darüber hinaus können Sie bei Bedarf den Versand von Nachrichten stornieren oder neu planen.

Das folgende Beispiel verdeutlicht dies. Wir erstellen mit Message Scheduling eine Terminerinnerung mit mehreren Touchpoints für einen Patienten.

Dieser Workflow besteht aus drei zentralen Schritten:

  1. Hinzufügen Ihrer Twilio-Telefonnummer zu einem Messaging-Dienst
  2. Planung von zwei terminbezogenen Nachrichten für den Patienten, die zu verschiedenen Zeiten gesendet werden sollen
  3. Stornierung einer der geplanten Nachrichten aufgrund einer Terminabsage

Schritt 1: Hinzufügen Ihrer Twilio-Telefonnummer zu Ihrem Messaging-Dienst

Da Message Scheduling nur über Messaging-Dienste genutzt werden kann, müssen Sie Ihrem Messaging-Dienst Ihre Twilio-Telefonnummer hinzufügen. Führen Sie dazu die hier beschriebenen Schritte aus. Danach sollten Sie Ihre Messaging-Dienst-SID notieren, die Sie in der Twilio-Konsole auf der Eigenschaftenseite des Dienstes finden. Diese SID ist einer der Parameter, die wir für die HTTP-Anfrage zum Planen des Sendezeitpunkts benötigen.

Schritt 2: Planen von Terminerinnerungen

Sobald ein Termin vereinbart wurde, planen wir den Versand der folgenden terminbezogenen Nachrichten:

  1. Nachricht 1: 24 Stunden vor dem Termin wird eine SMS-Erinnerung gesendet.
  2. Nachricht 2: 3 Stunden vor dem Termin wird eine MMS mit einem QR-Code gesendet. Der Patient nutzt diesen QR-Code, um sich bei der Ankunft für den Termin einzuchecken.

Führen Sie in einer neuen Terminal-Sitzung (die ngrok-Sitzung aus Schritt 1 bitte nicht schließen) den folgenden Curl-Befehl aus, um den Sendezeitpunkt von Nachricht 1 zu planen:

curl -X POST https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Messages.json \
--data-urlencode "Body=This is a reminder about your appointment tomorrow at 3PM with Dr. Strange" \
--data-urlencode "MessagingServiceSid=<Your Messaging Service SID From Step 1>" \
--data-urlencode "To=<Your Patient's E.164 Formatted Phone Number>" \
--data-urlencode "ScheduleType=fixed" \
--data-urlencode "SendAt=<Scheduled UTC Date Time in ISO-8601 Format>" \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN

Denken Sie bitte beim Ausführen des oben erwähnten Befehls auf Ihrem Terminal daran, folgende Ersetzungen vorzunehmen: Tragen Sie für <Your Messaging Service SID From Step 1> Ihre tatsächliche Messaging-Dienst-SID ein, für <Your Patient’s E.164 Formatted Phone Number> die gemäß E.164 formatierte Telefonnummer des Empfängers und für <Scheduled UTC Date Time in ISO-8601 Format> die UTC-Datums- und Zeitangabe für den Sendezeitpunkt der Nachricht, und zwar im ISO-8601-Format (Beispiel: 2022-01-01T14:00:00Z). Achten Sie außerdem darauf, dass Ihre TWILIO_ACCOUNT_SID (Twilio-Konto-SID) und Ihr TWILIO_AUTH_TOKEN (Twilio-Authentifizierungstoken) korrekt als Umgebungsvariablen gespeichert sind. Nach dem Senden der HTTP-Anfrage sehen Sie eine Antwort, die Ihre Nachrichten-SID enthält. Denken Sie daran, diese Nachrichten-SID zu speichern. Sie benötigen Sie für den Fall, dass Sie die geplante Nachricht später stornieren müssen!

Die Antwort könnte beispielsweise wie folgt aussehen:

{
"sid": "SM93b9cd1adf4045c592cd30984d8d4f32", "date_created": "Fri, 31 Dec 2021 07:56:51 +0000",
"date_updated": "Fri, 31 Dec 2021 07:56:51 +0000", "date_sent": null, "account_sid": "REDACTED",
"to": "+17815367324", "from": null, "messaging_service_sid": "REDACTED",
"body": "This is a reminder about your appointment tomorrow at 3PM with Dr. Strange",
"status": "scheduled", "num_segments": "0", "num_media": "0", "direction": "outbound-api",
"api_version": "2010-04-01", "price": null, "price_unit": null, "error_code": null, "error_message": null,
"uri": "/2010-04-01/Accounts/REDACTED/Messages/SM93b9cd1adf4045c592cd30984d8d4f32.json",
"subresource_uris": {"media": "/2010-04-01/Accounts/REDACTED/Messages/SM93b9cd1adf4045c592cd30984d8d4f32/Media.json"}
}

In den Programmable Messaging-Log Ihrer Twilio-Konsole erkennen Sie am Status „Scheduled“ (Geplant), ob der Sendezeitpunkt für die Nachricht tatsächlich festgelegt wurde:

Programmable Messaging Logs

Als Nächstes planen wir den Sendezeitpunkt einer MMS mit einem QR-Code zum Einchecken. Diese wird 3 Stunden vor dem Termin gesendet. Führen Sie den folgenden Curl-Befehl aus, um den Sendezeitpunkt von Nachricht 2 zu planen:

curl -X POST https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Messages.json \
--data-urlencode "MediaUrl=https://i.ibb.co/D7fKNxw/frame.png" \
--data-urlencode "Body=This is a reminder about your appointment tomorrow at 3PM with Dr. Strange" \
--data-urlencode "MessagingServiceSid=<Your Messaging Service SID From Step 1>" \
--data-urlencode "To=<Your Patient's E.164 Formatted Phone Number>" \
--data-urlencode "ScheduleType=fixed" \
--data-urlencode "SendAt=<Scheduled UTC Date Time in ISO-8601 Format>" \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN

Achten Sie auch beim Ausführen des obigen Befehls wieder darauf, die Platzhalter durch Ihre tatsächlichen Werte zu ersetzen, wie in Nachricht 1. Sie erhalten nach Ausführen des obigen Befehls eine ähnliche Antwort wie bei Nachricht 1. Und auch hier erkennen Sie an den Programmable Messaging-Logeinträgen Ihrer Twilio-Konsole, ob die Nachricht tatsächlich den Status „Scheduled“ (Geplant) hat. Denken Sie auch hier wieder daran, Ihre Nachrichten-SID zu speichern.

Schritt 3: Stornieren einer geplanten Nachricht

Wir stornieren eine geplante Nachricht, indem wir eine HTTP POST-Anfrage an die Nachrichtenressource stellen. Dazu geben wir die SID der zu stornierenden Nachricht an und aktualisieren den Nachrichtenstatus auf „Canceled“ (Storniert). Führen Sie den folgenden Curl-Befehl aus, um eine geplante Nachricht zu stornieren:

curl -X POST https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Messages/MM12719a98409c41eaac88267848290859 \
--data-urlencode "Status=canceled" \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN

In den Programmable Messaging-Logeinträgen Ihrer Twilio-Konsole erkennen Sie, ob die Nachricht tatsächlich storniert wurde. Das Logbuch sieht in etwa so aus:

Programmable Messaging Logs

Wichtige Hinweise zur Verwendung von Message Scheduling

Bitte beachten Sie beim Festlegen von Sendezeitpunkten mit Message Scheduling Folgendes:

  • Message Scheduling kann nur über die Messaging-Dienste genutzt werden. Sie müssen Ihre Messaging-Dienste einrichten, bevor Sie den Sendezeitpunkt von Nachrichten festlegen können.
  • Der Sendezeitpunkt kann nur mindestens 60 Minuten bis 7 Tage im Voraus festgelegt werden.
  • Denken Sie daran, dass die UTC-Datums- und Zeitangabe für den Sendezeitpunkt das ISO-8601-Format haben muss.
  • Speichern Sie stets Ihre Nachrichten-SID, wenn Sie den Sendezeitpunkt Ihrer Nachrichten festlegen. Sie benötigen diese Angabe später, um den Versand bei Bedarf zu stornieren.
  • Eine Nachricht kann nicht mehr storniert werden, wenn sie bereits von Twilio gesendet wurde und einen abgeschlossen Status erreicht hat.

Los geht's

Bislang mussten Sie beim Senden von Terminerinnerungen an Ihre Kundschaft entweder die Erinnerungen für jeden einzelnen Nutzer separat nachverfolgen und senden oder aber alle Nachrichten auf einmal senden.

Jetzt können Sie einen zukünftigen Sendezeitpunkt für Nachrichten festlegen, um Faktoren wie Zeitzonen oder Geschäftszeiten zu berücksichtigen. Darüber hinaus können Sie Ihren Geschäftsanforderungen entsprechend genauer festlegen, wer wann welche Nachricht erhält.

Message Scheduling steht Ihnen als Teil der Messaging-Dienst-Funktionen zur Verfügung. Es fallen keine zusätzlichen Kosten an. In den Dokumenten erfahren Sie mehr über all die anderen Funktionen, die Ihnen bei der Nutzung des Messaging-Dienstes zur Verfügung stehen.

We can’t wait to see what you build!

Shashwat Johari ist Solutions Engineer bei Twilio. Er ist seit jeher ein Fan von Technologie und widmet sich derzeit voll und ganz der Welt der Twilio-APIs. Shashwat freut sich über Ihre Kommentare zu Message Scheduling unter sjohari [at] twilio.com.