- Joined
- Nov 30, 2022
- Messages
- 2
- Reaction score
- 0
We use our own inhouse developed CRM system. The contact lookup integration works great but we have encountered a problem with CRM linking.
Our application uses an application specific URL scheme for deep linking into our software. Let’s say a valid URL for our software is 'test:key=[ContactID]'. Thus, I set the contact URL prefix to 'test:key=' and the suffix empty in the CRM options page (we use the 'Database MsSQL' template, no custom xml template). As the contact lookup works, a valid ID is found and a valid URL is generated in the dialer. However, the link does not open our software. Fortunately, one can copy the CRM link in the dialer and the URL is copied to clipboard. In our example the copied URL is: 'unsafe:test:key=4242'.
So, for some reason a 'unsafe:' prefix is added to the otherwise correct URL. A quick search led me to this stackoverflow post referencing to this one. It seems that the 'unsafe:' prefix is a feature of AngularJS which marks any not known protocol as unsafe by appending the prefix. I don’t know if the webclient is actually written with AngularJS, so the prefix might have another reason.
Is this intended behavior?
Right now, I don’t know how to workaround this behavior. Using http is not an option for us, as our software is not web based. We could register our software to the 'unsafe:' scheme as a temporary hack, but in the long-term it would be nice if the webclient could generate the URL without the 'unsafe:' prefix.
Our software is Windows only.
We have 3CX 18.0 Update 5 (Build 418) with a dedicated pro license.
Everyone uses the webclient installed as windows app i.e., not the old windows client.
Any help is appreciated
Our application uses an application specific URL scheme for deep linking into our software. Let’s say a valid URL for our software is 'test:key=[ContactID]'. Thus, I set the contact URL prefix to 'test:key=' and the suffix empty in the CRM options page (we use the 'Database MsSQL' template, no custom xml template). As the contact lookup works, a valid ID is found and a valid URL is generated in the dialer. However, the link does not open our software. Fortunately, one can copy the CRM link in the dialer and the URL is copied to clipboard. In our example the copied URL is: 'unsafe:test:key=4242'.
So, for some reason a 'unsafe:' prefix is added to the otherwise correct URL. A quick search led me to this stackoverflow post referencing to this one. It seems that the 'unsafe:' prefix is a feature of AngularJS which marks any not known protocol as unsafe by appending the prefix. I don’t know if the webclient is actually written with AngularJS, so the prefix might have another reason.
Is this intended behavior?
Right now, I don’t know how to workaround this behavior. Using http is not an option for us, as our software is not web based. We could register our software to the 'unsafe:' scheme as a temporary hack, but in the long-term it would be nice if the webclient could generate the URL without the 'unsafe:' prefix.
Our software is Windows only.
We have 3CX 18.0 Update 5 (Build 418) with a dedicated pro license.
Everyone uses the webclient installed as windows app i.e., not the old windows client.
Any help is appreciated