Legacy Dev Forum Posts

 View Only

Sign Up

Bulk of AnalyticConversationDetailQueryFilters

  • 1.  Bulk of AnalyticConversationDetailQueryFilters

    Posted 06-05-2025 18:06

    Roman_Bessnow | 2021-05-13 22:24:05 UTC | #1

    I need to pull a specific set of the analytic conversation details and have two questions.

    1. What is the syntax to define Predicate in order get a file not null:

    Dimension = ConversationDetailQueryPredicate.DimensionEnum.{field}, Value = not null

    1. As I pass a list of the valid conversationID I get only one conversation back as result, how to get the whole list:

    List<ConversationDetailQueryPredicate> Predicates = new List<ConversationDetailQueryPredicate>();

    foreach (ConvPair Pair in ListConvPair) { ConversationDetailQueryPredicate ConversationId = new ConversationDetailQueryPredicate { Dimension = ConversationDetailQueryPredicate.DimensionEnum.Conversationid, Value = Pair.ID }; Predicates.Add(ConversationId); }

    ConversationDetailQueryFilter QueryFilter = new ConversationDetailQueryFilter(); QueryFilter.Type = ConversationDetailQueryFilter.TypeEnum.Or; QueryFilter.Predicates = Predicates;

    List<ConversationDetailQueryFilter> Filters = new List<ConversationDetailQueryFilter>(); Filters.Add(QueryFilter);

    PagingSpec PagingSpec = new PagingSpec { PageSize = 100, PageNumber = 1 }; ConversationQuery ConversationQuery = new ConversationQuery { Interval = DateTime.Now.AddDays(-1).ToString("yyyy-MM-ddTHH:mm:ssZ") + "/" + DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ssZ"), Order = ConversationQuery.OrderEnum.Asc, ConversationFilters = Filters, OrderBy = ConversationQuery.OrderByEnum.Conversationstart, Paging = PagingSpec };

    AnalyticsConversationQueryResponse response = await analyticsApi.PostAnalyticsConversationsDetailsQueryAsync(ConversationQuery);


    anon11147534 | 2021-05-14 08:35:36 UTC | #2

    Hi,

    1.

    I'm pretty sure the following works:

    ConversationDetailQueryPredicate ConversationId = new ConversationDetailQueryPredicate
    {
        Type = ConversationDetailQueryPredicate.TypeEnum.Dimension,
        Dimension = ConversationDetailQueryPredicate.DimensionEnum.Conversationid,
        Value = null,
        Operator = ConversationDetailQueryPredicate.OperatorEnum.Exists
    };

    The corresponding JSON for that predicate would be:

    {
        "type": "dimension",
        "dimension": "conversationId",
        "operator": "exists",
        "value": null
    }

    2.

    I'm not entirely sure what the issue with your query is. You could print the JSON representation of it using ConversationQuery.ToJson(). The analytics query builder can be used to easily make a working query and you can compare both to see what the issue is.


    system | 2021-06-14 08:42:33 UTC | #3

    This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.


    This post was migrated from the old Developer Forum.

    ref: 10917