06-18-2024 06:44 AM
Hello Experts,
We want to pass metadata from PCCE-Finesse to CalabrioOne.
We used the HTTP POST API call to https://calabriocloud.com/api/rest/recordingcontrols/metadata
and pass the JSON body:
But Calabrio API document says that we need to pass JSESSIONID in the header (got from https://calabriocloud.com/api/rest/authorize).
How do we build this integration? Please share your thoughts.
Thank you.
06-18-2024 07:25 AM
I think that Workflow will not be enough to make POST request to Calabrio. Prbobably you will need custom gadget to do that.
Why?
In my opinion to get JSESSIONID you will need to Authenticate - establish new session with Calabrio cloud before you can make metadata requests. Workflow allows you only to make a single request but not collection of requests.
As a reference you could use Sample Gadget to create this integration - Link
06-18-2024 08:39 AM
Thank you, Marek.
Experts, Are there other ways to solve for this - send metadata (essentially variables 1 through 10) from UCCE to CalabrioOne?
Any suggestions please?
Thank you.
06-18-2024 06:44 PM
You've changed what you're asking for, so what is the issue? In your first post Marek mentioned that you'll need to do this with a custom gadget there's no other way. In your second post you talk about just sending PVs, which an HTTP workflow should handle just fine.
david
06-18-2024 09:13 PM - edited 06-19-2024 02:22 AM
Hi David,
Sorry for the confusion, when I said metadata, I meant the PeripheralVariables (as in my JSON example).
I appreciate the answer from Marek. I haven't worked on Gadget, so I wanted to gather alternate ways that Experts have tackled the problem.
The HTTP Workflow in my initial post executed on the event; but it pops up a dialog-box in the Finesse Agent to enter credentials to - https://calabriocloud.com/
I followed this UCCX/Finesse Posts (https://community.cisco.com/t5/contact-center/uccx-passing-metadata-from-finesse-to-calabrio-call-recording/td-p/2950423)
Quoting from Calabrio One API Reference Guide - "When your credentials are accepted, you will receive a response that includes a session ID. The session ID must be included as a header in all subsequent API calls. This is how
Calabrio ONE verifies that you are logged in and authorized to use the APIs. Some API development tools like Postman will save the session ID and pass it back on subsequent requests without the need for intervention. Other API tools
require you to set the header manually. This session ID must be formatted in a key-value pair with “cookie” as the key and the session ID added after “hazelcast.sessionId=” as seen in the following key-value pair.
“cookie”: “hazelcast.sessionId=<The session ID as it appears in the Authorize API response>”
I am following the Postman Collection provided by Calabrio (https://www.postman.com/calabriose/workspace/calabrio-api-demo/request/807744-46ad06f8-5cb5-4697-a505-4919ecf04cc5)
06-19-2024 02:37 AM
06-18-2024 01:10 PM
I might be missing what you're trying to do, but if you're using UCCE and Calabrio, you can simply go into QM Configuration/Metadata Manager and add in the Peripheral Variables you want to have written to the Calabrio recordings, and you name them how you want. You don't have to set up any type of POST of the data.
06-18-2024 09:44 PM - edited 06-19-2024 01:53 AM
Thanks Bill. I had started by adding just a couple of metadata and selected ACD Data (as in the attached screenshot). The Read-Only attribute grays-out when I select an ACD Data. The Metadata fields are grayed out when I open the Interaction (as in the second screenshot).
Does this need any other change, flagging, or permission?
I tested this by removing my Workflow, but nothing is being written to these fields.
Thank you,
Dilip
06-19-2024 04:58 AM
Maybe you have a different version of Calabrio, but when I go into Metadata Manager I can just name the field, select what I want (like the various PVs or other infor), save it, and then it is set for all future recordings, see screenshot.
06-19-2024 11:45 AM - edited 06-19-2024 11:48 AM
Do you have a on prem recording server used by Calabrio One Cloud to sync the agents from your PCCE?
06-20-2024 09:33 AM
Hi Bryce,
I am not really familiar with the architecture/layout on this customer. But there are 03 on-prem servers and one of them is named the "RECSYNC".
06-20-2024 11:53 AM
We have something similar but instead of UCCE we are using UCCX on prem. I am curious, have you been able to make any progress? We have made some progress but still don't have a completely working solution yet. I can add some metadata text to a recorded call by post calling the api and using it's specific contact ID, but anything else I try to use won't work even though I get back a 200 response saying it was successful. For example if I try to use the device name, acdId or extension nothing gets added to the previously recorded call.
06-20-2024 10:10 PM - edited 06-20-2024 10:19 PM
If there is a valid sessionId passed, I am able to get the APIs to POST, GET data. What is the response that you get (for example:
The other thing to note, is that the Roles and Permissions for both - API user and agent - need the flag - Recording Controls --> Add Metadata Button.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide