Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
tutorial:adm:modules_sms [2018/03/09 12:49]
michalp fixed english
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