Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
tutorial:adm:modules_sms [2018/03/09 12:54]
michalp [Modules - sms: Configurations]
tutorial:adm:modules_sms [2018/03/09 12:57] (current)
michalp fixed english
Line 1: Line 1:
 +====== Modules - sms: Configurations ======
 +These configuration items are available within the sms module:
 +<​code>​
 +# Enable property for SMS GET script driver
 +idm.sec.sms.script.get.enabled
 +#
 +# Login that will be used for composes URL with gateway
 +idm.sec.sms.script.get.login
 +#
 +# Password that will be used for composes URL with gatewat
 +idm.sec.sms.script.get.password
 +#
 +# Script that be used for composes URL
 +idm.sec.sms.script.get.scriptCode
 +#
 +# Timeout for comunication with gatewat
 +idm.sec.sms.script.get.timeout
 +#
 +# Phone number that will be used for overriding all recipient number (can be used for testing)
 +idm.sec.sms.script.get.overrideNumber
 +</​code>​
  
 +It is also necessary to define with sender will be used. These are now available:
 +  * **defaultScriptSmsSender** - simple sms gateway with check http result codes,
 +  * **defaultHtmlSmsSender** - check http page with response (OK/ERROR must contains the page),
 +  * **defaultSmsBranaSmsSender** - implementation of [[https://​www.smsbrana.cz/​|SmsBrana]].
 +
 +If you want to set up one of these senders, create new configuration property:
 +<code properties>​
 +# sender implementation
 +idm.sec.sms.notification-sender.sms.impl=<​sender>​
 +</​code>​
 +More information about this configuration can be found in [[https://​wiki.czechidm.com/​devel/​documentation/​application_configuration/​backend#​notification_senders|configuration]].
 +
 +
 +====== Modules - sms: Script for compose URL ======
 +
 +For a composition of URL for a given gateway, create a script from the System category. As parameters add these variables:
 +  * **login** - login for connect to sms gateway,
 +  * **password** - password as GuardedString (don't forget call method asString) for SMS gateway,
 +  * **number** - number with real recipient,
 +  * **message** - message as plain text, don't log this message, it is possible that this message will contain password as plaintext
 +
 +<note important>​Attributes like message, number, etc. may contain some characters that aren't passing GET method. So try to encode attributes with URLEncoder.encode</​note>​
 +
 +===== Example script =====
 +For this script is neccessary add these authorities:​
 +  * CLASS: java.net.URLEncoder
 +  * CLASS: java.nio.charset.StandardCharsets
 +  * CLASS: sun.nio.cs.UTF_8
 +<​code>​
 +import java.net.URLEncoder;​
 +import java.nio.charset.StandardCharsets;​
 +
 +def messageEncoded = URLEncoder.encode(message,​ StandardCharsets.UTF_8.name());​
 +def numberEncoded = URLEncoder.encode(number,​ StandardCharsets.UTF_8.name());​
 +
 +return "​https:/​something.tld/​example_gateway.php?​login="​ + login + "&​password="​ + password.asString() + "&​message="​ + messageEncoded + "&​number="​ + numberEncoded + "&​someTestAttribute=test123";​
 +</​code>​