Foros Néfele 4 Harbour › Foros › Dudas › Envio de SMS
- Este debate tiene 5 respuestas, 2 mensajes y ha sido actualizado por última vez el 3 años, 7 meses por Xevi. This post has been viewed 719 times
-
AutorEntradas
-
-
24-05-2021 a las 22:47 #1816Gabriel OrnelasParticipante
Pues eso. la idea es enviar un numero de autorizacion por medio de sms para confirmar el registro del usuario o cliente. Alguna pista por donde empezar? 🙁
-
24-05-2021 a las 23:04 #1817XeviParticipante
Tengo funcionando mensajes SMS en Xailer y lo porté a Néfele, para comprovar como se comportava, y bien.
https://xevicomas.duckdns.org/cgi-bin/xcmProves_TestSMSs.exe
Aquí puedes ver la petición de Saldo en los proveedores de servicio SMS LleidaNet y Descom, y en Descom, un envio de un mensaje (en modo prueba), con la respuesta recibida por el proveedor.
Se puede ampliar tanto como se quiera, siguiendo las pautas del API del proveedor. A mi por lo que lo estoy utilizando, me sirve como está.
Si necesitas código, te lo puedo pasar, aunque si yo he llegado hasta aquí, facil és, te lo aseguro!!!
-
25-05-2021 a las 02:31 #1818Gabriel OrnelasParticipante
Xavi,
Si probablemente el camino no sea muy complicado, pero ni idea por donde empezar, si es posible compartir el codigo seria excelente!
-
25-05-2021 a las 11:35 #1819XeviParticipante
Este és el código al pulsar en un boton...
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778FUNCTION TestSMSsAjax()Local cHtml, nAtLocal cSMS := oCGI:GetCgiValue("lleidanet_descom","")Local aHasRes := {=>}Local cUser, cPaswIf cSMS == "lleidanet"cUser := "usuario"cPasw := "password"WITH OBJECT CreateObject("msxml2.ServerXMLHTTP"):Open( "POST", "https://api.lleida.net/sms/v2/", .F. ):SetRequestHeader( "Content-Type","application/x-www-form-urlencoded;charset=UTF-8" ):Send( 'xml=<userinfo>' +;'<user>' + cUser + '</user>' +;'<password>' + cPasw + '</password>' +;'</userinfo>' )cHtml := :ResponseTextEND//OBJECToCGI:Console( cHtml )nAt := At( "<credit>", cHtml ) +8cHtml := AllTrim( Str( Val( SubStr( cHtml, nAt, At( "</credit>", cHtml ) - nAt ) ), 10 ) )cHtml := Tag("script", "alert('" + "Saldo SMSs LleidaNet (" +cUser+ "): " + cHtml + "')" )ElseIf cSMS = "descom"cUser := "usuario"cPasw := "password"WITH OBJECT CreateObject( "msxml2.ServerXMLHTTP")If cSMS = "descomSMS"*https://www.descomsms.com/api-sms/llamadas/enviar-sms.html:Open( "POST", "https://api.descomsms.com/api/sms/send", .F. )Else*https://www.descomsms.com/api-sms/llamadas/obtener-el-saldo.html:Open( "GET", "https://api.descomsms.com/api/balance", .F. )EndIf:SetRequestHeader( "Content-Type", "application/json" ):SetRequestHeader( "DSMS-User", &('"' + cUser + '"') ):SetRequestHeader( "DSMS-Pass", &('"' + cPasw + '"') )If cSMS = "descomSMS":Send( '{ "dryrun":true,'+; //true simulará un envío sin que se descuente créditos en la cuenta' "messages": ['+;' {'+;' "to": ['+;' "615213232"'+;' ],'+;' "text": "test",'+;' "senderID": "Info"'+;' }'+;' ]'+;'}' )Else:Send()endIfcHtml := :ResponseTextEND//OBJECToCGI:Console( cHtml )* //Json a Hash... http://fivetechsupport.com/forums/viewtopic.php?f=6&t=37056hb_jsondecode(cHtml,@aHasRes) //Parse JSON to hashTRYIf cSMS = "descomSMS"cHtml := "Envio Ok. Saldo SMSs Descom (" +cUser+ "): " + AllTrim(Str(aHasRes["credits_after"]))ElsecHtml := "Saldo SMSs Descom (" +cUser+ "): " + AllTrim(Str(aHasRes["balance"]))EndIfCATCHcHtml := "Error message (" +cUser+ "): " + nfl_AsciiHTML(aHasRes[1]["message"])END//TRYcHtml := Tag("script", "alert('" + cHtml + "')" )ElsecHtml := Tag("script", "alert('No soportado')" )EndIfoCGI:SendScript( cHtml )RETURN NilPuedes solicitar un usuario/password de pruebas en el proveedor LleidaNet o Descom.
-
25-05-2021 a las 12:30 #1822Gabriel OrnelasParticipante
Xevi
Muchas Gracias!
-
25-05-2021 a las 17:21 #1823XeviParticipante
Faltaba el envío de SMS con LleidaNet...
sustituir el If...Else por1234567891011121314151617181920212223242526If cSMS = "lleidanet"cUser := "usuario"cPasw := "password"WITH OBJECT CreateObject("msxml2.ServerXMLHTTP"):Open( "POST", "https://api.lleida.net/sms/v2/", .F. ):SetRequestHeader( "Content-Type","application/x-www-form-urlencoded;charset=UTF-8" )If cSMS = "lleidanetSMS":Send( 'xml=<sms>' +;'<user>' + cUser + '</user>' +;'<password>' + cPasw + '</password>' +;'<dst>' + '<num>' + "+34615213232" + '</num>' + '</dst>' +;'<txt>' + "test" + '</txt>' +;'</sms>' )Else:Send( 'xml=<userinfo>' +;'<user>' + cUser + '</user>' +;'<password>' + cPasw + '</password>' +;'</userinfo>' )EndIfcHtml := :ResponseTextEND//OBJECToCGI:Console( cHtml )nAt := At( "<credit>", cHtml ) +8cHtml := AllTrim( Str( Val( SubStr( cHtml, nAt, At( "</credit>", cHtml ) - nAt ) ), 10 ) )cHtml := Tag("script", "alert('" + "Saldo SMSs LleidaNet (" +cUser+ "): " + cHtml + "')" )
-
-
AutorEntradas
- Debes estar registrado para responder a este debate.