none
Agregar un body para el mensaje en un sms c#--- RRS feed

  • Pregunta

  • Saludos desarrolladores,

    Hola que tal tengo una duda inmensa ya que necesito hacer un body para un sms he intentado bajo esta logica que es la misma para darle body a un email se que no puedo hacer lo mismo en sms ya que este no va a visualizar html

    
         private string GenerateHtmlBody(string statusUrl, string monto, string montoMoneda, string address, string confirmsNeeded, string txnId, string dueDate)
            {
                string css = " <style type='text/css'>table.blueTable{border: 1px solid #1C6EA4; background-color: #EEEEEE; width: 100%; text-align: left; border-collapse: collapse;}table.blueTable td, table.blueTable th{border: 1px solid #AAAAAA; padding: 3px 2px;}table.blueTable tbody td{font-size: 13px;}table.blueTable tr:nth-child(even){background: #D0E4F5;}table.blueTable thead{background: #1C6EA4; background: -moz-linear-gradient(top, #5592bb 0%, #327cad 66%, #1C6EA4 100%); background: -webkit-linear-gradient(top, #5592bb 0%, #327cad 66%, #1C6EA4 100%); background: linear-gradient(to bottom, #5592bb 0%, #327cad 66%, #1C6EA4 100%); border-bottom: 2px solid #444444;}table.blueTable thead th{font-size: 15px; font-weight: bold; color: #FFFFFF; text-align: center; border-left: 2px solid #D0E4F5;}table.blueTable thead th:first-child{border-left: none;}table.blueTable tfoot td{font-size: 14px;}table.blueTable tfoot .links{text-align: right;}table.blueTable tfoot .links a{display: inline-block; background: #1C6EA4; color: #FFFFFF; padding: 2px 8px; border-radius: 5px;}</style>";
                string body = $"{css}<table class='blueTable'><thead><tr><th colspan='2'>Invoice</th></tr></thead><tr><td >Monto Moneda:</td><td >{montoMoneda}</td></tr><tr><td>Monto BTC:</td><td>{monto}</td></tr><tr><td>Wallet Address:</td><td>{address}</td></tr><tr> <td>Transcaccion Id:</td><td>{txnId}</td></tr><tr><td>Confirmaciones necesitadas:</td><td>{confirmsNeeded}</td></tr><tr><td>Fecha de vencimiento:</td><td>{dueDate}</td></tr><tr><td colspan='2'><a href='{statusUrl}' 'btn btn-primary'>Status URL</a></td></tr></table>";
    
                return body;
            }

    el sms lo puedo enviar  mi duda esta acerca de como puedo darle un mensaje mas precisamente una factura....

     private void btnEnviarSms_Click(object sender, EventArgs e)
            {
                try
                {
                
                    Cursor = Cursors.WaitCursor;
    
     
                    string numeroSms = string.Empty;
                    string mensajeSms = GenerateHtmlBody(txtStatusUrl.Text, lblMontoBtc.Text, lblMontoMoneda.Text, lblWallet.Text, lblConfirms.Text, lblTxnId.Text, lblFecha.Text);
    
                    using (var frmMessage = new FrmMessage())
                    {
                        if (frmMessage.ShowDialog() != DialogResult.OK)
                        {
                            MessageBox.Show("Se cancelo el envio de mensaje", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            return;
                        }
                        numeroSms = frmMessage.NumeroSms;
                        mensajeSms = frmMessage.MensajeSms;
                    }
    
                    SettingsMessages mensajes = new SettingsMessages();
                    string username = "*****";
                    string password = "*****";
    
                    string msisdn = numeroSms;
    
                    string url = "https://bulksms.vsms.net/eapi/submission/send_sms/2/2.0";
    
                    string seven_bit_msg = "Test message: all non-alphanumeric GSM characters: $@!#%&\",;:<>¡£¤¥§¿ÄÅÆÇÉÑÖØÜßàèéùìòå¿äöñüà\nGreek: ΩΘΔΦΓΛΩΠΨΣΘΞ";
    
                    string unicode_msg = mensajeSms;
    
                    Hashtable result;
    
    
                    /*
                    * Upon a transient (retryable) error, sleep this many seconds:
                    */
                    int sleep_time = 3;
    
                    int retry_growth_factor = 8;
                    int num_retries = 5;
    
                    string data = mensajes.seven_bit_message(username, password, msisdn, seven_bit_msg);
                    sleep_time = 3;
                    data = mensajes.unicode_message(username, password, msisdn, unicode_msg);
                    for (int x = 0; x < num_retries; x++)
                    {
                        string real = GenerateHtmlBody(txtStatusUrl.Text, lblMontoBtc.Text, lblMontoMoneda.Text, lblWallet.Text, lblConfirms.Text, lblTxnId.Text, lblFecha.Text);
                        result =mensajes.send_sms(data, url);
                        if ((int)result["success"] == 1)
                        {
    
                            MessageBox.Show("Mensaje de texto enviado con exito", "Informacion", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            break;
    
                        }
                        MessageBox.Show("No se envio el mensaje de text", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
    
                        System.Threading.Thread.Sleep(sleep_time);
                        sleep_time *= retry_growth_factor;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show($"Ocurrio un error {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                finally
                {
                    Cursor = Cursors.Default;
                }
            }
    

    martes, 9 de enero de 2018 16:21

Respuestas

  • hola

    un html para sms? eso no aplica

    un sms es un texto simple, no se va a ver en el browser el mensaje

    si podrias ver de enviar un link a un sitio, entonces el usuario al recibir el sms presiona el link y visualiza en el browser del mobile el html que se descarga del sitio web

    pero no envies html o texto complejo en un sms

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 9 de enero de 2018 16:28

Todas las respuestas

  • hola

    un html para sms? eso no aplica

    un sms es un texto simple, no se va a ver en el browser el mensaje

    si podrias ver de enviar un link a un sitio, entonces el usuario al recibir el sms presiona el link y visualiza en el browser del mobile el html que se descarga del sitio web

    pero no envies html o texto complejo en un sms

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 9 de enero de 2018 16:28
  • la idea leandro es darle un mensaje basico obviamente pero con los datos de la transaccion algo como definir el id y el valor de la transaccion y se lo envie es mas esa mi pregunta como podria darle un body asi simple cual seria el codigo ideal algun ejemplo

    gracias por las respuestas

    martes, 9 de enero de 2018 16:37