Missing ticket id in ticket.propertiesUpdated event

Hi,
I have a CTI app mounted on “cti_global_sidebar” in location attribute in manifest.json. In my app I am able to track ticket.propertiesUpdated event but unable to get the ticket id for which this event is triggered. I tried using client.data.get(‘ticket’).then(function(data) {
//console.log("ticket data is : ",data);
});
for getting ticket details but it returns me this response - Invalid attribute provided

Can anybody tell me how I can get ticket details in ticket.propertiesUpdated event ? Primarily I want the customer mobile number of that ticket. Thanks in advance!

hey @Himanshu_Sehgal

Data methods are mostly unique to the app locations, not all app locations will have access to the ticket object, in the introduction section(Data Methods) you can find the list of methods available for the app locations.

To overcome this you can use multiple app locations, and send the data from the app location that has access to the ticket object to the cti_global_sidebar location, please refer to the instance method documentation to understand how to achieve this(Instance Method)

Hope this helps

Stay Safe :slight_smile:

2 Likes

Hi,

Thanks for your advice. My app also has an html embedded in the “ticket_sidebar” location. So I tried listening to the ticket.propertiesUpdated event in that code and it worked! The only thing is that part of the does not get activated unless it is clicked upon. On clicking on that section app.activated event is triggered . I needed a way so that the listening of event ticket.propertiesUpdated starts as soon as the agent navigates to any ticket details page. So for that I subscribed to ticket.propertiesUpdated event in app.initialized() of “ticket_sidebar” location. I have 2 separate app.initialized() methods (one for my code mounted on “cti_global_sidebar” and other for code mounted on “ticket_sidebar”). It is working as expected i.e. even if the ticket sidebar section of my app is not clicked upon(i.e. app.activated event is not triggered), even then also the call back of ticket.propertiesUpdated is getting triggered when properties are updated of that ticket. I hope this is the right approach and won’t cause any issues in production. Any further advice is most welcome :slight_smile:

Thanks and Regards,
Himanshu Sehgal

@Himanshu_Sehgal

you can use ticket_background if you want the app to be activated without opening the app in the ticket_sidebar, the ticket_background can be used instead of ticket_sidebar or in addition to the other two locations.

2 Likes

That worked like a charm! Thank you.

1 Like