Legacy Dev Forum Posts

 View Only

Sign Up

Callbacks vs Web Callbacks

  • 1.  Callbacks vs Web Callbacks

    Posted 06-05-2025 18:03

    RomanSmoll | 2021-07-10 14:43:38 UTC | #1

    Hello

    It has been a few days I am beating my head against the wall for the following dilemma

    How is it possible to distinguish webCallBacks against classic callbacks. When i "fetch the conversation" using analyticsApi , I do not see anything that would correspond to the webcallback or identify it in a particular way..so what should I look for in this case?

    Thank you and with best regards, Roman


    Jerome.Saint-Marc | 2021-07-13 16:47:17 UTC | #2

    Hello,

    With Genesys Cloud, there is no notion of web callback vs classic callback.

    I assume that by Web Callback, you were referring to the callback that can be created by API with POST /api/v2/conversations/callbacks, as described in Creating Scheduled Callbacks page. And by classic callback, the callback that can be requested by a Contact Center Agent from the Genesys Desktop UI or from an Architect flow - ex: callback added to an existing conversation which includes a voice media channel/session.

    POST /api/v2/conversations/callbacks will create a fresh new conversation with a "callback" media channel (customer participant - session with mediaType = callback).

    POST /api/v2/conversations/{conversationId}/participants/{participantId}/callbacks allows to add a callback media channel/session (customer participant - session with mediaType = callback) to an existing/on-going conversation (by the Contact Center Agent, through an Architect flow).

    What makes the difference between the 2 is only the timeline. I mean the media type, the direction and the start time of the different sessions and segments for the different participants (i.e. customer, ivr, acd, agent). If the conversation includes a customer participant (purpose = customer), with a session of mediaType = callback, which contains a segment (segmentType = scheduled and/or interact) which has the earliest segmentStart time (of all participants/sessions/segments), then it is a callback initiated with POST /api/v2/conversations/callbacks.

    So that requires to parse and to process the different participants/sessions/segments of a conversation details. That's what you could see in the Timeline tab of an Interaction (Performance - Interactions).

    I don't know if that could fit your use case and your integration but note that it is possible to pass custom attributes (participant data/attributes) in POST /api/v2/conversations/callbacks. You can send Key/Value pairs via the data attribute, which will be propagated to the conversation as participant data. You could send an attribute which helps identifying Web Callbacks - ex: "MyCallbackType": "Web Callback". Note that you can't use a participant attribute in a query filter. But you could retrieve the conversation context or conversation details of a conversation which has a callback media channel/session and check if the attribute is present.

    But participant data are NOT available when you get Analytics API - Conversation Details by id with GET /api/v2/analytics/conversations/{conversationId}/details, and they are not available making a (synchronous) query for conversation details with POST /api/v2/analytics/conversations/details/query.

    In order to get access to participant data, you can use Conversations API - GET /api/v2/conversations/{conversationId}. The conversation context (from Conversations API) is available as soon as the conversation starts, and up to 60 days after the conversation.

    You can also get participant data/attributes in the Analytics Conversation Details using an Asynchronous/Job query for conversation details with POST /api/v2/analytics/conversations/details/jobs. It is described here. As mentioned in this page, the conversation details with participant data/attributes are served by a data lake that is updated nightly by a batch process, rather than being updated in real time. So with the async job, the conversation details will only be available a day after the conversation occured, but will continue to be available after 60 days (I mean longer than the Conversations API Conversation context).

    Regards,


    system | 2021-08-13 16:43:31 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: 11442