Five New Optimizely Certifications are Here! Validate your expertise and advance your career with our latest certification exams. Click here to find out more

Callback or event mechanism on Contact creation and updates

Vote:
0

Hi, 

Is there a way to subscribe to updates on contact creation and changes? We need to synchronize new contacts and changes to another system realtime, but I haven't found any documentation on such mechanism as of yet.

#331433
Edited, Oct 14, 2024 20:44
Vote:
0
#331535
Oct 16, 2024 8:58
Vote:
0

Hi Quan Mai, 

This might be a stupid question, but where should Configs\baf.data.manager.config be located? Is this some old configuration from Commerce 13? 

#331619
Oct 18, 2024 7:13
Vote:
1

The settings were moved to Mediachase.BusinessFoundation.Data.Business.Configuration.BusinessManagerOptions (optimizely.com) 

so they are now part of appSettings.json (and in JSON format of course). you can also add one like this

            services.Configure<BusinessManagerOptions>(options =>
            {
                options.Plugins.Add(
                    new RequestPlugin()
                    {
                        MetaClass = "List",
                        Method = "CustomPage",
                        EventStage = EventPipeLineStage.PostMainOperationInsideTranasaction,
                        TypeName = "Mediachase.Commerce.Customization.Plugins.CustomPageNormalizationPlugin, Mediachase.Commerce"
                    });
            });

#331620
Oct 18, 2024 8:12
Vote:
0

Hi Quan Mai,

Thanks for the info. Could you clarify how we would implement this? I expect that we create a class like public class CustomerContactHandler : IPlugin from your blog. But how do we configure commerce to use the CustomerContactHandler? Is it the MetaClass or Method or TypeName fields in the RequestPlugin? I can't figure out what the values are supposed to be of those. 

I appreciate your guidance on how to set this up.

#331622
Oct 18, 2024 8:31
Vote:
1

metaclass = the class you want to listen, in this case, Contact

Method = the method you want to listen to, usually List, Delete 

#331623
Oct 18, 2024 9:02
Quan Mai - Oct 18, 2024 9:03
that was explained in my blogpost. I was lazy and grab the next thing available to me
Vote:
0

And is typename = the namespace of the class implementing IPlugin or what is the supposed value here?

#331625
Oct 18, 2024 9:16
Quan Mai - Oct 18, 2024 9:43
yes, "typename, assemblyname"
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.