Trieda správy C# SMS API

Trieda SMS správ v C# SMS API je zodpovedná za prenos správy medzi aplikáciou C# SMS API a Ozeki SMS Gateway. Toto je trieda, ktorú odovzdáte metóde Client.Send(), keď chcete odoslať SMS prostredníctvom C#/Net SMS API.

C# SMS API / ID SMS správy

ID: ID správy sa používa na identifikáciu SMS. Toto ID je vrátené pre správy o odoslaní SMS a správy o doručení SMS.

C# SMS API / ID odosielateľa SMS

FromConnection: Názov pripojenia mobilnej siete SMS, ktorým SMS prišla do Ozeki SMS Gateway. Napríklad, ak sa pripájate k mobilnej sieti pomocou SMPP klientskeho pripojenia, bude to "SMPPClient1", keď SMS príde cez toto pripojenie. Ak používate Android SMS gateway, toto by bolo "Vodafone UK", ak SMS prišla cez SIM kartu služby Vodafone.

FromAddress: ID odosielateľa SMS správy. Ak bola SMS odoslaná z mobilného telefónu s číslom +44123467, táto vlastnosť bude obsahovať hodnotu +44123467. Ak chcete špecifikovať vlastné ID odosielateľa pre SMS, ktorú chcete odoslať, je to vlastnosť, ktorú by ste mali nastaviť. Môžete sem vložiť telefónne číslo, SMS skrátené číslo asociované s C# SMS API, alebo alfanumerické ID odosielateľa identifikujúce C# SMS API.

FromStation: Toto je ID počítača SMS gateway, ktorý prijal SMS. Každý Ozeki SMS Gateway má jedinečné globálne ID (GUID). Ak sa vaše C# API pripája k viacerým SMS Gateway, toto ID je užitočné na identifikáciu, odkiaľ SMS správa pochádza.

C# SMS API / Príjemca SMS

ToConnection: Použite toto pole, ak chcete prepísať tabuľku smerovania SMS v SMS Gateway. Môžete špecifikovať názov pripojenia mobilnej siete SMS, ktoré sa má použiť pre doručenie SMS v tomto poli.

ToAddress: Telefónne číslo, kam má byť SMS odoslaná. Ak chcete odoslať textovú správu na mobilný telefón +3620123456, vložte +3620123456 do tohto poľa. Toto pole je povinné pre odchádzajúce SMS správy.

ToStation: Toto pole môže byť použité, ak chcete smerovať svoju SMS cez konkrétnu SMS bránu. Toto pole je relevantné len v prípade, že pracujete s viacerými SMS bránami. Je bezpečné ho nechať prázdne.

C# SMS API / Text SMS

Text: Toto je pole, kam by ste mali vložiť text správy. Toto pole môže obsahovať správy dlhé až 65 536 znakov. Ak je dĺžka správy dlhšia ako 160 znakov, vaša SMS bude odoslaná ako viacdielna SMS správa. Toto pole je povinné pre každú SMS správu.

C# SMS API / Dátumy

CreateDate: Tento časový údaj je automaticky nastavený na Datetime.Now, keď je vytvorená inštancia triedy správ.

ValidUntil: Nastavte tento čas vo vašej implementácii C# SMS API, aby ste určili dátum expirácie SMS. Ak vaša SMS expiruje, bude odstránená z priečinka odchádzajúcich správ. Tento dátum sa tiež používa na nastavenie doby platnosti pre SMS predtým, ako je odoslaná do mobilnej siete.

TimeToSend: Ak chcete naplánovať odoslanie SMS na neskorší čas vo vašej C# SMS API, nastavte tento dátum na budúci časový okamih. Vaša SMS správa zostane v odchádzajúcej schránke SMS brány, kým nenastane čas jej odoslania. (Poznámka: Ozeki SMS Gateway je SMS server, čo znamená, že je schopný ukladať a preposielať vaše SMS správy).

C# SMS API / Žiadosť o prehľad o doručení

IsSubmitReportRequested: Nastavte túto hodnotu na true, ak chcete prijať správu SubmitAccepted vo vašej implementácii C# SMS API.

IsDeliveryReportRequested: Nastavte túto hodnotu na true, ak chcete prijať správu o doručení vo vašej implementácii C# SMS API.

IsViewReportRequested: Nastavte túto hodnotu na true, ak chcete prijať správu o zobrazení vo vašej implementácii C# SMS API. Poznámka: správy o zobrazení pre SMS správy nie sú vrátené mobilnou sieťou. Správa o zobrazení sa používa, ak posielate svoje správy príjemcovi v chate a príjemca si vašu správu zobrazí v chatovacej aplikácii.

C# SMS API / Značky

Tags: Značky správ sú voliteľné polia. Môžete špecifikovať polia vo formáte názov/hodnota. Tento zoznam dodatočných parametrov môže byť použitý na špecifikáciu vlastných hodnôt používaných pri prenose SMS, ako napríklad surové PDU, schéma kódovania údajov, čísla portov SMS a ďalšie podobné hodnoty, ktoré môžu byť použité na kódovanie.

C# SMS API trieda sprá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; }

        //**********************************************
        // Voliteľné značky
        //**********************************************

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

        //**********************************************
        // Konštrukcia
        //**********************************************

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


        //**********************************************
        // Na reťazec
        //**********************************************
        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