Syndigo’s Report Builder API improves upon legacy design by keeping correlated data in relevant reports and separating data that was uncorrelated into an appropriate report.
This provides benefits twofold: better performance, and appropriate data relationships aiding in understanding insights.
In general, the API contract is unchanged. When performing migration analysis, consider:
- Is the legacy data column relevant to my intended insight?
- In which report does this relevant legacy data column exist?
Step 1: Discover report names and available data columns
The discovery portion of the API (GET api/report/insights/v2/{companyid}/columns) allows fetching a list of everything you can retrieve via the API.
NOTICE: Only one report can be queried at a time. The reports may NOT be joined together. For multiple insights, just generate a unique query for each report. See: Reports and Columns List.
NOTICE: Product lists have been replaced with Product set concept: Product Sets List.
Step 2: Define filters and generate reports
Using the reports and data columns needed you can start generating a report.
Example Mapping
Legacy
// 1 Call
{
"product_list_ids": [
0
],
"start_date": "{{date_yesterday}}",
"end_date": "{{date_today}}",
"columns": {
"product": [
"brand",
"crawl_date",
"crawl_time",
"product_name"
],
"reviews": [
"average_rating",
"total_reviews"
]
},
"format": "csv",
"max_rows_per_file": 25000
}
V2.2
// 1 of 2
{
"searchtermids": [],
"productlistids": [],
"startdate": "{{date_yesterday}}",
"enddate": "{{date_today}}",
"columnids": {
"Live Site Product": ["Brand", "CrawlDate", "CrawlTime", "ProductName"]
},
"format": "csv",
"maxrowsperfile": 25000
}
// 2 of 2
{
"searchtermids": [],
"productlistids": [],
"startdate": "{{date_yesterday}}",
"enddate": "{{date_today}}",
"columnids": {
"Live Site Detailed Reviews": ["TotalRating", "Rating"]
},
"format": "csv",
"maxrowsperfile": 25000
}