CustomerID/CustomerIDs/Customer Groups

Dont create your support topics here! No new topics with questions allowed!

Moderator: crythias

Forum rules
Dont create your support topics here! No new topics with questions allowed!
Locked
crythias
Moderator
Posts: 10169
Joined: 04 May 2010, 18:38
Znuny Version: 5.0.x
Location: SouthWest Florida, USA
Contact:

CustomerID/CustomerIDs/Customer Groups

Post by crythias »

This is asked a lot, and so I thought I'd post something:

A Customer Group (if enabled) is a way to group Customers on the admin side. The practical effect of a Customer Group is to limit the Queues (and some permissions) that are available to a Customer from the Customer Web Interface (otrs/customer.pl) Read more in the docs.

A CustomerID is a group name (or Company Identifier). An individual with the same CustomerID (CustomerID doesn't have to be unique) can see all the tickets of people with her CustomerID in "Company Tickets" of the Customer interface. By default configuration, a customer has an individual CustomerID (usually email address). This prevents a user from seeing each other's tickets, even in "Company Tickets"

Though not enabled initially, OTRS provides something called customer_ids which can be used to provide a supervisor the ability to use the "Company Tickets" interface by keeping a semicolon-separated list of CustomerID in the customer_ids field for whom he'd like to see tickets. Read more in the docs.

It is important to know that tickets retain both the username (customer_user_id) and the CustomerID (customer_id) in the database table "ticket". If the user has a change of CustomerID, it will not retroactively touch old tickets. customer_user_id is what determines "my tickets" and customer_id determines "company tickets"

New information:
You may assign a group to have access to Company Tickets
Ticket -> Frontend::Customer::ModuleRegistration
CustomerFrontend::Module###CustomerTicketOverView

So if you set up that your managers are members of the "Company Tickets" group, then apply that group to the Company Tickets interface above, everyone in the company/department can have the same CustomerID, but each customer will only see her own ticket (My tickets=username). However, managers will also see the Company Tickets tab and all customer users tickets who have the same customer_id as the manager.

Further, multi-department managers can make use of the "customer_ids" to see "Company Tickets" of, for example, "deptA;deptB". This reduces the need for maintaining a huge list of individual CustomerID centries for a manager with new or exiting employees.
An LDAP backend should CustomerUser Map CustomerID to a consistently filled attribute (Department, or CustomField?) to take advantage of this post.

Edit to add (5/23/2014):
To make a manager (and only a manager) have access to subordinate tickets as a group (View in Company Tickets) for his department/company:
1) manager and subordinates have same customer ID
2) Customer Company Support enabled
3) Manager is in a group that has access to Company Tickets
4) group that has access to Company Tickets is assigned permission to Company Tickets from within Sysconfig:
Edit Config Settings in Ticket -> Frontend::Customer::ModuleRegistration
CustomerFrontend::Module###CustomerTicketOverView

Above Company Tickets, find the word "Group"
click +
type the name of the group
save
done.

Also, changes to customer_id do not retroactively affect tickets. You will need to adjust the customer_id via Generic Agent (Find login, set customerid)
OTRS 6.0.x (private/testing/public) on Linux with MySQL database.
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask
Mothra
Znuny expert
Posts: 189
Joined: 26 Oct 2010, 15:04
Znuny Version: 3.2.11

Re: CustomerID/CustomerIDs/Customer Groups

Post by Mothra »

Don't you find it odd that this is called CustomerID instead of CompanyID, given which form this value is first created in (i.e. the create Company page)?
OTRS 3.2.11 on Centos 6.4 with MySQL 5.0. Agents and internal customers authenticate via Active Directory.
heck
Znuny newbie
Posts: 4
Joined: 14 Sep 2010, 17:13
Znuny Version: 2.4

Re: CustomerID/CustomerIDs/Customer Groups

Post by heck »

Hi crythias,
I am trying to use the CustomerId to use it as a company id to filter all Tickets.

I used the TicketCreate API to modify the CustoemrId and CustomerUser but OTRS only add the CustomerUser to the ticket table. I am missing something?
Best regards.

Code: Select all

$ticketid = $soapclient->__soapCall("Dispatch", array($user, $pass, "TicketObject", "TicketCreate",
									       "TN", $ticketnr,
									       "Title", $title,
									       "Queue", $queue,
									       "Lock" , "unlock",
									       "PriorityID", 5,
									       "State" , "new",
									       "CustomerId", $customerid,
									       "CustomerUser", $customeruser,
									       "OwnerID" , $userid,
									       "UserID", $userid
									       ));
crythias
Moderator
Posts: 10169
Joined: 04 May 2010, 18:38
Znuny Version: 5.0.x
Location: SouthWest Florida, USA
Contact:

Re: CustomerID/CustomerIDs/Customer Groups

Post by crythias »

might be a case sensitivity error. Try CustomerID

Code: Select all

    my $TicketID = $TicketObject->TicketCreate(
        TN            => $TicketObject->TicketCreateNumber(), # optional
        Title         => 'Some Ticket Title',
        Queue         => 'Raw',              # or QueueID => 123,
        Lock          => 'unlock',
        Priority      => '3 normal',         # or PriorityID => 2,
        State         => 'new',              # or StateID => 5,
        Type          => 'normal',           # or TypeID => 1, not required
        Service       => 'Service A',        # or ServiceID => 1, not required
        SLA           => 'SLA A',            # or SLAID => 1, not required
        CustomerID    => '123465',
        CustomerUser  => 'customer@example.com',
        OwnerID       => 123,
        ResponsibleID => 123,                # not required
        ArchiveFlag   => 'y',                # (y|n) not required
        UserID        => 123,
    );
OTRS 6.0.x (private/testing/public) on Linux with MySQL database.
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask
heck
Znuny newbie
Posts: 4
Joined: 14 Sep 2010, 17:13
Znuny Version: 2.4

Re: CustomerID/CustomerIDs/Customer Groups

Post by heck »

[SOLVED]
You are right is was a case sensitive error: CustomerID and not CustomerId !!!

Thank you.
ptay
Znuny newbie
Posts: 85
Joined: 13 Jul 2010, 18:55
Znuny Version: 5.0.10

Re: CustomerID/CustomerIDs/Customer Groups

Post by ptay »

Mothra wrote:Don't you find it odd that this is called CustomerID instead of CompanyID, given which form this value is first created in (i.e. the create Company page)?
I agree with you, the term is misleading.
Test:: OTRS 5.0.10 w/MariaDB 5.5.47 backend on RHEL7
Prod:: OTRS 5.0.10 w/MariaDB 5.5.47 backend on RHEL7
SLESSARD
Znuny advanced
Posts: 119
Joined: 12 Jan 2011, 22:35
Znuny Version: 4.x.x.x.x
Company: Self-Employed

Re: CustomerID/CustomerIDs/Customer Groups

Post by SLESSARD »

I have pulled the config.pm file but can't seem to figure out where to put the extra colum in the MAP array? Where do I put this in the file?
Script 11.5 in the docs referenced above
OTRS 4.0.11
Ubuntu 15.04
MySQL Database, PHP5, Apache (LAMP server bundle)
otrs_newbie
Znuny newbie
Posts: 2
Joined: 28 Jan 2011, 16:52
Znuny Version: 3.0.4

Re: CustomerID/CustomerIDs/Customer Groups

Post by otrs_newbie »

Can I remove customer_id from being mandatory? if yes, how to do it?
ptay
Znuny newbie
Posts: 85
Joined: 13 Jul 2010, 18:55
Znuny Version: 5.0.10

Re: CustomerID/CustomerIDs/Customer Groups

Post by ptay »

otrs_newbie wrote:Can I remove customer_id from being mandatory? if yes, how to do it?
I don't think so, from the OTRS Admin manual page 51, "The CustomerID is needed by the system to identify the user and his tickets. Since the email address is a unique value, it can be used as ID."

So, if you don't want anyone to see each other tickets then you can use an email address as it is unique.
Test:: OTRS 5.0.10 w/MariaDB 5.5.47 backend on RHEL7
Prod:: OTRS 5.0.10 w/MariaDB 5.5.47 backend on RHEL7
crythias
Moderator
Posts: 10169
Joined: 04 May 2010, 18:38
Znuny Version: 5.0.x
Location: SouthWest Florida, USA
Contact:

Re: CustomerID/CustomerIDs/Customer Groups

Post by crythias »

PLEASE NOTE:
This howto is not for questions. Please post them in the Help section. If there are clarifications that need to be addressed in the HowTo, please PM me, but don't PM me with questions, unless you want to pay for my services :). Your questions are probably useful for other people.

This topic is now locked.
OTRS 6.0.x (private/testing/public) on Linux with MySQL database.
Please edit your signature to include your OTRS version, Operating System, and database type.
Click Subscribe Topic below to get notifications. Consider amending your topic title to include [SOLVED] if it is so.
Need help? Before you ask
Locked