C# SMS API Nachrichtenklasse

Die SMS-Nachrichtenklasse in der Client.Send()-Methode übergeben, wenn Sie eine SMS über die C#/Net SMS API senden möchten.

C# SMS API / SMS-Nachrichten-ID

ID: Die Nachrichten-ID wird verwendet, um die SMS zu identifizieren. Diese ID wird für SMS-Submit-Berichte und SMS-Lieferberichte zurückgegeben.

C# SMS API / SMS-Absender-ID

FromConnection: Der Name der SMS-Mobilfunkverbindung, über die die SMS in das Ozeki SMS Gateway eingegangen ist. Wenn Sie beispielsweise über eine Android-SMS-Gateway verwenden, wäre dies "Vodafone UK", wenn die SMS über die SIM-Karte des Vodafone-Netzes eingegangen ist.

FromAddress: Die Absender-ID der SMS-Nachricht. Wenn die SMS von einem Mobiltelefon mit der Nummer +44123467 gesendet wurde, enthält diese Eigenschaft den Wert +44123467. Wenn Sie eine benutzerdefinierte Absender-ID für eine SMS festlegen möchten, die Sie senden möchten, ist dies die Eigenschaft, die Sie setzen sollten. Sie können eine Telefonnummer in dieses Feld eingeben, alphanumerische Absender-ID, die die C# SMS API identifiziert.

FromStation: Dies ist die ID des SMS-Gateway-Computers, der die SMS empfangen hat. Jedes Ozeki SMS Gateway hat eine eindeutige globale ID (GUID). Wenn Ihre C# API mit mehreren SMS-Gateways verbunden ist, ist diese ID nützlich, um zu identifizieren, woher die SMS-Nachricht stammt.

C# SMS API / SMS-Empfänger

ToConnection: Verwenden Sie dieses Feld, wenn Sie die SMS-Routing-Tabelle im SMS Gateway überschreiben möchten. Sie können den Namen der SMS-Mobilfunkverbindung, die für die SMS-Zustellung verwendet werden soll, in diesem Feld angeben.

ToAddress: Die Telefonnummer, an die die SMS gesendet werden soll. Wenn Sie eine Textnachricht an das Mobiltelefon +3620123456 senden möchten, geben Sie +3620123456 in dieses Feld ein. Dieses Feld ist für ausgehende SMS-Nachrichten obligatorisch.

ToStation: Dieses Feld kann verwendet werden, wenn Sie Ihre SMS über ein bestimmtes SMS-Gateway weiterleiten möchten. Dieses Feld ist nur relevant, wenn Sie mit mehreren SMS-Gateways arbeiten. Es ist sicher, es leer zu lassen.

C# SMS API / SMS-Text

Text: Dieses Feld ist der Ort, an dem Sie den Nachrichtentext eingeben sollten. Dieses Feld kann Nachrichten mit bis zu 65.536 Zeichen enthalten. Wenn die Nachrichtenlänge mehr als 160 Zeichen beträgt, wird Ihre SMS als mehrteilige SMS-Nachricht gesendet. Dieses Feld ist für jede SMS-Nachricht obligatorisch.

C# SMS API / Datumsangaben

CreateDate: Dieser Zeitstempel wird automatisch auf Datetime.Now gesetzt, wenn eine Instanz der Nachrichtenklasse erstellt wird.

ValidUntil: Legen Sie diesen Zeitpunkt in Ihrer C# SMS API-Implementierung fest, um ein Ablaufdatum für die SMS anzugeben. Wenn Ihre SMS abgelaufen ist, wird sie aus dem Postausgang-Ordner entfernt. Dieses Datum wird auch verwendet, um die Gültigkeitsdauer für die SMS festzulegen, bevor sie an das Mobilfunknetz gesendet wird.

TimeToSend: Um eine SMS für eine zukünftige Zustellung in Ihrer C# SMS API zu planen, setzen Sie dieses Datum auf einen zukünftigen Zeitpunkt. Ihre SMS-Nachricht bleibt im Postausgang des SMS Gateways, bis der Zeitpunkt zum Senden gekommen ist. (Beachten Sie, dass das Ozeki SMS Gateway ein SMS-Server ist, was bedeutet, dass es in der Lage ist, Ihre SMS-Nachrichten zu speichern und weiterzuleiten).

C# SMS API / Zustellbericht anfordern

IsSubmitReportRequested: Setzen Sie dies auf true, wenn Sie in Ihrer C# SMS API-Implementierung einen SubmitAccepted-Bericht erhalten möchten.

IsDeliveryReportRequested: Setzen Sie dies auf true, wenn Sie in Ihrer C# SMS API-Implementierung einen Zustellbericht erhalten möchten.

IsViewReportRequested: Setzen Sie dies auf true, wenn Sie in Ihrer C# SMS API-Implementierung einen Ansichtsbericht erhalten möchten. Beachten Sie, dass Ansichtsberichte für SMS-Nachrichten nicht vom Mobilfunknetz zurückgegeben werden. Der Ansichtsbericht wird verwendet, wenn Sie Ihre Nachrichten an einen Chat-Empfänger senden und der Empfänger Ihre Nachrichten in der Chat-App anzeigt.

C# SMS API / Tags

Tags: Nachrichten-Tags sind optionale Felder. Sie können Felder im Name/Wert-Format angeben. Diese Liste zusätzlicher Parameter kann verwendet werden, um benutzerdefinierte Werte für die SMS-Übertragung anzugeben, wie z.B. rohe PDU, Datenkodierungsschema, SMS-Portnummern und ähnliche Werte, die für die Kodierung verwendet werden können.

C# SMS API Nachrichtenklasse Quelle

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OZX
{
    public class OzxMessage : IOzxMessage
    {
        public string ID { get; set; }

        public string FromConnection { get; set; }
        public string FromAddress { get; set; }
        public string FromStation { get; set; }

        public string ToConnection { get; set; }
        public string ToAddress { get; set; }
        public string ToStation { get; set; }

        public string Text { get; set; }

        public DateTime CreateDate { get; set; }
        public DateTime ValidUntil { get; set; }
        public DateTime TimeToSend { get; set; }

        public bool IsSubmitReportRequested { get; set; }
        public bool IsDeliveryReportRequested { get; set; }
        public bool IsViewReportRequested { get; set; }

        //**********************************************
        // Optionale Tags
        //**********************************************

        static Dictionary<string, string> _tags;
        static Dictionary<string, string> Tags
        {
            get { return _tags ?? (_tags = new Dictionary<string,string>()); }
        }
        
        public Dictionary<string, string> GetTags()
        {
            lock (Tags)
            {
                return Tags.ToDictionary(entry => entry.Key, entry => entry.Value);
            }
        }

        public void AddTag(string key, string value)
        {
            lock (Tags)
            {
                if (Tags.ContainsKey(key))
                    Tags[key] = value;
                else
                    Tags.Add(key, value);
            }
        }

        //**********************************************
        // Konstruktion
        //**********************************************

        public OzxMessage()
        {
            ID = Guid.NewGuid().ToString();
            CreateDate = DateTime.Now;
            TimeToSend = DateTime.MinValue;
            ValidUntil = DateTime.Now.AddDays(7);
            IsSubmitReportRequested = true;
            IsDeliveryReportRequested = true;
            IsViewReportRequested = true;
        }


        //**********************************************
        // To string
        //**********************************************
        public override string ToString()
        {
            var sb = new StringBuilder();
            if (!string.IsNullOrEmpty(FromAddress))
                sb.Append(FromAddress.ToString());
            else
                sb.Append(FromConnection);
            
            sb.Append("->");
            
            if (!string.IsNullOrEmpty(ToAddress))
                sb.Append(ToAddress.ToString());
            else
                sb.Append(ToConnection);

            if (Text != null)
            {
                sb.Append(" '");
                sb.Append(Text);
                sb.Append("'");
            }
            return sb.ToString();
        }

    }
}

More information