Some questions regarding Zammad integration into existing system

Hello

I just finished installing zammad on our test server, and now I am playing with the functionality a bit. Some questions came up:

  1. Is it possible to tie data from different channels to a user? For example when an existing user starts a chat, that chat would then show up for that user in the admin interface (I mean on the profile details view of that specific user, as a history), same as tickets do? Or if a user contacts via facebook, we could match the account with our data and therefore tie it to the user.
    This would give us a centralized history of the users actions which would be really useful. Is there some way to do that, at least for some of the channels?

  2. Can we integrate a ticket system into our existing system by using the REST API only? I saw in the docs that we seem to have all needed methods like user management, ticket management etc. So we can get, create, manage and remove users and tickets etc. But has been actually been done by somebody before, if so, how well does it work?

  3. If a logged in user contacts us via support chat, what is the best way to identify that user? Is it possible to pass an identifier (for example user id) when loading the chat via jquery, so we know who he is?

  4. Are there any known issues when integrating the helpdesk using an iframe?

Thank you,

Chris

Hey,

Currently Chats are anonymous. This makes it impossible to track the user in this state. If this changes somewhen, I can’t tell to be honest. However, if you turn a chat into a ticket, Zammad will ask you for a customer which will provide your access to the chat log for later use if needed.

As for facebook, I’m really not sure. As far as I understand, it will not - even not with linked accounts.
This is part of a facebook user on the database (note it’s like 16 months old so might have changed by now) User id: 1911, organization_id: nil, login: "21xxxxxxx39", firstname: "Firstname", lastname: "Lastname", email: "",

Without mail address it should be difficult knowing the user.

But @thorsteneckel might give better input here.


Yes totally. You can poll Zammad with API requests and do the magic you need to do. Especially if having existing user bases. We have customers doing that successfull. The trick is to have a unique identifier like a mail address.

Attention at this part. While deleting tickets is no issue, you cannot delete users that logged in once, because you can’t remove the references (see: Deletion via API impossible when user logged in at some point · Issue #2605 · zammad/zammad · GitHub)

Imho most reliable way to delete users -at the moment- is to use the rails console:
https://docs.zammad.org/en/latest/console/dangerzone-for-experts.html

Technically, as you might know the mail address of the user, you could also automate this - as always, be carefull with that.


Short answer: Automatically you can’t.
If you need to identify the user, you’ll need to ask for his identification.

You could also hook into the chat process if needed, but that’s hacky and might bring other issues.
The Zammad chat is not available within it’s own UI.


Honestly: Don’t.
By default this shouldn’t be possible and that has a good reason.

If you allow your webserver to allow iframes to Zammad, you’ll risk the safety of your sessions.
Keyword here is cross site scripting .

You really don’t want that.