Advertisement
Naim19149

Untitled

Jan 24th, 2024
487
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     <script type="text/javascript">
  2.         const helpscoutBasicProperties = {
  3.                 'name': '{{ request.user.get_full_name }}',
  4.                 'email': '{{ request.user.email }}',
  5.                 'signature': '{% generate_hmac_signature request.user.email %}'
  6.                 // instruction to generate signature in PHP is here https://developer.helpscout.com/beacon-2/web/secure-mode/#php
  7.         }
  8.    
  9.         function init_identify() {
  10.             const avatar = "{% if request.user.avatar %} {{ request.user.avatar.url }} {% endif %}".trim();
  11.    
  12.             const helpscoutProperties = {
  13.                 ...helpscoutBasicProperties,
  14.                 'avatar': avatar ? avatar : '',
  15.                 'first': '{{ request.user.first_name }}',
  16.                 'default-source': '{% get_default_source_name request.user.id %}', // of default connection
  17.                 'default-destination': '{% get_default_destination_name request.user.id %}', // of default connection
  18.                 'user-id': '{{ request.user.id }}',
  19.                 'plan-type': '', // yet to implement
  20.                 'plan-expiration': '', // yet to implement
  21.                 'date-joined': '{{ request.user.date_joined|date:"Y-m-d" }}',
  22.                 'timezone': '{{ request.user.timezone|default:"" }}',
  23.                 'setup-step': '{{ request.user.setup_step }}',
  24.    
  25.             }
  26.      
  27.             window.Beacon('identify', helpscoutProperties);
  28.         }
  29.    
  30.         // set event listener to update customer properties. get key value from event
  31.         // useful when customer data updates without page refresh e.g. when customer change their default connection
  32.         window.addEventListener('helpscout:updateCustomerProperties', function (e) {
  33.             const helpscoutProperties = {...helpscoutBasicProperties};
  34.    
  35.             Object.keys(e.detail).forEach(key => {
  36.                 if (key === 'elt') return;
  37.                 helpscoutProperties[key] = e.detail[key];
  38.             })
  39.    
  40.             window.Beacon('identify', helpscoutProperties);
  41.         });
  42.    
  43.         init_identify();
  44.     </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement