Třída zpráv C# SMS API

Třída SMS zpráv v C# SMS API je zodpovědná za přenos zprávy mezi aplikací C# SMS API a Ozeki SMS Gateway. Toto je třída, kterou předáte metodě Client.Send(), když chcete odeslat SMS přes C#/Net SMS API.

C# SMS API / ID SMS zprávy

ID: ID zprávy slouží k identifikaci SMS. Toto ID je vráceno pro zprávy o odeslání SMS a zprávy o doručení SMS.

C# SMS API / ID odesílatele SMS

FromConnection: Název připojení k mobilní síti SMS, přes které SMS přišla do Ozeki SMS Gateway. Například pokud se připojíte k mobilní síti pomocí SMPP klientského připojení, bude to "SMPPClient1", když SMS přijde přes toto připojení. Pokud používáte Android SMS gateway, bude to "Vodafone UK", pokud SMS přišla přes SIM kartu připojenou k síti Vodafone.

FromAddress: ID odesílatele SMS zprávy. Pokud byla SMS odeslána z mobilního telefonu s číslem +44123467, tato vlastnost bude obsahovat hodnotu +44123467. Pokud chcete určit vlastní ID odesílatele pro SMS, kterou chcete odeslat, je to vlastnost, kterou byste měli nastavit. Můžete sem vložit telefonní číslo, SMS zkrácené číslo spojené s C# SMS API, nebo alfanumerické ID odesílatele identifikující C# SMS API.

FromStation: Toto je ID počítače SMS gateway, který přijal SMS. Každá Ozeki SMS Gateway má jedinečné globální ID (GUID). Pokud se vaše C# API připojuje k více SMS Gateway, toto ID je užitečné k identifikaci, odkud SMS zpráva pochází.

C# SMS API / Příjemce SMS

ToConnection: Použijte toto pole, pokud chcete přepsat tabulku směrování SMS v SMS Gateway. Můžete zde určit název připojení k mobilní síti SMS, které má být použito pro doručení SMS.

ToAddress: Telefonní číslo, na které má být SMS odeslána. Pokud chcete odeslat textovou zprávu na mobilní telefon +3620123456, vložte do tohoto pole +3620123456. Toto pole je povinné pro odchozí SMS zprávy.

ToStation: Toto pole lze použít, pokud chcete přeposlat svou SMS přes konkrétní SMS gateway. Toto pole je relevantní pouze v případě, že pracujete s více SMS Gateway. Je bezpečné jej ponechat prázdné.

C# SMS API / Text SMS

Text: Toto je pole, kam byste měli vložit text zprávy. Toto pole může obsahovat zprávy až do délky 65 536 znaků. Pokud je délka zprávy delší než 160 znaků, vaše SMS bude odeslána jako vícedílná SMS zpráva. Toto pole je povinné pro každou SMS zprávu.

C# SMS API / Data

CreateDate: Toto časové razítko je automaticky nastaveno na Datetime. Now, když je vytvořena instance třídy zpráv.

ValidUntil: Nastavte tento čas ve vaší implementaci C# SMS API, abyste určili datum expirace SMS. Pokud vaše SMS expiruje, bude odstraněna z složky odchozí zprávy. Toto datum se také používá k nastavení doby platnosti pro SMS před odesláním do mobilní sítě.

TimeToSend: Chcete-li naplánovat odeslání SMS v budoucnu ve vašem C# SMS API, nastavte toto datum na budoucí časový bod. Vaše SMS zpráva zůstane v odchozí schránce SMS Gateway, dokud nenastane čas jejího odeslání. (Poznámka: Ozeki SMS Gateway je SMS server, což znamená, že je schopen ukládat a přeposílat vaše SMS zprávy).

C# SMS API / Žádost o doručovací zprávu

IsSubmitReportRequested: Nastavte na true, pokud chcete ve své implementaci C# SMS API přijímat zprávu SubmitAccepted.

IsDeliveryReportRequested: Nastavte na true, pokud chcete ve své implementaci C# SMS API přijímat doručovací zprávu.

IsViewReportRequested: Nastavte na true, pokud chcete ve své implementaci C# SMS API přijímat zprávu o zobrazení. Poznámka: zprávy o zobrazení pro SMS nejsou vraceny mobilní sítí. Zpráva o zobrazení se používá, pokud posíláte zprávy příjemci v chatu a příjemce si vaši zprávu prohlédne v chatovací aplikaci.

C# SMS API / Štítky

Tags: Štítky zpráv jsou volitelná pole. Můžete určit pole ve formátu název/hodnota. Tento seznam dalších parametrů lze použít k určení vlastních hodnot používaných při přenosu SMS, jako jsou surová PDU, schéma kódování dat, čísla portů SMS a další podobné hodnoty, které lze použít pro kódování.

C# sms api třída zprávy zdrojový kód

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; }

        //**********************************************
        // Volitelné tagy
        //**********************************************

        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);
            }
        }

        //**********************************************
        // Konstrukce
        //**********************************************

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


        //**********************************************
        // Převod na řetězec
        //**********************************************
        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