iQMedia / tracker

Repo to hold all customer facing platform and data issues.
0 stars 0 forks source link

GetCreatives not filtering RegionIDs correctly - reported by Nexxen #15

Closed sergi0aranda closed 7 months ago

sergi0aranda commented 7 months ago

Please check the API filtering in GetCreatives. You can reproduce this issue as follows:

1) Query GetCreatives with the following configuration:

Note: This happens for Nexxen UK credentials ( "UserID": "api@nexxen.com", "Password": "Kinetiq2023") or any other account or credentials you use. I tested with IQMedia credentials.

{ "ModifiedSinceDateTimeUtc": "2024-02-05T00:00:00Z", "RegionIDs":[ 17314], "ExcludeDeleted":false, "Rows":500, "CursorMark":"*", "SessionID": {{token}} }

2.In the response you will see that (17313) OTT deleted creatives are reported.

    {
        "ClientID": 17313,
        "ID": 1207605621,
        "Brand2ID": "",
        "Category2ID": "",
        "CreatedDateTimeUtc": "2024-01-31T10:48:15.137Z",
        "DurationSeconds": 0,
        "IsDeleted": true,
        "IsPromo": false,
        "LastModifiedDateTimeUtc": "2024-02-06T09:14:27.030Z",
        "Product2ID": "",
        "ResourceID": "AE17313-2024-05-00007",
        "SubCategory2ID": "",
        "Title": ""
    }

Please correct this problem as it is significantly increasing the traffic that goes out to customers. I did not see this same issue with GetOccurrences.

jmylet commented 7 months ago

Filters on regions, brands, products, categories, and subcategories (if any) were being ignored when selecting deleted creatives from the DB even though they were still being applied to active assets. This would only occur when a user request specifically did not exclude deleted creatives since this request parameter would default to true if not provided. Issue has been fixed by removing a particular search condition that returned assets matching the requested region, brand and other filters mentioned above (if any) OR assets that were deleted from the SQL SP selecting creatives. Deleted assets will still be returned if a user requests that they not be excluded from results, but now they must match any requested filter criteria the same way active assets are.