Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Last revision Both sides next revision
tutorial:adm:modules_sms [2018/03/09 12:54]
michalp [Modules - sms: Configurations]
tutorial:adm:modules_sms [2018/03/09 12:57]
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>
  • by apeterova