The following describes requirements for ITSM system capabilities, which must be met in order to implement HappySignals integration successfully.
HappySignals integration in its simplest form is a piece of html containing vote buttons from 0 to 10. The vote buttons contain metadata from the case being resolved and will direct the end user clicking the button to HappySignals survey in HappySignals Cloud services. The button row typically looks something like this (note the button row is the only thing that is actually HappySignals - all other content is our customers responsibility):
The ITSM System must be able to send HTML emails and HTML snippets should be able to be added to the email template.
Variables, i.e. metadata, from the case being resolved can be added to the email template and used to create the email button links.
A proof of origin hash must be formed in the source ITSM system. See below for an example - this involves typically some server side scripting.
Proof of origin:
The system must be able to calculate a proof-of-origin hash using a shared secret (salt) and parts of the link created for the button links. The hash digest is generally gained using SHA256, but we also accept MD5.
An example in pseudocode:
The email link generated behind the buttons is something like:
https://demo.emea.happysignals.com/a/happy?e=&var1=INC0010125&var2=IT&var3=&var4=phone&ap1=,,&ap2=0&ap3=1970-01-16%2023:40:40&ap4=0&ap5=&ap6=5%20-%20Planning&co1=6&co2=true&co3=&co4=&co5=&t=Incident&esm=IT&cat2=&cat3=&r=&lang=english&v=&d=2019-04-29%2006:48:19&c=HASH DIGEST PLACED HERE&value=10
The digest would be formed using parts of the URL, lets say var2, d and var1. The shared secret is the word AnalyzeMyData! - the code could be:
var hashthis = 'AnalyzeMyData!' + var1 + var2 + d
var digest = new MD5.update(hashthis).hex_digest()
For more information, please contact us on the subject @ firstname.lastname@example.org