How to store info in XDB using custom facet models.
- Let us create a console app (MA.CustomFacets.Import) to create contacts and update facets information.
- Create an instance of xConnect to save user profile information into xDBs.
CertificateHttpClientHandlerModifierOptions options = CertificateHttpClientHandlerModifierOptions.Parse($
"StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint;FindValue={thumbPrint}"
);
var
certificateModifier =
new
CertificateHttpClientHandlerModifier(options);
List<IHttpClientModifier> clientModifiers =
new
List<IHttpClientModifier>();
var
timeoutClientModifier =
new
TimeoutHttpClientModifier(
new
TimeSpan(0, 0, 20));
clientModifiers.Add(timeoutClientModifier);
Make the connection to xconnect API:
var
collectionClient =
new
CollectionWebApiClient(
new
Uri($
"{xConnectUrlBase}/odata"
), clientModifiers,
new
[] { certificateModifier });
var
searchClient =
new
SearchWebApiClient(
new
Uri($
"{xConnectUrlBase}/odata"
), clientModifiers,
new
[] { certificateModifier });
var
configurationClient =
new
ConfigurationWebApiClient(
new
Uri($
"{xConnectUrlBase}/configuration"
), clientModifiers,
new
[] { certificateModifier });
Register models (both default and custom):
XdbModel[] models = { CollectionModel.Model, CustomerCollectionModel.Model };
Create Client Configuration:
var
cfg =
new
XConnectClientConfiguration(
new
XdbRuntimeModel(models), collectionClient, searchClient, configurationClient);
var
cfg =
new
XConnectClientConfiguration(
new
XdbRuntimeModel(models), collectionClient, searchClient, configurationClient);
Submit contact:
client.AddContact(newContact);
await
client.SubmitAsync();
How to verify custom facets values:
You can see your saved profile information in the database [<Sitecore_Instance_Name>_Xdb.Collection.Shard0], table ContactFacets
![](https://sitecorewithraman.files.wordpress.com/2021/05/sharddb.png?w=869)
As you can see in the above screenshot, for each of the facets, Sitecore create a new row. You can identify by column FacetKey.
You can get your profile data in the JSON formation against the column FacetData
- Happy Sitecoreing
https://sitecorewithraman.wordpress.com/2020/08/22/sitecore-xconnect-custom-facets-part-ii/
ReplyDelete