Hello
I am writing a Python code to extract data from Adobe Analytics via the standard API calls. My requirement is to extract data like impressions, clicks, page views etc., broken by few dimensions.
When I pass the metrics in the metricContainer however I am getting this error:
{"errorCode":"invalid_data","errorDescription":"Request contained multiple filters with id=0","errorId":"a072dedc-120c-45b7-8d94-5e4f9c20900a"}
I know the error but I don't know how to handle this. If I cannot have multiple filters with same ID value of "zero" how can I handle such situations?
Please help
Solved! Go to Solution.
Views
Replies
Total Likes
Hello. I tried in Swagger UI earlier but I thought this complete code may not be suitable to run in the entire Swagger UI. Please find below the request body.
body1_ind4 = {
'rsid': client,
'globalFilters': [{'type': 'dateRange', 'dateRange': date_str}],
'metricContainer': {
'metrics': [{"id": "metrics/visits", "filters": [il1, il2, il3]},
{"id": "metrics/pageviews", "filters": [il1, il2, il3]},
{"id": "metrics/revenue", "filters": [il1, il2, il3]},
{"id": "metrics/event42", "filters": [il1, il2, il3]},
{"id": "metrics/itemtimespent", "filters": [il1, il2, il3]},
{"id": "metrics/units", "filters": [il1, il2, il3]},
{"id": "metrics/orders", "filters": [il1, il2, il3]},
{"id": "metrics/event6", "filters": [il1, il2, il3]},
{"id": "metrics/visitors", "filters": [il1, il2, il3]}],
"metricFilters": [
{"id": il2, "type": "breakdown", "dimension": "variables/searchenginenatural","itemId": il2},
{"id": il3, "type": "breakdown", "dimension": "variables/campaign","itemId": il3},
{"id": il1, "type": "breakdown", "dimension": "variables/daterangeday","itemId": il1}
]},
'dimension': 'variables/referringdomain',
"settings": {"dimensionSort": "asc","countRepeatInstances": False}
}
I believe if the values of il2 and il3 are same and equal to zero the error throws out. I am not sure why two itemIds can have the same values in Adobe Analytics.
Regards
Krishna
Views
Replies
Total Likes
@kkrishna_hyd Before executing the API in Python I will suggest you try it in Swagger API so that you can manipulate the requests easily and get the desired result.
https://adobedocs.github.io/analytics-2.0-apis/
From the error you are getting it seems like you are using multiple filters in metrics container for a particular metric id object. I will suggest to try in the above link and modify the request accordingly. If not solved than provide a sample request body which you sending to the endpoint.
Hello. I tried in Swagger UI earlier but I thought this complete code may not be suitable to run in the entire Swagger UI. Please find below the request body.
body1_ind4 = {
'rsid': client,
'globalFilters': [{'type': 'dateRange', 'dateRange': date_str}],
'metricContainer': {
'metrics': [{"id": "metrics/visits", "filters": [il1, il2, il3]},
{"id": "metrics/pageviews", "filters": [il1, il2, il3]},
{"id": "metrics/revenue", "filters": [il1, il2, il3]},
{"id": "metrics/event42", "filters": [il1, il2, il3]},
{"id": "metrics/itemtimespent", "filters": [il1, il2, il3]},
{"id": "metrics/units", "filters": [il1, il2, il3]},
{"id": "metrics/orders", "filters": [il1, il2, il3]},
{"id": "metrics/event6", "filters": [il1, il2, il3]},
{"id": "metrics/visitors", "filters": [il1, il2, il3]}],
"metricFilters": [
{"id": il2, "type": "breakdown", "dimension": "variables/searchenginenatural","itemId": il2},
{"id": il3, "type": "breakdown", "dimension": "variables/campaign","itemId": il3},
{"id": il1, "type": "breakdown", "dimension": "variables/daterangeday","itemId": il1}
]},
'dimension': 'variables/referringdomain',
"settings": {"dimensionSort": "asc","countRepeatInstances": False}
}
I believe if the values of il2 and il3 are same and equal to zero the error throws out. I am not sure why two itemIds can have the same values in Adobe Analytics.
Regards
Krishna
Views
Replies
Total Likes
Hello. I tried in Swagger UI earlier but I thought this complete code may not be suitable to run in the entire Swagger UI. Please find below the request body.
body1_ind4 = {
'rsid': client,
'globalFilters': [{'type': 'dateRange', 'dateRange': date_str}],
'metricContainer': {
'metrics': [{"id": "metrics/visits", "filters": [il1, il2, il3]},
{"id": "metrics/pageviews", "filters": [il1, il2, il3]},
{"id": "metrics/revenue", "filters": [il1, il2, il3]},
{"id": "metrics/event42", "filters": [il1, il2, il3]},
{"id": "metrics/itemtimespent", "filters": [il1, il2, il3]},
{"id": "metrics/units", "filters": [il1, il2, il3]},
{"id": "metrics/orders", "filters": [il1, il2, il3]},
{"id": "metrics/event6", "filters": [il1, il2, il3]},
{"id": "metrics/visitors", "filters": [il1, il2, il3]}],
"metric Filters": [
{"id": il2, "type": "breakdown", "dimension": "variables/searchenginenatural","itemId": il2},
{"id": il3, "type": "breakdown", "dimension": "variables/campaign","itemId": il3},
{"id": il1, "type": "breakdown", "dimension": "variables/daterangeday","itemId": il1}
]},
'dimension': 'variables/referringdomain',
"settings": {"dimensionSort": "asc","countRepeatInstances": False}
}
I believe if the values of il2 and il3 are same and equal to zero the error throws out. I am not sure why two itemIds can have the same values in Adobe Analytics.
Regards
Krishna
Views
Replies
Total Likes
I would suggest running the desired report in Adobe Analytics Workspace, open Workspace Debugger, copy the curl request and convert it to Python code (using Postman).