CTINT_Frankie | 2022-08-23 01:39:02 UTC | #1
Hi,
We are using /api/v2/conversations/{conversationId} to get Participant Data in a conversation and we noticed the attributes seem to only show up in the first participant no matter where we set this Participant Data in Architect.
For example:
- Call enters Inbound Call Flow, Architect sets a Participant Data called Para_AcdStartTime then perform Transfer to ACD to Queue A
- In the In-queue Flow for Queue A, Architect sets another Participant Data called Para_InQueue
What we expect is ParaAcdStartTime will be under IVR participant while ParaInQueue will be under ACD participant. But the response from /api/v2/conversations/{conversationId} API shows that both attributes are in Customer participant. Below shows an extract of the response: { "id": "d387e537-0209-4a7e-826d-4bca3104ad6c", "startTime": "2022-08-22T06:06:53.199Z", "endTime": "2022-08-22T06:07:03.122Z", "participants": [ { "id": "629d5c45-fdf3-424a-8813-ecaddffb55be", "startTime": "2022-08-22T06:06:53.199Z", "endTime": "2022-08-22T06:07:03.114Z", "connectedTime": "2022-08-22T06:06:53.237Z", "queueId": "048fb7f9-c9c2-48d6-ac47-48f045c6cc9b", "purpose": "customer", "participantType": "External", "wrapupRequired": false, "attributes": { "Para_AcdStartTime": "2022-08-22T06:06:53.681Z", "Para_InQueue": "InQueueAttribute" } }, { "id": "453ee5a6-ecdf-4284-aef4-7daeaf5ba8dd", "startTime": "2022-08-22T06:06:53.203Z", "endTime": "2022-08-22T06:06:54.040Z", "connectedTime": "2022-08-22T06:06:53.207Z", "purpose": "ivr", "participantType": "IVR", "wrapupRequired": false, "attributes": {} }, { "id": "ade01d74-e388-4c48-9c2d-8fe00d7fb7cf", "startTime": "2022-08-22T06:06:54.061Z", "endTime": "2022-08-22T06:07:03.122Z", "connectedTime": "2022-08-22T06:06:54.065Z", "queueId": "048fb7f9-c9c2-48d6-ac47-48f045c6cc9b", "purpose": "acd", "participantType": "ACD", "wrapupRequired": false, "conversationRoutingData": { "queue": { "id": "048fb7f9-c9c2-48d6-ac47-48f045c6cc9b", "selfUri": "/api/v2/routing/queues/048fb7f9-c9c2-48d6-ac47-48f045c6cc9b" }, "priority": 0, "skills": [], "scoredAgents": [] }, "attributes": {} } ], "selfUri": "/api/v2/conversations/d387e537-0209-4a7e-826d-4bca3104ad6c" }
We would like to ask is this the expected behavior? Does the Set Participant Data action only set attributes in the first participant no matter where you use it?
Eos_Rios | 2022-08-22 14:59:51 UTC | #2
Would help to see an example of how you're trying to do the set.
CTINT_Frankie | 2022-08-23 01:27:10 UTC | #3
Thank you for the response. I am not sure what example I can give since we simply used Set Participant Data in Architect in Inbound Call Flow and In-queue Flow to set 2 different attributes respectively, made a couple of test calls then used /api/v2/conversations/{conversationId} API to retrieve said calls.
CTINT_Frankie | 2022-08-23 05:38:10 UTC | #4
Upon further consideration, I believe this question is more related to Architect than to API. I have moved this topic to Architect instead.
Eos_Rios | 2022-08-23 08:57:18 UTC | #5
That is behaving as expected/designed/intended then. Your customer is the one passing through those flows. "An attribute is a piece of information about a participant that travels with it throughout the interaction." Set Participant Data Action
The only way to put an attribute on a specific participant is to use PATCH /api/v2/conversations/calls/{conversationId}/participants/{participantId}/attributes, hence trying to understand what you were doing to see where it was going wrong.
CTINT_Frankie | 2022-08-23 08:57:14 UTC | #6
Thank you for the confirmation. We will retrieve the attributes from the first participant then.
system | 2022-09-23 08:58:01 UTC | #7
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: 15971