curl --request GET \
--url https://api.messaging.phonovation.com/ccaas/voice/2/recording/metadata \
--header 'Authorization: <api-key>'import requests
url = "https://api.messaging.phonovation.com/ccaas/voice/2/recording/metadata"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://api.messaging.phonovation.com/ccaas/voice/2/recording/metadata");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
HttpResponse<String> response = Unirest.get("https://api.messaging.phonovation.com/ccaas/voice/2/recording/metadata")
.header("Authorization", "<api-key>")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.messaging.phonovation.com/ccaas/voice/2/recording/metadata",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.messaging.phonovation.com/ccaas/voice/2/recording/metadata', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"elements": [
{
"id": 1,
"recordingId": "11f1b111-1111-1111-a111-1111e11f111e",
"conversationId": "11f1b111-1111-1111-a111-1111e11f111a",
"conferenceId": "11f1b111-1111-1111-a111-1111e11f111b",
"callId": "11f1b111-1111-1111-a111-1111e11f111c",
"direction": "INBOUND",
"recordingStatus": "SUCCESSFUL",
"composed": false,
"filename": "11f1b111-1111-1111-a111-1111e11f111a_IDENTITY_20230612155341-11f1b111-1111-1111-a111-1111e11f111e.wav",
"duration": 28,
"participantId": "11f1b111-1111-1111-a111-1111e11f111d",
"participantIdentity": "customer1",
"participantName": "Customer 1",
"participantType": "CUSTOMER",
"mediaType": "AUDIO",
"startedAt": 1686585221999,
"deletedAt": null,
"deletedBy": null,
"sftpPath": null,
"transferredFrom": null,
"transferredTo": null,
"transferredFromQueue": null,
"transferredToQueue": null
},
{
"id": 2,
"recordingId": "52341263-0a22-1111-a1a1-1111bade8581",
"conversationId": "52341263-0a22-1111-a1a1-1111bade8582",
"conferenceId": "52341263-0a22-1111-a1a1-1111bade8583",
"callId": "52341263-0a22-1111-a1a1-1111bade8584",
"direction": "INBOUND",
"recordingStatus": "SUCCESSFUL",
"composed": false,
"filename": "52341263-0a22-1111-a1a1-1111bade8582_IDENTITY_20230612155341-52341263-0a22-1111-a1a1-1111bade8581.wav",
"duration": 28,
"participantId": "52341263-0a22-1111-a1a1-1111bade8584",
"participantIdentity": "agent1",
"participantName": "Agent 1",
"participantType": "AGENT",
"mediaType": "AUDIO",
"startedAt": 1686585221999,
"deletedAt": null,
"deletedBy": null,
"sftpPath": null,
"transferredFrom": null,
"transferredTo": null,
"transferredFromQueue": null,
"transferredToQueue": null
}
],
"total": 2,
"totalPages": 1
}Get recording metadata
Use this method to retrieve a pageable list of recording metadata based on parameters.
Required scope: Enable one of: conversations:manage, conversations:read.
curl --request GET \
--url https://api.messaging.phonovation.com/ccaas/voice/2/recording/metadata \
--header 'Authorization: <api-key>'import requests
url = "https://api.messaging.phonovation.com/ccaas/voice/2/recording/metadata"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://api.messaging.phonovation.com/ccaas/voice/2/recording/metadata");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "<api-key>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
HttpResponse<String> response = Unirest.get("https://api.messaging.phonovation.com/ccaas/voice/2/recording/metadata")
.header("Authorization", "<api-key>")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.messaging.phonovation.com/ccaas/voice/2/recording/metadata",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.messaging.phonovation.com/ccaas/voice/2/recording/metadata', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"elements": [
{
"id": 1,
"recordingId": "11f1b111-1111-1111-a111-1111e11f111e",
"conversationId": "11f1b111-1111-1111-a111-1111e11f111a",
"conferenceId": "11f1b111-1111-1111-a111-1111e11f111b",
"callId": "11f1b111-1111-1111-a111-1111e11f111c",
"direction": "INBOUND",
"recordingStatus": "SUCCESSFUL",
"composed": false,
"filename": "11f1b111-1111-1111-a111-1111e11f111a_IDENTITY_20230612155341-11f1b111-1111-1111-a111-1111e11f111e.wav",
"duration": 28,
"participantId": "11f1b111-1111-1111-a111-1111e11f111d",
"participantIdentity": "customer1",
"participantName": "Customer 1",
"participantType": "CUSTOMER",
"mediaType": "AUDIO",
"startedAt": 1686585221999,
"deletedAt": null,
"deletedBy": null,
"sftpPath": null,
"transferredFrom": null,
"transferredTo": null,
"transferredFromQueue": null,
"transferredToQueue": null
},
{
"id": 2,
"recordingId": "52341263-0a22-1111-a1a1-1111bade8581",
"conversationId": "52341263-0a22-1111-a1a1-1111bade8582",
"conferenceId": "52341263-0a22-1111-a1a1-1111bade8583",
"callId": "52341263-0a22-1111-a1a1-1111bade8584",
"direction": "INBOUND",
"recordingStatus": "SUCCESSFUL",
"composed": false,
"filename": "52341263-0a22-1111-a1a1-1111bade8582_IDENTITY_20230612155341-52341263-0a22-1111-a1a1-1111bade8581.wav",
"duration": 28,
"participantId": "52341263-0a22-1111-a1a1-1111bade8584",
"participantIdentity": "agent1",
"participantName": "Agent 1",
"participantType": "AGENT",
"mediaType": "AUDIO",
"startedAt": 1686585221999,
"deletedAt": null,
"deletedBy": null,
"sftpPath": null,
"transferredFrom": null,
"transferredTo": null,
"transferredFromQueue": null,
"transferredToQueue": null
}
],
"total": 2,
"totalPages": 1
}Authorizations
This is the most secure authorization type and the one with the most flexibility.
API keys can be generated by calling the dedicated API method. Furthermore, API keys can have a limited scope and cover only some API methods. Lastly, they can be revoked at any time. This range of possibilities makes API keys well suited for separating the API access rights across multiple applications or use cases. Finally, the loss of an API key is easily manageable.
You can manage your API keys from GUI, or programmatically with dedicated API.
API key Authorization header example:
Authorization: App 003026bbc133714df1834b8638bb496e-8f4b3d9a-e931-478d-a994-28a725159ab9
Query Parameters
Unique id of the recorded file.
Unique id of the conversation.
Unique id of the conference.
Unique id of the call.
Call direction of recorded file.
Filename of recorded file.
Participant id associated with the recorded file.
Participant identity associated with the recorded file.
Participant name associated with the recorded file.
Participant type associated with the recorded file.
Media type of recorded file.
Identity of the user who deleted the recorded file.
Identity of the user who has transferred the call.
Identity of the user to whom the call has been transferred.
Queue id from which the call has been transferred.
Queue id to which the call has been transferred.
Minimum duration to filter recorded files.
Maximum duration to filter recorded files.
Lower bound for filtering by recording start time.
Upper bound for filtering by recording start time.
Lower bound for filtering by deleted at time.
Upper bound for filtering by deleted at time.
Page number.
x >= 0Page size.
1 <= x <= 999Field by which the sorting will be done.
Type of sorting.
ASC, DESC Response
OK
Unique id of the recorded file.
Conversation id of the recorded file.
Conference id of the recorded file.
Call id of the recorded file.
Call direction of the recorded file.
Status of the recorded file.
Flag indicating whether the recorded file is composed.
Filename of the recorded file.
Duration of the recorded file in seconds.
Unique id of the participant associated with the recorded file.
Unique identity of the participant associated with the recorded file.
Participant name associated with the recorded file.
Participant type associated with the recorded file. Values can be either customer or agent.
Specifies recorded file type. Values can be either audio or audio and video.
Unix timestamp for when the recording started.
1686585221999
Unix timestamp for when the recorded file was deleted.
1686585221999
Identity of the user who deleted the recorded file.
Location of the recorded file on the SFTP server.
Identity of the user who has transferred the call.
Identity of the user to whom the call has been transferred.
Queue id from which the call has been transferred.
Queue id to which the call has been transferred.