SMS-Versand mit AGVIP SQL

Ulrich Sticker [Grutzeck Software GmbH]
23.07.2015 08:48
Zweck:

Sie möchten SMS aus AG-VIP SQL versenden. Das Hilfsmittel SMS-Versand erlaubt Ihnen flexibel SMS entweder an Adressen aus AG-VIP SQL zu senden, oder speziell erstellte Nachrichten an bestimmte Empfänger zu senden.
Sie können dabei die Nachricht mit Platzhaltern versehen und mit Daten aus AG-VIP SQL anreichern. Auch die Verwendung im Workflow und der Einsatz des Notizfeldes ist möglich.

Anwendungsgebiet:

Neben Textnachrichten ist es auch möglich das Hilfsmittel so zu konfigurieren, dass es Daten aus AG-VIP SQL oder festgelegte Kontaktinformationen als Adressbucheintrag für ein Mobiltelefon sendet.

Ein weitere Anwendung könnte sein, dem Empfänger direkt einen Weblink (URL) auf das Mobiltelefon zu senden, um z.B. Zugriff auf einen bestimmten Artikel der Wissensdatenbank, Produktinformation oder auszufüllendes Formular zu erhalten.

Voraussetzung:
Lösung:

Über ein Makro wird eine SMS generiert, die an den Dienstleister ASPSMS.COM übergeben wird. Die SMS kann über eine Textdatei vorformuliert werden und um Felder aus AG-VIP SQL angereichert werden.
Alternativ kann über Konfigurationsoptionen im Kopfbereich des Makros im Hilfsmittels festgelegt werden, ob die SMS eine Text-SMS, Flash-SMS (Betreiber-SMS) oder ein Telefonbucheintrag für ein Mobiltelefon sein soll.
Es kann auch festgelegt werden, ob die SMS so wie erstellt gesendet oder vor dem Versand nochmals editierbar sein soll oder welche Benutzerinteraktion beim Ausführen des Hilfsmittels stattfinden soll.

Die Preise sind abhängig vom Zielnetzwerk des SMS-Empfängers. Eine einfache SMS in ein Handynetz in Deutschland und an einen Empfänger kostet derzeit (Stand 23.07.2015) 1 Credits à 6 Euro-Cent (Ohne Mengenrabatt).
Kosten für das Benutzerkonto bei aspsms.com entstehen Ihnen nicht. Genaue Informationen über die aktuellen Preise des Anbieters aspsms.com finden Sie auf der Webseite aspsms.com. Handelt es sich um eine Multipart-SMS (Mehr als 160 Zeichen) wird diese SMS in Teile zu je 153 Zeichen aufgeteilt. Hierbei entstehen je Teil der SMS und Empfänger Versandkosten.

Installation:
  1. Bitte laden Sie die ZIP-Datei am Ende dieses Artikels herunter.
  2. Entpacken Sie die Dateien im Ordner <AGVIP SQL Installationsverzeichnis>\Samples
    (bpw. C:\Programme\AG-VIP SQL\Samples)
  3. Klicken Sie unter Administration -> Hilfmittel auf Import
    Wählen Sie nun die Datei "SMS-Versand.agtool"
  4. Passen Sie nun die Einstellungen des neuen Hilfsmittels "SMS-Versand" entsprechend Ihren Wünschen an.
Makroaufbau:

Das Makro richtet sein Verhalten und Erscheinungsbild nach Konfigurationsoptionen, die im Kopfbereich des Makros vorgenommen werden können.

1. Nachrichtentext für eine Text-SMS oder Flash-SMS

Wird eine Text- oder Flash-SMS gesendet, kann ein vorformulierter Nachrichtentext verwendet werden.
Dieser Text kann mit der Variablen Nachricht="Mein SMS Text" im Kopfbereich des Makros definiert werden. Ist dieser Eintrag Nachricht="", wird der Text aus der Vorlagendatei eingelesen.
Im Beispiel heißt die Vorlagendatei "SMS-Nachricht.txt" und enthält den vorformulierten Text der SMS.

Im Text können Feldersetzungen aus den Feldern von AG-VIP SQL vorgenommen werden. Hierzu muss der interne Feldname in Prozentzeichen in den Text eingefügt werden.
Dies erfolgt nach dem Muster:

%Salutation%
Dies ist eine Test-SMS von %ActiveUserFullName%
%NameSalutation% %NameLast%, wir wünschen Ihnen nun weiterhin viel Erfolg
mit AG VIP SQL!
Ihre Musterfee GmbH

Wird dann zu:

Sehr geehrter Herr Max Muster,
Dies ist eine Test-SMS von Irene Musterfee
Herr Muster, wir wünschen Ihnen nun weiterhin viel Erfolg
mit AG VIP SQL!
Ihre Musterfee GmbH

 

Auf Felder des aktuellen Anwenders, der die SMS generiert kann mit folgenden Variablen zugeriffen werden:
%ActiveUserFullName% = Voller Name des Benutzers
%ActiveUserDirectPhoneNumber% = Durchwahl des Benutzers
%ActiveUserDepartment% = Abteilung des Benutzers
%ActiveUserEmail% = Emailadresse des Benutzers
%ActiveUserFaxNumber% = Faxnummer des Benutzers
%ActiveUserFunction% = Funktion des Benutzers
Die Informationen in diesen Feldern sind in der Benutzerverwaltung von AG-VIP SQL hinterlegt.

Wird das Hilfsmittel aus dem Workflow ausgeführt, kann das Feld Notizen mit %Note% in die SMS übernommen werden.

2. SMS-Typ
Text-SMS:

Eine Text-SMS ist eine ganz normale SMS. Wenn Sie mit dem Hilfmittel eine Text-SMS erstellen möchten, setzen Sie bitte den Wert der Variablen SMStyp=0 im Kopfbereich des Makro-Codes.

Flash-SMS:

Eine Flash-SMS ist eine ganz normale Text-SMS mit dem Unterschied, dass sie direkt auf dem Display des Handys erscheint und in der Regel nicht gespeichert werden kann.
Sie wird auch Betreiber SMS genannt, da die Betreiber so oftmals ein Handy im Roamingbereich begrüßen o.ä.
Wenn Sie mit dem Hilfsmittel eine Flash-SMS erstellen möchten, setzen Sie bitte den Wert der Variablen SMStyp=1 im Kopfbereich des Makro-Codes.

VCard-SMS:

Eine VCard-SMS ist eine SMS, die auf einem Mobiltelefon einen Kontakteintrag erzeugt. Sie kann die Werte Name und Telefonnummer übergeben.
Wird eine VCard gesendet, erscheint auf dem Empfängerhandy eine Meldung wie "Kontaktinformationen erhalten. Möchten Sie diese Ihrem Adressbuch hinzufügen?". Wird dies positiv bestätigt, so wird ein neuer Adressbucheintrag im Handy erzeugt.
Wenn Sie mit dem Hilfsmittel eine VCard-SMS erstellen möchten, setzen Sie bitte den Wert der Variablen SMStyp=2 im Kopfbereich des Makro-Codes.
Nun müssen Sie noch die Werte für den Kontakteintrag definieren. Dies ist mit den Variablen VCName und VCNr möglich.
VCName="" nimmt beim aktuellen Datensatz den Vornamen und Nachnamen. Alternativ kann hier jedoch auch jedes andere Feld verwendet werden: VCName=ActiveAddress.Fields("<Feldname>").value
Auch die direkte Angabe eines Textes ist möglich: VCName="Musterfee GmbH" (Voreinstellung).
VCNr="" nimmt beim aktuellen Datensatz das Feld Telefon1. Alternativ kann hier jedoch auch jedes andere Feld verwendet werden: VCNr=ActiveAddress.Fields("<Feldname>").value
Auch die direkte Angabe eines Textes ist möglich VCNr="+4912345678" (Voreinstellung).

3. SMS Empfänger festlegen:

Im Fall<Feldname>").value
Dies gilt auch für die weiteren Empfänger (Empfaenger1="" ... Emfaenger10=""). Bleiben die Werte leer, wird keine SMS an sie gesendet.
Es können insgesamt 11 Empfänger konfiguriert werden.

4. Absender festlegen:

Ist derhttp://www.aspsms.com/home.asp?REF=150059&lng=dt" target="_blank" rel="noopener">aspsms.com freigeschaltet werden.
Dabei wird ein Freischaltcode für die Handynummer erzeugt, der per SMS an das Handy gesendet wird und bei aspsms.com auf der Webseite eingegeben werden muss. Dies soll die missbräuchliche Verwendung von Handynummern als Absender erschweren.
Die Rufnummer muss im Format Absender="+491712222" hinterlegt werden. Prinzipiell können je Account beliebig viele Absendernummern freigeschaltet werden.
Es kann natürlich auch ein beliebiges Feld aus AGVIP SQL übernommen werden: Absender=ActiveAddress.Fields("<Feldname>").value . Bei Telefonnummern bietet sich Absender=canonical(ActiveAddress.Fields("<FeldnamederRufnummer>").value) an. (Die Funktion canonical(Nummer) sorgt für die korrekte Aufbereitung der Nummer).

5. Weitere Optionen
Multipart SMS:

Wird Multipart auf 1 gesetzt, wird die SMS, sofern sie länger als 160 Zeichen ist, mit mehreren SMS gesendet. Hierbei wird die Nachricht in 153 Zeichen lange Teilnachrichten zerlegt und auf dem Handy wieder zusammengefügt. Für jede Teilnachricht und jeden Empfänger entstehen Ihnen Versandkosten (Voreinstellung des Makro).
Wird Multipart=0 gesetzt, wird die SMS nach 160 Zeichen abgeschnitten und gesendet. Wird Multipart=2 gesetzt, wird der Versand bei einer zu langen SMS abgebrochen und eine Hinweismeldung ausgegeben. Ein Fehlercode wird gesetzt.

Anzeige und Bearbeitung der SMS vor dem Versand:

Wird ZeigeSMS=1 gesetzt, wird die SMS in einer Messagebox nochmal vor dem Senden angezeigt und der Versand kann mit der Schaltfläche 'Abbrechen' noch abgebrochen werden.
Wird ZeigeSMS=2 gesetzt, wird die SMS in einer Messagebox nochmal vor dem Senden angezeigt der Versand kann jedoch nur mit 'OK' bestätigt werden.
Wird ZeigeSMS=3 gesetzt, wird die SMS in einer Messagebox nochmal vor dem Senden angezeigt und kann vor dem Versand nochmal bearbeitet werden. Hierzu muss es auf dem Client-System möglich sein ein IEObjekt zu starten.
Wird ZeigeSMS=0 gesetzt, wird die SMS ohne weitere Benutzerinteraktion gesendet (Voreinstellung).

Ergenbis des SMS-Versand ausgeben:

Wird Sendeergebnis=0 gesetzt, wird keine Ausgabe mit dem Erfolg der Übermittlung der SMS vorgenommen (Voreinstellung). Wird Sendeergebnis=1 gesetzt, wird nach dem Versand eine Statusmeldung angezeigt. (Hinweis: Dieser Status ist jedoch KEIN Zustellungsbeleg! Nur das erfolgreiche Absetzen der SMS kann damit geprüft werden!)

Fehler in einem Fenster ausgeben:

Wird der Wert Zeigefehlercode=1 gesetzt, wird im Falle eines Fehlers bei der Kommunikation mit dem SMS-Dienstleister eine Fehlermeldung mit Hinweis auf die Fehlerursache angezeigt (Voreinstellung). Ist diese nicht gewünscht, kann mit Zeigefehlercode=0 die Ausgabe von Fehlern bei der Übermittlung der SMS unterdrückt werden.

Sende Datum:

Wird SendeDatum="" gesetzt, wird die SMS sofort gesendet (Voreinstellung). Wird SendeDatum="01.12.2008 08:00:00" gesetzt, wird die SMS zum angegebenen Datum übermittelt. Beachten Sie, dass die Datumsformatierung wie im Beispiel gegeben sein muss! 1.12.2008 8:00:00 würde zu einem fehlerhaften Versanddatum führen! (Fehlende führende Nullen)

Dauer der Zustellzeit:

Wird Zustellzeit="" gesetzt, wird versucht die SMS innerhalb von 24 Stunden zuzustellen (Voreinstellung). Dieser Wert ist auch der Maximalwert! Kann die SMS in dieser Zeit nicht zugestellt werden, wird sie ungültig (bspw. weil das Mobiltelefon abgestellt ist). Die Angaben für die Zustellzeit können in Minuten von 3 bis 1440 (=24 Stunden) vorgenommen werden. Werte unter 3 Minuten sind ungültig. Zustellzeit="15" erfordert die Zustellbarkeit der SMS innerhalb von 15 Minuten, ansonsten wird die SMS ungültig.

Zeitzone:

Grundeinstellung für Standort des Anwenders. In Deutschlant gilt GMT+1. Also Zeitzone="+1" (Voreinstellung). Dieser Wert MUSS vor allem bei Benutzern eingestellt werden, die AG-VIP SQL ausserhalb der Zeitzone GMT+1 betreiben!

Vorwahl des Landes:

Grundeinstellung für Standort des Anwenders. In Deutschland gilt +49 als Landesvorwahl. Diese Vorwahl wird verwendet um Rufnummern ohne angegebene Vorwahl um die Landesvorwahl zu ergänzen. LandVorwahl="+49" (Voreinstellung) bewirkt: Aus der Rufnummer 0171-2222 wird +491712222 für den SMS-Versand.

Historieneintrag:

Wird Historieneintrag=0 gesetzt, wird keine Veränderung am Historieneintrag vorgenommen. Hier wird der im Hilfsmitteldialog eingestellte Wert belassen. Wird Historieneintrag=1 gesetzt, wird der Historieneintrag mit dem SMS-Text ersetzt. Wird Historieneintrag=2 gesetzt, wird der Historieneintrag um den SMS-Text erweitert. Wird Historieneintrag=3 gesetzt, wird der Historieneintrag um den SMS-Text und um weitere Versandinformationen erweitert (Voreinstellung).

Zustellung der SMS nachverfolgen:

Es ist möglich jeder gesendeten SMS eine Message-ID zu geben, über die der Versand nachvollziehbar wird. Dafür muss ein Zähler im Administrationsbereich von AGVIP SQL angelegt werden. Dieser Zähler wird mit der Konfiguration SMSID="<Zählerbezeichnung>" aktiviert.
Hinweis: Für die Verwendung der SMSID entstehen Ihnen zusätzliche Kosten je gesendete SMS! Bitte beachten Sie hierzu die derzeit gültige Preisliste des SMS-Dienstleisters. Mit diesem Hilfsmittel ist derzeit keine spätere Auswertung der SMSID möglich.
Wird SMSID leer gelassen, wird keine spezielle ID vergeben. SMSID="" (Voreinstellung).

Dauer des SMS-Versandvorgangs:

Sie können festlegen, wie lange gewartet wird, um die SMS an den Dienst ASPSMS.com zu übergeben. Dieser Wert kann bei schlechter Netzwerk- oder Internetverbindung erhöht werden. Die Variable Submittimeout=2000 (Voreinstellung) nimmt den Wert hierfür auf. Die Angabe erfolgt in Millisekunden.

6. Benutzerkonto bei aspsms.com

Die Abwicklung des SMS-Versandes erfolgt komplett über den Anbieter ASPSMS.COM. Wir stellen Ihnen mit diesem Hilfsmittel nur eine technische Schnittstelle zu diesem Internetservice zur Verfügung.
Das bedeutet auch, das Sie ein Konto bei diesem Dienstleister einrichten müssen, und auch die Abrechnung des SMS-Versandes komplett über den Dienstleister erfolgt.
Nachdem Sie dieses kostenlose Konto bei aspsms.com angelegt haben, müssen Sie Guthaben auf Ihr Konto bei aspsms.com aufladen. Nun können Sie aus AG-VIP SQL ohne weitere Hardware oder sonstige Investitionen SMS versenden.

Sie erhalten von ASPSMS.COM einen 'Userkey' und ein 'Passwort' das Sie bitte bei den entsprechenden Variablen im Kopfbereich des Hilfsmittels hinterlegen. Ist einer oder beide Werte leer ('Userkey=""' 'Password=""') (Voreinstellung), wird das Hilfsmittel im DEMO-Modus gestartet, und Sie können damit den SMS-Versand simulieren.

7. Hinweis zur Fehlerbehandlung:

Tritt ein Fehler auf, wird die Variable Application.Globaldata("SMSError")=1 gesetzt. Da diese Variable global verfügbar ist, ist es hiermit möglich das Speichern eines Tickets oder eines Datensatzes bei Fehlfunktionen des SMS-Versandes automatisch abzubrechen. Wird das Hilfmittel erneut ausgeführt, wird wieder der Wert Application.Globaldata("SMSError")=0 gesetzt.
Beispiel-Makro für den Abbruch des Speichern eines Tickets in einer Reaktion bei Einstufung, die dieses Hilfsmittel verwendet:

If Application.Globaldata("SMSError")=1 ThenActiveTicket.Transition = "" PreReaction.Abort Application.Globaldata("SMSError")=0 Macro.ExitEnd If

  
Technische Anmerkungen:

Im Normalfall sollte das Hilfsmittel ohne besondere Konfiguration einer Firewall ausführbar sein, sofern ein Internetzugriff auf dem Client-Rechner vorhanden ist.
In besonderen Fällen kann es jedoch notwendig sein, Einstellungen an der Firewall vornehmen zu müssen. Für diesen Fall sind folgende Informationen relevant:
Die Datenkommunikation findet in Form eines XML-Streams über die folgenden Serveradressen statt:
http://xml1.aspsms.com:5061/xmlsvr.asp
http://xml2.aspsms.com:5061/xmlsvr.asp
Es kann auch auf der Seite von aspsms.com eine Beschränkung der IP-Adresse für die Nutzung der XML-Schnittstelle vorgenommen werden. Dies macht jedoch nur bei einem Internetzugang mit einer eigenen festen IP-Adresse Sinn.

Bitte beachten Sie:

Die Grutzeck Software GmbH stellt Ihnen diese Dateien / Patches so zur Verfügung wie sie sind. Es kann aus der Verwendung dieser Dateien kein erweiterter Supportanspruch abgeleitet werden. Die Dateien werden Ihnen ausschließlich als Hilfestellung zur Nutzung der Programme der Grutzeck Software GmbH bereitgestellt. Für Fehler bei der SMS-Übermittlung sowie Ausführungsfehler in diesem Beispiel-Makro übernimmt die Firma Grutzeck Software GmbH keine Haftung. Weitergehende Ansprüche sind ausdrücklich ausgeschlossen.

angehängte Dateien: sms-versand-005.zip

Tags: Hilfsmittel
Durchschnittliche Bewertung: 0 (0 Abstimmungen)

Kommentieren nicht möglich