Clase de mensajes SMS API en C#
La clase de mensajes SMS en la API SMS de C# es responsable de transportar un mensaje entre la aplicación de la API SMS de C# y el Ozeki SMS Gateway. Esta es la clase que se pasa al método Client.Send() cuando se desea enviar un SMS a través de la API SMS de C#/Net.
API SMS de C# / ID del mensaje SMS
ID: El ID del mensaje se utiliza para identificar el SMS. Este ID se devuelve para los informes de envío de SMS y los informes de entrega de SMS.
API SMS de C# / ID del remitente del SMS
FromConnection: El nombre de la conexión de red móvil SMS desde donde el SMS llegó al Ozeki SMS Gateway. Por ejemplo, si te conectas a la red móvil usando una conexión cliente SMPP, será "SMPPClient1" cuando un SMS llegue a través de esa conexión. Si usas una pasarela SMS para Android, este campo sería "Vodafone UK" si el SMS llegó a través de la tarjeta SIM que sirve a la red Vodafone.
FromAddress: El ID del remitente del mensaje SMS. Si el SMS fue enviado desde un teléfono móvil con el número +44123467, esta propiedad contendrá el valor +44123467. Si deseas especificar un ID de remitente personalizado para un SMS que deseas enviar, esta es la propiedad que debes configurar. Puedes poner un número de teléfono en este campo, un código corto de SMS asociado con la API SMS de C#, o un ID de remitente alfanumérico que identifique la API SMS de C#.
FromStation: Este es el ID del equipo de la pasarela SMS que recibió el SMS. Cada Ozeki SMS Gateway tiene un ID global único (GUID). Si tu API de C# se conecta a múltiples pasarelas SMS, este ID es útil para identificar de dónde proviene el mensaje SMS.
API SMS de C# / Destinatario del SMS
ToConnection: Usa este campo si deseas anular la tabla de enrutamiento de SMS en la pasarela SMS. Puedes especificar el nombre de la conexión de red móvil SMS que se utilizará para la entrega del SMS en este campo.
ToAddress: El número de teléfono al que se debe enviar el SMS. Si deseas enviar un mensaje de texto al teléfono móvil +3620123456, introduce +3620123456 en este campo. Este campo es obligatorio para los mensajes SMS salientes.
ToStation: Este campo puede usarse si deseas reenviar tu SMS a través de una pasarela SMS específica. Este campo solo es relevante si trabajas con múltiples pasarelas SMS. Es seguro dejarlo vacío.
API SMS de C# / Texto del SMS
Text: Este es el campo donde debes introducir el texto del mensaje. Este campo puede contener mensajes de hasta 65,536 caracteres. Si la longitud del mensaje es mayor que 160 caracteres, tu SMS se enviará como un mensaje SMS multiparte. Este campo es obligatorio para cada mensaje SMS.
API SMS de C# / Fechas
CreateDate: Esta marca de tiempo se establece automáticamente en Datetime.Now cuando se crea una instancia de la clase de mensajes.
ValidUntil: Establece esta fecha en tu implementación de la API SMS de C# para especificar una fecha de expiración para el SMS. Si tu SMS expira, se eliminará de la carpeta de salida. Esta fecha también se utiliza para establecer el período de validez del SMS antes de que se envíe a la red móvil.
TimeToSend: Para programar un SMS para entrega futura en tu API SMS de C#, establece esta fecha en un momento futuro. Tu mensaje SMS permanecerá en la bandeja de salida de la pasarela SMS hasta que llegue el momento de enviarlo. (Ten en cuenta que el Ozeki SMS Gateway es un servidor SMS, lo que significa que puede almacenar y reenviar tus mensajes SMS).
API SMS de C# / Solicitud de informe de entrega
IsSubmitReportRequested: Establece esto en true si deseas recibir un informe SubmitAccepted en tu implementación de la API SMS de C#.
IsDeliveryReportRequested: Establece esto en true si deseas recibir un informe de entrega en tu implementación de la API SMS de C#.
IsViewReportRequested: Establece esto en true si deseas recibir un informe de visualización en tu implementación de la API SMS de C#. Ten en cuenta que los informes de visualización para mensajes SMS no son devueltos por la red móvil. El informe de visualización se utiliza si envías tus mensajes a un destinatario de chat, y el destinatario visualiza tus mensajes en la aplicación de chat.
API SMS de C# / Etiquetas
Tags: Las etiquetas de mensaje son campos opcionales. Puedes especificar campos en formato nombre/valor. Esta lista de parámetros adicionales puede usarse para especificar valores personalizados utilizados en la transmisión de SMS, como PDU en bruto, esquema de codificación de datos, números de puerto SMS y otros valores similares que pueden usarse para codificación.
Código fuente de la clase de mensajes SMS API en C#
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; } //********************************************** // Etiquetas opcionales //********************************************** 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); } } //********************************************** // Construcción //********************************************** 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
- How to send SMS from C#
- Receive SMS in C#
- C# SMS API connect to send SMS
- C# SMS API - disconnect from SMS gateway
- C# SMS API - keepalive SMS connection alive
- C# SMS API - send a text message
- C# SMS API - SMS accepted for deliery event
- C# SMS API - SMS not accepted for delivery
- C# SMS API - submited
- C# SMS API - submit failed
- C# SMS API - delivery report successful
- C# SMS API - delivery failed report
- C# SMS API - alphanumeric sender ID
- C# SMS API how to use short code as sender ID
- C# SMS API text message class