Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3,119 changes: 3,001 additions & 118 deletions .generator/schemas/v2/openapi.yaml

Large diffs are not rendered by default.

1,082 changes: 1,066 additions & 16 deletions docs/datadog_api_client.v2.model.rst

Large diffs are not rendered by default.

142 changes: 142 additions & 0 deletions examples/v2/product-analytics/QueryProductAnalyticsJourneyFunnel.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
"""
Compute journey funnel analysis returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.product_analytics_api import ProductAnalyticsApi
from datadog_api_client.v2.model.product_analytics_event_query import ProductAnalyticsEventQuery
from datadog_api_client.v2.model.product_analytics_event_query_data_source import ProductAnalyticsEventQueryDataSource
from datadog_api_client.v2.model.product_analytics_event_search import ProductAnalyticsEventSearch
from datadog_api_client.v2.model.product_analytics_graph_query_group_by import ProductAnalyticsGraphQueryGroupBy
from datadog_api_client.v2.model.product_analytics_graph_query_group_by_source import (
ProductAnalyticsGraphQueryGroupBySource,
)
from datadog_api_client.v2.model.product_analytics_group_by_sort import ProductAnalyticsGroupBySort
from datadog_api_client.v2.model.product_analytics_join_keys import ProductAnalyticsJoinKeys
from datadog_api_client.v2.model.product_analytics_journey_audience_account_query import (
ProductAnalyticsJourneyAudienceAccountQuery,
)
from datadog_api_client.v2.model.product_analytics_journey_audience_filters import (
ProductAnalyticsJourneyAudienceFilters,
)
from datadog_api_client.v2.model.product_analytics_journey_audience_segment_query import (
ProductAnalyticsJourneyAudienceSegmentQuery,
)
from datadog_api_client.v2.model.product_analytics_journey_audience_user_query import (
ProductAnalyticsJourneyAudienceUserQuery,
)
from datadog_api_client.v2.model.product_analytics_journey_funnel_compute import ProductAnalyticsJourneyFunnelCompute
from datadog_api_client.v2.model.product_analytics_journey_funnel_query import ProductAnalyticsJourneyFunnelQuery
from datadog_api_client.v2.model.product_analytics_journey_funnel_request import ProductAnalyticsJourneyFunnelRequest
from datadog_api_client.v2.model.product_analytics_journey_funnel_request_attributes import (
ProductAnalyticsJourneyFunnelRequestAttributes,
)
from datadog_api_client.v2.model.product_analytics_journey_funnel_request_data import (
ProductAnalyticsJourneyFunnelRequestData,
)
from datadog_api_client.v2.model.product_analytics_journey_node_target import ProductAnalyticsJourneyNodeTarget
from datadog_api_client.v2.model.product_analytics_journey_node_target_type import ProductAnalyticsJourneyNodeTargetType
from datadog_api_client.v2.model.product_analytics_journey_request_type import ProductAnalyticsJourneyRequestType
from datadog_api_client.v2.model.product_analytics_journey_search import ProductAnalyticsJourneySearch
from datadog_api_client.v2.model.product_analytics_journey_search_filters import ProductAnalyticsJourneySearchFilters
from datadog_api_client.v2.model.product_analytics_journey_search_graph_filter import (
ProductAnalyticsJourneySearchGraphFilter,
)
from datadog_api_client.v2.model.product_analytics_journey_search_graph_filter_name import (
ProductAnalyticsJourneySearchGraphFilterName,
)
from datadog_api_client.v2.model.product_analytics_journey_search_graph_filter_operator import (
ProductAnalyticsJourneySearchGraphFilterOperator,
)
from datadog_api_client.v2.model.query_sort_order import QuerySortOrder

body = ProductAnalyticsJourneyFunnelRequest(
data=ProductAnalyticsJourneyFunnelRequestData(
attributes=ProductAnalyticsJourneyFunnelRequestAttributes(
exclude_anonymous_traffic=False,
_from=1756425600000,
query=ProductAnalyticsJourneyFunnelQuery(
compute=ProductAnalyticsJourneyFunnelCompute(),
group_by=[
ProductAnalyticsGraphQueryGroupBy(
facet="@geo.country",
should_exclude_missing=False,
sort=ProductAnalyticsGroupBySort(
aggregation="count",
order=QuerySortOrder.DESC,
),
source=ProductAnalyticsGraphQueryGroupBySource.USERS,
target=ProductAnalyticsJourneyNodeTarget(
type=ProductAnalyticsJourneyNodeTargetType.NODE,
value="A",
),
value_filters=[],
),
],
search=ProductAnalyticsJourneySearch(
expression="A -> B",
filters=ProductAnalyticsJourneySearchFilters(
audience_filters=ProductAnalyticsJourneyAudienceFilters(
accounts=[
ProductAnalyticsJourneyAudienceAccountQuery(
name="enterprise_accounts",
),
],
formula="power_users AND NOT trial_segment",
segments=[
ProductAnalyticsJourneyAudienceSegmentQuery(
name="trial_segment",
segment_id="00000000-0000-0000-0000-000000000000",
),
],
users=[
ProductAnalyticsJourneyAudienceUserQuery(
name="power_users",
),
],
),
graph_filters=[
ProductAnalyticsJourneySearchGraphFilter(
name=ProductAnalyticsJourneySearchGraphFilterName.TIME_TO_CONVERT,
operator=ProductAnalyticsJourneySearchGraphFilterOperator.LESS_THAN_OR_EQUAL,
target=ProductAnalyticsJourneyNodeTarget(
type=ProductAnalyticsJourneyNodeTargetType.NODE,
value="A",
),
value=60000,
),
],
),
join_keys=ProductAnalyticsJoinKeys(
primary="@session.id",
secondary=[],
),
node_objects=dict(
A=ProductAnalyticsEventQuery(
data_source=ProductAnalyticsEventQueryDataSource.PRODUCT_ANALYTICS,
search=ProductAnalyticsEventSearch(
query="@type:view @view.name:Login",
),
),
B=ProductAnalyticsEventQuery(
data_source=ProductAnalyticsEventQueryDataSource.PRODUCT_ANALYTICS,
search=ProductAnalyticsEventSearch(
query="@type:action @action.target.name:Submit",
),
),
),
),
),
to=1756857600000,
),
type=ProductAnalyticsJourneyRequestType.JOURNEY_REQUEST,
),
)

configuration = Configuration()
configuration.unstable_operations["query_product_analytics_journey_funnel"] = True
with ApiClient(configuration) as api_client:
api_instance = ProductAnalyticsApi(api_client)
response = api_instance.query_product_analytics_journey_funnel(body=body)

print(response)
161 changes: 161 additions & 0 deletions examples/v2/product-analytics/QueryProductAnalyticsJourneyList.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
"""
List journey entities returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.product_analytics_api import ProductAnalyticsApi
from datadog_api_client.v2.model.product_analytics_event_query import ProductAnalyticsEventQuery
from datadog_api_client.v2.model.product_analytics_event_query_data_source import ProductAnalyticsEventQueryDataSource
from datadog_api_client.v2.model.product_analytics_event_search import ProductAnalyticsEventSearch
from datadog_api_client.v2.model.product_analytics_graph_query_group_by import ProductAnalyticsGraphQueryGroupBy
from datadog_api_client.v2.model.product_analytics_graph_query_group_by_source import (
ProductAnalyticsGraphQueryGroupBySource,
)
from datadog_api_client.v2.model.product_analytics_group_by_sort import ProductAnalyticsGroupBySort
from datadog_api_client.v2.model.product_analytics_join_keys import ProductAnalyticsJoinKeys
from datadog_api_client.v2.model.product_analytics_journey_audience_account_query import (
ProductAnalyticsJourneyAudienceAccountQuery,
)
from datadog_api_client.v2.model.product_analytics_journey_audience_filters import (
ProductAnalyticsJourneyAudienceFilters,
)
from datadog_api_client.v2.model.product_analytics_journey_audience_segment_query import (
ProductAnalyticsJourneyAudienceSegmentQuery,
)
from datadog_api_client.v2.model.product_analytics_journey_audience_user_query import (
ProductAnalyticsJourneyAudienceUserQuery,
)
from datadog_api_client.v2.model.product_analytics_journey_computed_column import ProductAnalyticsJourneyComputedColumn
from datadog_api_client.v2.model.product_analytics_journey_computed_column_name import (
ProductAnalyticsJourneyComputedColumnName,
)
from datadog_api_client.v2.model.product_analytics_journey_conversion_type import ProductAnalyticsJourneyConversionType
from datadog_api_client.v2.model.product_analytics_journey_list_query import ProductAnalyticsJourneyListQuery
from datadog_api_client.v2.model.product_analytics_journey_list_request import ProductAnalyticsJourneyListRequest
from datadog_api_client.v2.model.product_analytics_journey_list_request_attributes import (
ProductAnalyticsJourneyListRequestAttributes,
)
from datadog_api_client.v2.model.product_analytics_journey_list_request_data import (
ProductAnalyticsJourneyListRequestData,
)
from datadog_api_client.v2.model.product_analytics_journey_list_request_type import (
ProductAnalyticsJourneyListRequestType,
)
from datadog_api_client.v2.model.product_analytics_journey_list_sort import ProductAnalyticsJourneyListSort
from datadog_api_client.v2.model.product_analytics_journey_node_target import ProductAnalyticsJourneyNodeTarget
from datadog_api_client.v2.model.product_analytics_journey_node_target_type import ProductAnalyticsJourneyNodeTargetType
from datadog_api_client.v2.model.product_analytics_journey_search import ProductAnalyticsJourneySearch
from datadog_api_client.v2.model.product_analytics_journey_search_filters import ProductAnalyticsJourneySearchFilters
from datadog_api_client.v2.model.product_analytics_journey_search_graph_filter import (
ProductAnalyticsJourneySearchGraphFilter,
)
from datadog_api_client.v2.model.product_analytics_journey_search_graph_filter_name import (
ProductAnalyticsJourneySearchGraphFilterName,
)
from datadog_api_client.v2.model.product_analytics_journey_search_graph_filter_operator import (
ProductAnalyticsJourneySearchGraphFilterOperator,
)
from datadog_api_client.v2.model.query_sort_order import QuerySortOrder

body = ProductAnalyticsJourneyListRequest(
data=ProductAnalyticsJourneyListRequestData(
attributes=ProductAnalyticsJourneyListRequestAttributes(
_from=1756425600000,
query=ProductAnalyticsJourneyListQuery(
computed_columns=[
ProductAnalyticsJourneyComputedColumn(
name=ProductAnalyticsJourneyComputedColumnName.FIRST_CONVERSION_TIMESTAMPS,
),
],
conversion_type=ProductAnalyticsJourneyConversionType.CONVERSION,
entity_columns=[],
group_by=[
ProductAnalyticsGraphQueryGroupBy(
facet="@geo.country",
should_exclude_missing=False,
sort=ProductAnalyticsGroupBySort(
aggregation="count",
order=QuerySortOrder.DESC,
),
source=ProductAnalyticsGraphQueryGroupBySource.USERS,
target=ProductAnalyticsJourneyNodeTarget(
type=ProductAnalyticsJourneyNodeTargetType.NODE,
value="A",
),
value_filters=[],
),
],
search=ProductAnalyticsJourneySearch(
expression="A -> B",
filters=ProductAnalyticsJourneySearchFilters(
audience_filters=ProductAnalyticsJourneyAudienceFilters(
accounts=[
ProductAnalyticsJourneyAudienceAccountQuery(
name="enterprise_accounts",
),
],
formula="power_users AND NOT trial_segment",
segments=[
ProductAnalyticsJourneyAudienceSegmentQuery(
name="trial_segment",
segment_id="00000000-0000-0000-0000-000000000000",
),
],
users=[
ProductAnalyticsJourneyAudienceUserQuery(
name="power_users",
),
],
),
graph_filters=[
ProductAnalyticsJourneySearchGraphFilter(
name=ProductAnalyticsJourneySearchGraphFilterName.TIME_TO_CONVERT,
operator=ProductAnalyticsJourneySearchGraphFilterOperator.LESS_THAN_OR_EQUAL,
target=ProductAnalyticsJourneyNodeTarget(
type=ProductAnalyticsJourneyNodeTargetType.NODE,
value="A",
),
value=60000,
),
],
),
join_keys=ProductAnalyticsJoinKeys(
primary="@session.id",
secondary=[],
),
node_objects=dict(
A=ProductAnalyticsEventQuery(
data_source=ProductAnalyticsEventQueryDataSource.PRODUCT_ANALYTICS,
search=ProductAnalyticsEventSearch(
query="@type:view @view.name:Login",
),
),
B=ProductAnalyticsEventQuery(
data_source=ProductAnalyticsEventQueryDataSource.PRODUCT_ANALYTICS,
search=ProductAnalyticsEventSearch(
query="@type:action @action.target.name:Submit",
),
),
),
),
sort=ProductAnalyticsJourneyListSort(
order=QuerySortOrder.DESC,
),
target=ProductAnalyticsJourneyNodeTarget(
type=ProductAnalyticsJourneyNodeTargetType.NODE,
value="A",
),
),
to=1756857600000,
),
type=ProductAnalyticsJourneyListRequestType.JOURNEY_LIST_REQUEST,
),
)

configuration = Configuration()
configuration.unstable_operations["query_product_analytics_journey_list"] = True
with ApiClient(configuration) as api_client:
api_instance = ProductAnalyticsApi(api_client)
response = api_instance.query_product_analytics_journey_list(body=body)

print(response)
Loading
Loading