Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Desarrollo en Delphi para Android (https://www.clubdelphi.com/foros/forumdisplay.php?f=57)
-   -   Enviar SMS sin identificar teléfono (https://www.clubdelphi.com/foros/showthread.php?t=95782)

jhonalone 09-08-2022 17:52:48

Enviar SMS sin identificar teléfono
 
Hola, amigos. Otra vez solicitando vuestra ayuda.
Estoy desarrollando una aplicación en la que existen 3 componentes actuando: Sanitarios, Pacientes y una empresa gestora que controla las relaciones entre ambos.

Estoy intentando que los pacientes puedan solicitar y anular las citas con los profesionales sanitarios. (Ya está implementado)
También que los profesionales sanitarios puedan anular y rehabilitar citas a los pacientes.

Todo esto con dos aplicaciones: una para los pacientes y otra para los sanitarios.

En la base de datos de ambos (sanitarios y pacientes) tenemos registrados los teléfonos móviles de los dos grupos.

Cuando un paciente anula una cita, se comunica al sanitario por SMS para que disponga de ése tiempo. (Ya está implementado)

Cuando un sanitario rehabilita una cita con un paciente también se le comunica por SMS. (Ya está implementado)

AQUI SURGE UN PROBLEMA DE PROTECCIÓN DE DATOS.

EL PACIENTE NO TIENE POR QUÉ CONOCER EL TELÉFONO DEL PROFESIONAL SANITARIO.
TAMPOCO EL PROFESIONAL SANITARIO TIENE QUE CONOCER EL TELÉFONO DEL PACIENTE.

La solución sería que en el mensaje SMS no apareciera el teléfono del remitente

Yo, personalmente, estoy harto de recibir mensajes de empresas que tienen mi teléfono, pero en estos mensaje no aparece el teléfono del remitente. Pongamos por ejemplo VISIONLAB (Compré unas gafas hace tiempo y recibo un mensaje como este:)

NO PUEDO SUBIR LA IMAGEN PORQUE SOBREPASA 40KB.

Si queréis creerme...

NO APARECE NINGÚN TELÉFONO DEL REMITENTE.

Mi solicitud de ayuda: ¿Es posible enviar un mensaje desde android sin que el receptor visualize el número de teléfono del remitente?
Mi experiencia me dice que es posible. PERO ¿COMO SE HACE?

Espero vuestra ayuda. INESTIMABLE Y DESINTERESADA (COMO SIEMPRE) MUCHAS GRACIAS.

Ah! Se me olvidaba. Estoy utilizando este código:

Código:

// Envío de SMS
procedure TFMain.SendSMS (target,messagestr:string);
var 
  smsManager: JSmsManager; // Androidapi.JNI.Telephony //
  smsTo    : JString;    // Androidapi.JNI.JavaTypes //
  smsarray  : jarraylist;
  APIntent  : JArraylist;
  intent    : JIntent;

begin
  Intent    := TJIntent.Create;

  smsManager:= TJSmsManager.JavaClass.getDefault;
  smsTo    := StringToJString(target); // Androidapi.Helpers //
  smsarray  := smsmanager.divideMessage(stringtojstring(messagestr));
  smsManager.sendmultiparttextMessage(smsTo, nil,smsarray, nil, nil);
end;


Saludos cordiales.

Garada 09-08-2022 22:41:20

Estás enviando los SMS desde los propios terminales móviles, ¿no?

Lo suyo es que uses algún webservice o API de terceros para enviar los SMS desde el servidor.

P.e. https://www.esendex.es/productos/sms/
Ese lo uso en algunas aplicaciones de escritorio, compras un paquete de SMS y a enviar a través de su API que se conecta a un webservice.
Pero vamos, puedes mirar otro proveedor pero el modus operandi será el mismo.

Igual me equivoco pero no creo que Android te deje ocultar el remitente desde el propio terminal, aparte de que estás usando los SMS del paciente que puede que no le cuesten dinero o puede que sí.

jhonalone 09-08-2022 23:04:35

Muchas gracias, Garada por responderme.

Si. Envío los SMS desde los terminales de los interesados (Pacientes o Sanitarios) pero me gustaría proteger los datos del enviante. Pues el recipiente no tiene por qué saber el telefono del enviante. No me he planteado pagar una plataforma de terceros intermediaria. Sería el último recurso.

Gracias por tu respuesta.

jhonalone 09-08-2022 23:09:24

He estado buscando la forma de hacerlo desde PHP, pero todas las soluciones que he encontrado pasan por una plataforma de terceros. Y todos piden dinero.
Saludos.

kurono 10-08-2022 03:25:51

y por que no envias emails?

dec 10-08-2022 09:10:29

Hola a todos,

Cita:

Empezado por kurono (Mensaje 547874)
y por que no envias emails?

O acaso "notificaciones push". No tengo muy claro cómo se implementaría esto en Delphi, y, por otro lado, también cuestan dinero, pero, probablemente menos que lo que puedan costar los SMS. Podría incluso enviarse un correo electrónico y una "notificación push", puesto que tratándose de "avisar", no veo yo mal hacerlo de ambas formas, puesto que además las notificaciones "push" no son 100% seguras en su recepción: no suelen fallar, pero, no son tan seguras como lo es el envío de SMS, que, por otro lado, tampoco sean acaso 100% seguros.

jhonalone 10-08-2022 11:48:20

Gracias kuruno. Gracias dec.

También envío e-mails. Pero con éstos no tengo problemas. (De momento...)

Hay algunas cuestiones a considerar:

1) Algunas personas no tienen e-mail en la BD y otras no tienen teléfono móvil y otras ninguno de los dos.

2) En algunos moviles no salta la notificación al recibir un e-mail.

3) Por otro lado, (por la protección de datos) quisiera usar el número de móvil o fijo de la gestora. O simplemente que no salga en el mensaje ningún número. Creo que todos estamos hartos de recibir SMS's en los que no aparece ningún número enviante.

4) Utilizar una plataforma de terceros suele costar dinero y te obliga a depender de ellos. (Incluso aunque las haya gratuitas)

5) Lo ideal sería poder implementarlo con código Delphi o incluso PHP. He visto algunos ejemplos en PHP, pero todos dependen de terceros.

Gracias de nuevo por vuestro interés. Sigo investigando.

Un saludo.

Neftali [Germán.Estévez] 10-08-2022 12:26:15

Cita:

Empezado por jhonalone (Mensaje 547862)
Mi solicitud de ayuda: ¿Es posible enviar un mensaje desde android sin que el receptor visualize el número de teléfono del remitente?
Mi experiencia me dice que es posible. PERO ¿COMO SE HACE?

No tengo experiencia en esto, pero la lógica (conociendo la mentalidad de Android) es que no el sistema no te va a dejar hacer tal cosa.

La forma de hacerlo es utilizando páginas de terceros o aplicaciones de terceros (que a su vez usan páginas de terceros).
Y en ese caso si lo quieres para un tema profesional, lo más lógico sería contratar un servicio profesional para asegurar el correcto funcionamiento.

Tal vez me equivoco, como he dicho me guía la lógica no el conocimiento...;)

dec 10-08-2022 12:55:08

Hola a todos,

Las "notificaciones push" pueden ser una opción, pues las recibiría la app misma, es decir, sería algo parecido al SMS: el usuario en cuestión no necesitaría sino tener instalada la app. No obstante cuestan dinero, no son gratuitas: pero seguramente cuesten mucho menos que los mensajes SMS, por eso también las he referido como una posible opción. Esto de las "notificaciones push" las ofrece Google Cloud y como digo pueden llegar a cobrarse, y digo pueden porque no sé el límite que existe, si hay que alcanzar algún límite para empezar a cobrarlas, etc.

Los SMS cuestan dinero... eso está claro... es un servicio que hay que pagar, de modo que, yo ni siquiera me fiaría de posibles alternativas gratuitas para enviar mensajes SMS. Por otro lado, estoy con Germán en que Android, la app de SMS que incorpora el sistema, no va a dejarte enviar SMS de forma anónima, aunque, puede que me equivoque y exista alguna forma de hacerlo, pero, me extrañaría mucho.

P.D. Me parece que tengo que contradecirme... no sé si esto ha cambiado más o menos recientemente, pero, parece ser que las "notificaciones push" de Google Cloud son gratuitas... en fin, habría que investigarlo más, pero, parecen gratuitas, y, pudieran ser una alternativa a los mensajes SMS.

jhonalone 10-08-2022 14:34:28

Gracias Neftalí. Gracias dec.
Siguiendo vuestros consejos, me replantearé la cuestión.
Miraré a ver cómo y qué son las "notificaciones push" (Disculpas por mi ignorancia)
Bueno, después de ésto veo que las "notificaciones push" son las clásicas noficaciones.
Saludos cordiales.

dec 10-08-2022 19:43:11

Hola a todos,

Cita:

Empezado por jhonalone (Mensaje 547887)
Gracias Neftalí. Gracias dec.
Siguiendo vuestros consejos, me replantearé la cuestión.
Miraré a ver cómo y qué son las "notificaciones push" (Disculpas por mi ignorancia)
Bueno, después de ésto veo que las "notificaciones push" son las clásicas noficaciones.
Saludos cordiales.

Creo que podrían compararse a los SMS en el sentido de que, teniendo instalada la app, el usuario las recibe a su teléfono, a dicha app, algo así como los SMS. No es exactamente lo mismo, pero, incluso las "notificaciones push" te permiten más control, es decir, la misma app puede saber que se ha recibido una notificación, el tipo de esta, etc., y, a partir de ahí hacer una cosa u otra.

Lo que pasa es que no sabría decir cómo funcionan dichas "notificaciones push" en Delphi, aunque, entiendo que debe existir una forma de poder hacerlo.

mamcx 10-08-2022 22:04:49

El punto de fondo es este: Es TERRIBLE que pudieras hacerlo.

Eso es el sueño de cualquier espamer: Mandar cosas y que no sepan quién.

(De hecho cuando vi el titulo pensé que eras un spamer novato).

También es malo que el usuario NO pueda negarse a recibir una notificación. Otro sueño de cualquier spamer (que ya con esos popups que salen todo el tiempo son casi todos ahora :( ).

---

La forma correcta es que tu aplicación envíe la notificación y que SALGA los números de los implicados en la comunicación. Si no quieren que sea el personal, pues es LOGICO que paguen por una cuenta empresarial.

Y si no lo reciben?

Es otro error grande creer que lo que se envía por la red TIENE que recibirse. Hay que asumir, SIEMPRE, que la comunicación no se recibirá o que no habra una replica.

P.D Si tu aplicación es genuina, la gente la dejar hacer notificaciones. Si tu servicio es genuino, la gente quería ser parte de ello.

tsk 11-08-2022 14:01:19

De pagar no te salvas, pero si no quieres contratar el servicio de SMS de un tercero puedes conectar un modem 2G,3G o 4G con tu servidor y que tenga su propio número, de tal forma que sea el encargado de intermediar entre clientes y proveedores, así el único número que conocen los dos va a ser el del modem.

jhonalone 12-08-2022 15:18:04

Gracias por tu aportación tsk.

Podría interesarme la solución. Pues el teléfono de la gestora lo conocen tanto los pacientes como los sanitarios y ésto no violaría la ley de protección de datos.

Por qué no me cuestas más en detalle cómo se podría implementar ésa solución.

Gracias por todo.

Un saludo.

jhonalone 12-08-2022 15:28:36

También podría ser una solución las notificaciones, como dice dec.
Pero ¿Alguien sabe como haerlo con Delphi?

Gracias a todos por vuestro interés.

dec 12-08-2022 16:47:34

Hola a todos,

Cita:

Empezado por jhonalone (Mensaje 547926)
También podría ser una solución las notificaciones, como dice dec.
Pero ¿Alguien sabe como haerlo con Delphi?

Gracias a todos por vuestro interés.

Aquí hay un enlace a la wiki de Embarcadero por el que acaso se pueda empezar a tirar del hilo:

https://docwiki.embarcadero.com/RADS..._Notifications

tsk 13-08-2022 04:19:16

Cita:

Empezado por jhonalone (Mensaje 547925)
Gracias por tu aportación tsk.

Podría interesarme la solución. Pues el teléfono de la gestora lo conocen tanto los pacientes como los sanitarios y ésto no violaría la ley de protección de datos.

Por qué no me cuestas más en detalle cómo se podría implementar ésa solución.

Gracias por todo.

Un saludo.

Mencioné los Modems porque, hay modems 2G, 3G o 4G que puede adquirir relativamente fácil. A estos les pones una SIM Card con el proveedor adecuado para tu aplicación. Los conectas a la PC y estos modems se pueden controlar vía comandos AT.

Entonces desde tu aplicación puedes hacer uso de esos comandos para procesar los SMS a enviar y recibir.

Aquí te pongo un ejemplo de estos dispositivos:

http://www.seriallink.net/index.php?...t=read&did=303 <- este, supuestamente, está pensando para ser usado en aplicaciones industriales.

Aunque no es la única forma, ya que tienes módulos, hats, o incluso tarjetas completas que vienen con el modem integrado, pero pensando más en que la programación la vas a realizar en sistemas como las Raspberry Pi u otras similares.

Por ejemplo

https://www.waveshare.com/wiki/SIM7600E-H_4G_HAT

Otra opción, que se me estaba ocurriendo en este momento, es que pudieras crear un aplicación para Android, la cual instales en un smartphone, y que sea la encargada de enviar y recibir SMS.

jhonalone 13-08-2022 09:31:31

Gracias dec. Gracias tsk.
Gracias nuevamente por vuestro interés.

Voy a intentar trabajar con las posibilidades que me ofrecéis.
No será para hoy ni mañana, porque no soy muy experto (y menos en estas cuestiones) pero prometo publicar la soluciíón que adopte por si ayuda a alguien con un problema parecido.

Tampoco descarto la última idea de tsk. Utilizar un móvil intermediario. Creo que va a ser lo más fácil para mí.

Bueno, creo que tengo tarea...

Saludos cordiales

jhonalone 14-08-2022 18:54:43

Hola a todos.

Ya he decidido que voy a usar el teléfono de la gestora como intermediario. Este teléfono ya lo tienen tanto los sanitarios como los pacientes.

Muchas gracias por haberos interesado en ayudarme.

Saludos cordiales.


La franja horaria es GMT +2. Ahora son las 21:45:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi