In previous posts, we discussed what is xDB Cloud, Advantages/Disadvantages, Useful Terminologies, How to configure etc. In disadvantages, we seen that we could not connect xDB Cloud directly using tool like Robomongo and MongoVUE. Limiting the action we can perform on MongoDB over On-Premise setup. To overcome this, Sitecore has come up with xDB Cloud RestAPI, not strong enough but maturing steadily. Using which you can perform different operations.
Let’s understand each methods with an example. I use Postman for such purpose. It is a tool build on top of Chrome with lots of cool feature.
SSO Encode Sitecore license
You must use a valid authentication token whenever you make a call to the xDB Cloud API. Which can be generated by using a valid Sitecore license file to call the SSO Encode Sitecore License endpoint. You must include the generated token as a HTTP header in all other requests called X-ScS-Nexus-Auth
This is the first step you need to perform as all other endpoint requires X-ScS-Nexus-Auth for authentication.
List xDB sets
Once you have obtained the token, first thing you wish want to get is list of xDB sets. In response you will get all xDB set listed and DeploymentId for each. Once you have noted LicenseId and DeploymentId, you will be able to make API calls to get information specific to xDB set (DeploymentId). This endpoint becomes very handy when you haven’t received DeploymentId(s) from Sitecore Support.
Get connection strings
Once you have obtained list of xDB sets, you will wish to get the Connection Strings for one of the xDB set (DeploymentId) as it is a vital part in configuring the xDB Cloud. This endpoint becomes very useful when you haven’t received any information about xDB Cloud like Connection Strings, ReportingService from Sitecore Support. With this method in place, you will be able to get all the information required for your setup.
Get Firewall settings V2
This is also one of the important thing to successfully complete the xDB Cloud setup. Even though you have done all configuration right, but your infrastructure not configured properly, it won’t allow application to connect to MongoDB. Hence, no data will be written to xDB Cloud. Use this endpoint to get all URLs and ports specific to URL. And you have to enable the outbound connections over given ports in Firewall.
Get xDB consumption
You can utilize this endpoint as a tool to verify weather data is getting stored in xDB Cloud or not. By providing year and month in endpoint URL, you will get informations like Total Interactions, Interactions Added, Total Contacts, Contacts Added etc. per day basis.
Get xDB collection verification dataset
This endpoint also helps like above one to verify weather data is getting stored to xDB Cloud or not by retrieving collections. Collections includes Interactions as well Contacts.
Get version information
This endpoint is useful to get information about xDB set (DeploymentId) such as Sitecore Version (Not sure why it is there), xDB Cloud Version (1.0/2.0), And Deployment Type (Prod/Non Prod).
Get xDB set status
This endpoint will be used to ensure xDB Set (DeploymentId) working well or not. This will return Status, Message, and IssueIdOnError. You will find the message if there is any issue with xDB Set. Make a note of IssueIdOnError if you get that in response because you need to provide it to Sitecore Support team when you contact them about the issue with your xDB Set.
Trigger history processing (rebuild the Reporting database)
This is a very useful endpoint which will be used to rebuild the Reporting database. Make note that you won’t be able to rebuild the reporting database using admin page in case of xDB Cloud. This is the method which will do the work for you. When calling this method, it should return “In Process” as response. That means rebuild of reporting database for that specific xDB Set has been started.
Get history processing status
Once you have triggered the rebuild Reporting database with help of above method and received response as “In Progress”, you will want to know the status of that task to determine weather it got completed successfully or encountered with an error. By triggering this same API as above again, you will get status of that operation in response. Possible values are Done, In Process, Error, and None.
So, that’s it from the xDB Cloud 2.0 series. Aim was to provide everything at a single point from understanding to Configuration, troubleshooting etc. so that it can save a couple of days for someone.
Enjoy xDB Cloud.