Legacy Dev Forum Posts

 View Only

Sign Up

Problem absence of information recovering conversations info

  • 1.  Problem absence of information recovering conversations info

    Posted 06-05-2025 18:12

    ruben.berlanga | 2017-07-28 09:35:42 UTC | #1

    Hello,

    We have a problem recovering information about conversation details. We execute a batch process daily at 1 a.m. to extract conversations made previous day. We are using Java SDK version 7.1.2 (with version 16.1.0 also happens), the method used is postAnalyticsConversationsDetailsQueryWithHttpInfo from AnalyticsApi, this is a code example used:

    String date = new SimpleDateFormat("yyyyy-MM-dd").format((new DateTime(new Date())).minusDays(1).toDate(); ConversationQuery body = new ConversationQuery(); body.setInterval(date+"T00:00:00.000Z/"+date+"T23:59:59.000Z"); body.setOrder(com.mypurecloud.sdk.v2.model.ConversationQuery.OrderEnum.ASC); body.setOrderBy(com.mypurecloud.sdk.v2.model.ConversationQuery.OrderByEnum.CONVERSATIONSTART); PagingSpec pagingSpec = new PagingSpec(); pagingSpec.setPageNumber(pageNumber); // Where pageNumber is a integer value between 1 and maximum number of existing page pagingSpec.setPageSize(100); body.setPaging(pagingSpec); ApiResponse<AnalyticsConversationQueryResponse> conversations = new AnalyticsApi().postAnalyticsConversationsDetailsQueryWithHttpInfo(body);

    The problem is that in the execution at 1 a.m. everything was perfect, but if we execute our batch 2 days later to recover the same information (in that case, conversations made 3 days in the past) the information changes adding segments of type wrapup that in the previous execution we didn't have. It's curious, because all of those new segments of wrapup are for participants with purpose = outbound. An example:

    Execution during 25th of July at 1 a.m.:

    <conversations> <conversationEnd>2017-07-24T07:00:54.474Z</conversationEnd> <conversationId>20dbb439-ae82-49b8-ab6e-703b6244ff89</conversationId> <participants> <sessions> <dnis>tel:+33621334923</dnis> <segments> <segmentEnd>2017-07-24T07:00:48.557Z</segmentEnd> <segmentType>dialing</segmentType> <conference>false</conference> <segmentStart>2017-07-24T07:00:24.484Z</segmentStart> </segments> <segments> <segmentEnd>2017-07-24T07:00:54.474Z</segmentEnd> <segmentType>interact</segmentType> <conference>false</conference> <segmentStart>2017-07-24T07:00:48.557Z</segmentStart> </segments> <edgeId>4f0300ba-4304-4793-b4a9-1ce42573d6f4</edgeId> <ani>sip:+33179350630@10.98.0.250;user=phone</ani> <outboundContactId>b43483f4ef6f937184268e6caf8eb796</outboundContactId> <sessionId>d2221adc-f078-4595-a64e-bf4f076af3c3</sessionId> <direction>outbound</direction> <outboundContactListId>2e9d8e57-525b-40ec-8120-5f828a933ef4</outboundContactListId> <outboundCampaignId>98a26818-9e03-4953-8d66-83b10eb303cc</outboundCampaignId> <mediaType>voice</mediaType> </sessions> <participantName>Xxxx</participantName> <participantId>c2be0fd1-6ddc-40b3-a998-6f82fcdb68c8</participantId> <purpose>customer</purpose> </participants> <participants> <sessions> <dnis>tel:+33621334923;tgrp=b40625fc-9a4e-4596-a7ee-2100e1230738;trunk-context=euifrance</dnis> <segments> <segmentEnd>2017-07-24T07:00:54.470Z</segmentEnd> <segmentType>system</segmentType> <conference>false</conference> <segmentStart>2017-07-24T07:00:54.470Z</segmentStart> </segments> <edgeId>4f0300ba-4304-4793-b4a9-1ce42573d6f4</edgeId> <ani>tel:+33179350630</ani> <outboundContactId>b43483f4ef6f937184268e6caf8eb796</outboundContactId> <sessionId>1cb8065c-f518-4cfb-b957-a2ac6a38aed2</sessionId> <direction>outbound</direction> <outboundContactListId>2e9d8e57-525b-40ec-8120-5f828a933ef4</outboundContactListId> <dispositionName>disposition.classification.callable.noanswer</dispositionName> <outboundCampaignId>98a26818-9e03-4953-8d66-83b10eb303cc</outboundCampaignId> <mediaType>voice</mediaType> </sessions> <participantName>Yyyy</participantName> <participantId>3b8010f8-4bc9-451a-8b3d-338dfc1d0b31</participantId> <purpose>outbound</purpose> </participants> <conversationStart>2017-07-24T07:00:24.484Z</conversationStart> </conversations>

    Today's execution at 10:25 a.m.:

    <conversations> <conversationEnd>2017-07-24T07:00:54.753Z</conversationEnd> //ConversationEnd has changed?? <conversationId>20dbb439-ae82-49b8-ab6e-703b6244ff89</conversationId> <participants> <sessions> <dnis>tel:+33621334923</dnis> <segments> <segmentEnd>2017-07-24T07:00:48.557Z</segmentEnd> <segmentType>dialing</segmentType> <conference>false</conference> <segmentStart>2017-07-24T07:00:24.484Z</segmentStart> </segments> <segments> <segmentEnd>2017-07-24T07:00:54.474Z</segmentEnd> <segmentType>interact</segmentType> <conference>false</conference> <segmentStart>2017-07-24T07:00:48.557Z</segmentStart> </segments> <edgeId>4f0300ba-4304-4793-b4a9-1ce42573d6f4</edgeId> <ani>sip:+33179350630@10.98.0.250;user=phone</ani> <outboundContactId>b43483f4ef6f937184268e6caf8eb796</outboundContactId> <sessionId>d2221adc-f078-4595-a64e-bf4f076af3c3</sessionId> <direction>outbound</direction> <outboundContactListId>2e9d8e57-525b-40ec-8120-5f828a933ef4</outboundContactListId> <outboundCampaignId>98a26818-9e03-4953-8d66-83b10eb303cc</outboundCampaignId> <mediaType>voice</mediaType> </sessions> <participantName>France</participantName> <participantId>c2be0fd1-6ddc-40b3-a998-6f82fcdb68c8</participantId> <purpose>customer</purpose> </participants> <participants> <sessions> <dnis>tel:+33621334923;tgrp=b40625fc-9a4e-4596-a7ee-2100e1230738;trunk-context=euifrance</dnis> <segments> <segmentEnd>2017-07-24T07:00:54.470Z</segmentEnd> <segmentType>system</segmentType> <conference>false</conference> <segmentStart>2017-07-24T07:00:54.470Z</segmentStart> </segments> //New segment???? <segments> * <segmentEnd>2017-07-24T07:00:54.753Z</segmentEnd>* * <wrapUpCode>ININ-OUTBOUND-NO-ANSWER</wrapUpCode>* * <segmentType>wrapup</segmentType>* * <conference>false</conference>* * <segmentStart>2017-07-24T07:00:54.753Z</segmentStart>* * </segments>* <edgeId>4f0300ba-4304-4793-b4a9-1ce42573d6f4</edgeId> <ani>tel:+33179350630</ani> <outboundContactId>b43483f4ef6f937184268e6caf8eb796</outboundContactId> <sessionId>1cb8065c-f518-4cfb-b957-a2ac6a38aed2</sessionId> <direction>outbound</direction> <outboundContactListId>2e9d8e57-525b-40ec-8120-5f828a933ef4</outboundContactListId> <dispositionName>disposition.classification.callable.noanswer</dispositionName> <outboundCampaignId>98a26818-9e03-4953-8d66-83b10eb303cc</outboundCampaignId> <mediaType>voice</mediaType> </sessions> <participantName>L'olivier</participantName> <participantId>3b8010f8-4bc9-451a-8b3d-338dfc1d0b31</participantId> <purpose>outbound</purpose> </participants> <conversationStart>2017-07-24T07:00:24.484Z</conversationStart> </conversations>

    Do you know why information of conversations closed in the past has changed?

    Thanks in advance.


    tim.smith | 2017-07-28 15:37:38 UTC | #2

    ruben.berlanga, post:1, topic:1611
    Do you know why information of conversations closed in the past has changed?

    The data returned from the API is always the most accurate data PureCloud has at that time. PureCloud provides data as a service in real-time, as opposed to only providing data when it's "done" and can never possibly change. If you retrieve a conversation object, update that conversation, and then retrieve it again, it will have different data than the first time you retrieved it. This behavior is expected.

    If you're getting results that are missing data that you know should be there, or conversely getting results that contain data that shouldn't be there, that will need to be investigated by a support ticket.


    ruben.berlanga | 2017-07-31 11:15:58 UTC | #3

    Does it exists some way to change a closed conversation then? How is it possible, through API or from Purecloud App?

    Otherwise, is it possible that some rule defined can change adding wrapup segments 2 days later when conversations was finished?

    Thanks


    tim.smith | 2017-07-31 13:04:14 UTC | #4

    ruben.berlanga, post:3, topic:1611
    Does it exists some way to change a closed conversation then?

    There's no concept of a conversation being "closed" or "done". The data returned from the API represents everything we know about the conversation at the time it was retrieved. If anything happens to alter that conversation at any point in the future, the data returned by the API will be different. This could be caused by a user action like assigning a wrap up code, or it could be a system action like reprocessing raw data and updating the conversation object accordingly (this reprocessing can produce different data if a bug in the processing logic was fixed). This is why it's important to use PureCloud as a Data as a Service (DaaS) provider so that you always get the most up to date data.


    system | 2017-08-28 19:35:58 UTC | #5


    This post was migrated from the old Developer Forum.

    ref: 1611