C# SMS API üzenet osztály

Az sms üzenetek osztálya a C# sms api-ban felelős az üzenet továbbításáért a C# sms api alkalmazás és az Ozeki SMS Gateway között. Ez az osztály, amelyet a Client.Send() metódusnak adsz át, amikor SMS-t szeretnél küldeni a C#/Net SMS API-n keresztül.

C# sms api / SMS üzenet azonosító

ID: Az üzenet azonosítója az SMS azonosítására szolgál. Ezt az azonosítót adják vissza az sms beküldési jelentések és az sms kézbesítési jelentések.

C# sms api / SMS feladó azonosító

FromConnection: Az SMS mobilhálózati kapcsolat neve, ahonnan az SMS érkezett az Ozeki SMS Gateway-be. Például, ha egy SMPP kliens kapcsolat segítségével csatlakozol a mobilhálózathoz, akkor ez "SMPPClient1" lesz, ha egy SMS érkezik ezen a kapcsolaton. Ha egy Android SMS gateway-t használsz, ez "Vodafone UK" lesz, ha az SMS a vodafone hálózatot szolgáló SIM kártyán keresztül érkezik.

FromAddress: Az SMS üzenet feladójának azonosítója. Ha az SMS-t egy +44123467 számú mobiltelefonról küldték, akkor ez a tulajdonság a +44123467 értéket fogja tartalmazni. Ha egyéni feladó azonosítót szeretnél megadni egy küldendő SMS-hez, akkor ezt a tulajdonságot kell beállítanod. Ebbe a mezőbe telefonszámot is megadhatsz, egy C# SMS API-hoz kapcsolódó SMS rövidkódot, vagy egy alfanumerikus feladó azonosítót, amely a C# SMS API-t azonosítja.

FromStation: Ez az SMS gateway számítógép azonosítója, amely fogadta az SMS-t. Minden Ozeki SMS Gateway-nek van egy egyedi globális azonosítója (GUID). Ha a C# API-d több SMS Gateway-hez csatlakozik, akkor ez az azonosító hasznos lehet annak meghatározásához, hogy honnan érkezik az SMS üzenet.

C# sms api / SMS címzett

ToConnection: Használd ezt a mezőt, ha felül szeretnéd írni az SMS útválasztási táblázatot az SMS Gateway-ben. Megadhatod az SMS kézbesítéséhez használandó SMS mobilhálózati kapcsolat nevét ebben a mezőben.

ToAddress: A telefonszám, ahová az SMS-t el kell küldeni. Ha egy szöveges üzenetet szeretnél küldeni a +3620123456 számú mobiltelefonra, akkor írd be a +3620123456-ot ebbe a mezőbe. Ez a mező kötelező a kimenő SMS üzenetekhez.

ToStation: Ezt a mezőt akkor használhatod, ha egy adott SMS gateway-en keresztül szeretnéd továbbítani az SMS-t. Ez a mező csak akkor releváns, ha több SMS Gateway-vel dolgozol. Biztonságosan üresen is hagyhatod.

C# sms api / SMS szöveg

Text: Ez az a mező, ahová az üzenet szövegét kell beírnod. Ez a mező legfeljebb 65 536 karaktert tartalmazhat. Ha az üzenet hossza meghaladja a 160 karaktert, akkor az SMS több részből álló SMS üzenetként lesz elküldve. Ez a mező kötelező minden SMS üzenethez.

C# sms api / Dátumok

CreateDate: Ez az időbélyeg automatikusan beállításra kerül a Datetime. Now értékre, amikor létrejön az üzenet osztály egy példánya.

ValidUntil: Állítsd be ezt az időpontot a C# SMS api implementációdban, hogy megadj egy lejárati dátumot az SMS-hez. Ha az SMS-ed lejárt, akkor el lesz távolítva a kimenő mappából. Ez a dátum szintén használatos az érvényességi időszak beállításához az SMS-nek, mielőtt azt elküldené a mobilhálózatnak.

TimeToSend: Ha jövőbeli kézbesítésre szeretnéd ütemezni az SMS-t a C# SMS API-ban, akkor állítsd be ezt a dátumot egy jövőbeli időpontra. Az SMS üzeneted az SMS Gateway kimenő mappájában marad, amíg el nem jön az időpont a küldéséhez. (Megjegyzés: az Ozeki SMS Gateway egy SMS szerver, ami azt jelenti, hogy képes tárolni és továbbítani az SMS üzeneteidet).

C# sms api / Kézbesítési jelentés kérése

IsSubmitReportRequested: Állítsd ezt igazra, ha szeretnél kapni egy SubmitAccepted jelentést a C# SMS api implementációdban.

IsDeliveryReportRequested: Állítsd ezt igazra, ha szeretnél kapni egy kézbesítési jelentést a C# SMS api implementációdban.

IsViewReportRequested: Állítsd ezt igazra, ha szeretnél kapni egy megtekintési jelentést a C# SMS api implementációdban. Figyelem: az SMS üzenetek megtekintési jelentéseit nem a mobilhálózat küldi vissza. A megtekintési jelentést akkor használják, ha az üzeneteidet csevegő címzetthek küldöd, és a címzett a csevegő alkalmazásban megtekinti az üzeneteidet.

C# sms api / Címkék

Tags: Az üzenet címkék opcionális mezők. Megadhatsz mezőket név/érték formátumban. Ez a további paraméterek listája használható egyéni értékek megadására az SMS továbbítás során, mint például nyers PDU, adatkódolási séma, SMS port számok és más hasonló értékek, amelyek kódolásra használhatók.

C# sms api üzenet osztály forráskódja


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

        //**********************************************
        // Opcionális címkék
        //**********************************************

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

        //**********************************************
        // Konstrukció
        //**********************************************

        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