4

I’m trying to get the list of Contacts from Audience Manager using the Tridion.OutboundEmail.ContentDelivery.Profile. But I am not getting some method to do the same. How I can do it? My requirement is : I have a list of users and one of the user is Admin who can add more users to this list. All the users added by this admin will be tagged by a specific keyword. Now I want to get the list of the contacts who are tagged by this specific keywords so that Admin can modify any user from this list.

2 Answers 2

3

The Tridion.OutboundEmail.ContentDelivery namespace classes are intended for Contacts to manage their own profile within your web applications. For management of contacts by an administrator consider using the CM-side Audience Manager API (found in SDL Tridion 2013 Audience Manager API.chm), or simply use the Content Explorer GUI for adding and removing contacts.

1

As Will Price explains, there is indeed no method available on the delivery side to get a list of all Audience Manager contacts. I once had a discussion about this with one of the developers and they explained me the reasoning behind that was privacy (preventing users from seeing the profile of other users).

My requirement at the time was a social use case, where a list of all users was not seen as a privacy issue (provided we hide personal details, just showing things like name and image in the list).

The solution I came up with wasn't one of the cleanest, but I'll share it with you anyways. I basically made a Page Template which would list all Audience Manager Contacts and output them as an XML document. So you could publish this Page to your delivery side, and then have an XML document to read from your delivery side (since it gets published to some location in your website). The tricky part was when to publish this Page, as there are no events triggered on Contact creation, I planned on using the confirmation email that was sent for each new user (adding a TBB in its Page Template, which would publish the users list Page).

Now I don't remember if that actually worked or not (it was a long time ago), but I'll leave that up to you to sort out. Because somewhere in my memory I recall the issue of an email Page only being rendered when you test it, and it is not actually rendered every time it is sent. So that would break this whole idea again, but if so, it hopefully has given you enough ideas to figure out how to get it working...

4
  • Thanks Will and Bart. I am thinking to expose one interface at CMS which can provide a list of contacts and will be consumed at delivery. Will try this as well as your idea and will see if any of this can be feasible. Let me know your views on my approach.
    – user918
    Mar 11, 2014 at 12:13
  • @user918 You never mentioned the version of Tridion you are on, but if you are on 2013 SP1, you can use the Audience Manager Web Service for that. Else you have the Audience Manager API (.NET) which you can wrap in a service I guess, if you handle security right there shouldn't be too much of an issue. Mar 11, 2014 at 12:33
  • for POC I am using 2011, but for project development will be using 2013. I have started using AM API but initially I am getting an error that this API dll is not loaded in the correct format. Any help on that?
    – user918
    Mar 12, 2014 at 5:07
  • @user918 you'll have to provide more details on errors, probably smart to open a new question for that, so you can clearly explain what DLL you use, with what code and what error you get. Mar 12, 2014 at 12:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.