We have an application return in Java that captures shopping metrics like Customer Name, Vendor, CustomerId and so on.
Do we have any Splunk API that can capture and index this custom data? I also wanted to know whether we can develop custom reports say if i need to know how many times a particular customer shopped on the site?
I think that the solution to getting this data into Splunk is likely going to be scripted inputs. You can write scripts which run on your Splunk instance to run at every n interval to gather statistics from your application. Documentation on that can be found here:
You can also build dashboard and app's to display this data in a meaningful way. First you'll need to get an understanding of the search language in order to manipulate the data in a meaningful way. After that, you can start to put that dashboards and organize your dashboards into an app.