No other major SaaS company in the world could get away with this approach to paying customers. Not only Google offers no user-friendly tools to add shared contact to the paid version of Google Apps. They offer no tools. Period.
Here is the only information available to email administrators:
Administrative management of non-employee contacts now available
Premier Edition administrators can now add contacts that aren’t employees of their own company to the contact list that each user can access in the new standalone contact manager.
First, create an XML representation of the shared contact to publish. This XML needs to be in the form of an Atom element of the Contact kind, which might look like this:<atom:entry xmlns:atom='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005'> <atom:category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/contact/2008#contact' /> <atom:title type='text'>Elizabeth Bennet</atom:title> <atom:content type='text'>Notes</atom:content> <gd:email rel='http://schemas.google.com/g/2005#work' firstname.lastname@example.org' /> <gd:email rel='http://schemas.google.com/g/2005#home' email@example.com' /> <gd:phoneNumber rel='http://schemas.google.com/g/2005#work' primary='true'> (206)555-1212 </gd:phoneNumber> <gd:phoneNumber rel='http://schemas.google.com/g/2005#home'> (206)555-1213 </gd:phoneNumber> <gd:im firstname.lastname@example.org' protocol='http://schemas.google.com/g/2005#GOOGLE_TALK' rel='http://schemas.google.com/g/2005#home' /> <gd:postalAddress rel='http://schemas.google.com/g/2005#work' primary='true'> 1600 Amphitheatre Pkwy Mountain View </gd:postalAddress> </atom:entry>
To publish this entry, send it to the contact-list feed URL as follows. First, place your Atom element in the body of a new POST request, using the application/atom+xml content type. Then send it to the feed URL. For example, to add a domain shared contact to the list belonging to example.com, post the new entry to the following URL:
The Google server creates a contact using the entry you sent, then returns an HTTP 201 CREATED status code, along with a copy of the new contact in the form of an element. The entry returned is the same one you sent, but it also contains various elements added by the server, such as an element.
If your request fails for some reason, Google may return a different status code. For information about the status codes, see the Google Data API protocol reference document.