Facades v1.0
Api used to support functionality to Genesys Cloud, Engage and other integrations
You are viewing REST API documentation. This documentation is auto-generated from a swagger specification which itself is generated from annotations in the source code of the project. It is possible that this documentation includes bugs and that code samples are incomplete or wrong.
Authentication
OAuth 2.0 Authorization. Authenticate using client credentials
Flow: clientCredentials
OAuth 2.0 Authorization URL = https://auvious.video/security/oauth/authorize
OAuth 2.0 Token URL = https://auvious.video/security/oauth/token
OAuth 2.0 Scope
Scope Scope Description any this is the default
HTTP Authentication, scheme: bearer jwt bearer token access
Facades Service
Api used to support functionality to Genesys Cloud, Engage and other integrations
Create a genesys callback (schedule)
POST https://auvious.video:443/security/genesys/callback HTTP/1.1
Host: auvious.video:443
Content-Type: application/json
Accept: application/json
X-OtpVerificationId: string
X-OtpCode: string
X-ApplicationId: string
X-UrlBase: string
X-Ticket-Expiration-Seconds: 0
Create a new genesys callback. Allowed with a valid otp code,verification id, or with client credentials. For request body schema check https://developer.genesys.cloud/api/rest/v2/conversations/#postConversationsCallbacks, with queueName added for convenience.
Request body
{
"callbackNumbers": [
"string"
],
"callbackScheduledTime": "string",
"callbackUserName": "string",
"countryCode": "string",
"data": {
"property1": "string",
"property2": "string"
},
"queueId": "string",
"queueName": "string",
"routingData": {
"languageId": "string",
"preferredAgentIds": [
"string"
],
"priority": 0,
"queueId": "string",
"queueName": "string",
"skillIds": [
"string"
]
},
"scriptId": "string",
"validateCallbackNumbers": true
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
X-OtpVerificationId | header | string | false | only for otp authentication |
X-OtpCode | header | string | false | only for otp authentication |
X-ApplicationId | header | string | true | mandatory, can be found at application settings page |
X-UrlBase | header | string | false | mandatory when using client credentials, e.g. https://auvious.video |
X-Ticket-Expiration-Seconds | header | integer(int32) | false | expiration seconds for ticket url (since the scheduled time). 4 hours (14400) is the default |
body | body | CreateGenesysCallbackCommand | false | none |
Responses
Overview
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CallbackResult |
201 | Created | Created | None |
401 | Unauthorized | Unauthorized | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | Not Found | None |
Examples
200 Response
{
"agentUrl": "string",
"conferenceId": "string",
"genesys": {
"callbackIdentifiers": [
{
"id": "string",
"type": "string"
}
],
"conversation": {
"id": "string",
"name": "string",
"selfUri": "string"
}
},
"ticketId": "string",
"ticketUrl": "string"
}
To perform this operation, you must be authenticated by means of one of the following methods: Client Credentials Flow ( Scopes: global ), Jwt ( Scopes: global ), None ( Scopes: global ), None ( Scopes: global ), None ( Scopes: global )
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X POST https://auvious.video:443/security/genesys/callback \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'X-OtpVerificationId: string' \ -H 'X-OtpCode: string' \ -H 'X-ApplicationId: string' \ -H 'X-UrlBase: string' \ -H 'X-Ticket-Expiration-Seconds: 0' \ -H 'Authorization: Bearer {access-token}'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"X-OtpVerificationId": []string{"string"},
"X-OtpCode": []string{"string"},
"X-ApplicationId": []string{"string"},
"X-UrlBase": []string{"string"},
"X-Ticket-Expiration-Seconds": []string{"0"},
"Authorization": []string{"Bearer {access-token}"},
}
var body []byte
// body = ...
req, err := http.NewRequest("POST", "https://auvious.video:443/security/genesys/callback", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const input = '{
"callbackNumbers": [
"string"
],
"callbackScheduledTime": "string",
"callbackUserName": "string",
"countryCode": "string",
"data": {
"property1": "string",
"property2": "string"
},
"queueId": "string",
"queueName": "string",
"routingData": {
"languageId": "string",
"preferredAgentIds": [
"string"
],
"priority": 0,
"queueId": "string",
"queueName": "string",
"skillIds": [
"string"
]
},
"scriptId": "string",
"validateCallbackNumbers": true
}';
const headers = {
'Content-Type': 'application/json', 'Accept': 'application/json', 'X-OtpVerificationId': 'string', 'X-OtpCode': 'string', 'X-ApplicationId': 'string', 'X-UrlBase': 'string', 'X-Ticket-Expiration-Seconds': '0', 'Authorization': 'Bearer {access-token}'
}
fetch('https://auvious.video:443/security/genesys/callback', {
method: 'POST',
body: input,
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video:443/security/genesys/callback");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'X-OtpVerificationId': 'string',
'X-OtpCode': 'string',
'X-ApplicationId': 'string',
'X-UrlBase': 'string',
'X-Ticket-Expiration-Seconds': '0',
'Authorization': 'Bearer {access-token}'
}
r = requests.post(
'https://auvious.video:443/security/genesys/callback',
params={},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'X-OtpVerificationId' => 'string',
'X-OtpCode' => 'string',
'X-ApplicationId' => 'string',
'X-UrlBase' => 'string',
'X-Ticket-Expiration-Seconds' => '0',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://auvious.video:443/security/genesys/callback',
params: {}, headers: headers
p JSON.parse(result)
Create room,ticket and return ticket and agent urls
POST https://auvious.video:443/security/genesys/room HTTP/1.1
Host: auvious.video:443
Content-Type: application/json
Accept: application/json
Create a new room, ticket and return the urls. Allowed from trusted clients that have authenticated using client credentials. Ticket url expires by default after 4 hours.
Request body
{
"applicationId": "string",
"cdestination": "callback",
"customerId": "string",
"interactionId": "string",
"organizationId": "string",
"ticketExpirationSeconds": 0,
"ticketLength": 0,
"urlBase": "string"
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
body | body | CreateRoomWebCommand | false | none |
Responses
Overview
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CreateRoomResult |
201 | Created | Created | None |
401 | Unauthorized | Unauthorized | None |
403 | Forbidden | Forbidden | None |
404 | Not Found | Not Found | None |
Examples
200 Response
{
"agentUrl": "string",
"recordingUrl": "string",
"ticketUrl": "string"
}
To perform this operation, you must be authenticated by means of one of the following methods: Client Credentials Flow ( Scopes: global ), Jwt ( Scopes: global ), None ( Scopes: global ), None ( Scopes: global ), None ( Scopes: global )
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X POST https://auvious.video:443/security/genesys/room \
-H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -H 'Authorization: Bearer {access-token}'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
var body []byte
// body = ...
req, err := http.NewRequest("POST", "https://auvious.video:443/security/genesys/room", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const input = '{
"applicationId": "string",
"cdestination": "callback",
"customerId": "string",
"interactionId": "string",
"organizationId": "string",
"ticketExpirationSeconds": 0,
"ticketLength": 0,
"urlBase": "string"
}';
const headers = {
'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': 'Bearer {access-token}'
}
fetch('https://auvious.video:443/security/genesys/room', {
method: 'POST',
body: input,
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video:443/security/genesys/room");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.post(
'https://auvious.video:443/security/genesys/room',
params={},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/json',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'https://auvious.video:443/security/genesys/room',
params: {}, headers: headers
p JSON.parse(result)
Schemas
CallbackIndentifier
{
"id": "string",
"type": "string"
}
CallbackIndentifier
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | The identifier of the callback. |
type | string | false | none | The type of the associated callback participant.Valid values: ACD, EXTERNAL. |
CallbackResult
{
"agentUrl": "string",
"conferenceId": "string",
"genesys": {
"callbackIdentifiers": [
{
"id": "string",
"type": "string"
}
],
"conversation": {
"id": "string",
"name": "string",
"selfUri": "string"
}
},
"ticketId": "string",
"ticketUrl": "string"
}
CallbackResult
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
agentUrl | string | false | none | a url for the agent to join |
conferenceId | string | false | none | the id of the conference created |
genesys | GenesysCreateCallbackResponse | false | none | Genesys create callback response |
ticketId | string | false | none | a ticket id which can be used to join the conference |
ticketUrl | string | false | none | a url for the customer to join |
Conversation
{
"id": "string",
"name": "string",
"selfUri": "string"
}
Conversation
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
name | string | false | none | none |
selfUri | string | false | none | none |
CreateGenesysCallbackCommand
{
"callbackNumbers": [
"string"
],
"callbackScheduledTime": "string",
"callbackUserName": "string",
"countryCode": "string",
"data": {
"property1": "string",
"property2": "string"
},
"queueId": "string",
"queueName": "string",
"routingData": {
"languageId": "string",
"preferredAgentIds": [
"string"
],
"priority": 0,
"queueId": "string",
"queueName": "string",
"skillIds": [
"string"
]
},
"scriptId": "string",
"validateCallbackNumbers": true
}
CreateGenesysCallbackCommand
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
callbackNumbers | [string] | false | none | phone number(s) of customer |
callbackScheduledTime | string | false | none | The scheduled date-time for the callback as an ISO-8601 string yyyy-MM-ddTHH:mm:ss.SSSZ |
callbackUserName | string | true | none | name of customer, which will be displayed on the agent workspace |
countryCode | string | false | none | none |
data | object | false | none | none |
» additionalProperties | string | false | none | none |
queueId | string | false | none | Id of queue where the callback will take place. You can omit this and use queueName if you find it difficult to locate the queue id. |
queueName | string | false | none | Can be used instead of queueId, which is more convenient |
routingData | RoutingData | false | none | none |
scriptId | string | false | none | none |
validateCallbackNumbers | boolean | false | none | none |
CreateRoomResult
{
"agentUrl": "string",
"recordingUrl": "string",
"ticketUrl": "string"
}
CreateRoomResult
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
agentUrl | string | false | none | none |
recordingUrl | string | false | none | none |
ticketUrl | string | false | none | none |
CreateRoomWebCommand
{
"applicationId": "string",
"cdestination": "callback",
"customerId": "string",
"interactionId": "string",
"organizationId": "string",
"ticketExpirationSeconds": 0,
"ticketLength": 0,
"urlBase": "string"
}
CreateRoomWebCommand
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
applicationId | string | false | none | which application to use |
cdestination | string | false | none | Conversation destination. Possible values: mobile-office : for calls from mobile office application interaction-widget: when opened from genesys interaction widget embedded: when created through workspace application e.g. from inside genesys standalone: when opened outside genesys workspace callback: when created for callback applications premise: when created for genesys engage (premise) |
customerId | string | false | none | customer id, e.g. interaction or conversation id |
interactionId | string | false | none | conversation/interaction id |
organizationId | string | false | none | only for access from internal service |
ticketExpirationSeconds | integer(int32) | false | none | ticket url expiration in seconds, 4 hours if not defined. |
ticketLength | integer(int32) | false | none | ticket length override |
urlBase | string | false | none | which url base to use, e.g. https://auvious.video |
Enumerated Values
Property | Value |
---|---|
cdestination | callback |
cdestination | embedded |
cdestination | interaction-widget |
cdestination | mobile-office |
cdestination | premise |
cdestination | standalone |
GenesysCreateCallbackResponse
{
"callbackIdentifiers": [
{
"id": "string",
"type": "string"
}
],
"conversation": {
"id": "string",
"name": "string",
"selfUri": "string"
}
}
GenesysCreateCallbackResponse
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
callbackIdentifiers | [CallbackIndentifier] | false | none | The list of communication identifiers for the callback participants. |
conversation | Conversation | false | none | The conversation associated with the callback |
RoutingData
{
"languageId": "string",
"preferredAgentIds": [
"string"
],
"priority": 0,
"queueId": "string",
"queueName": "string",
"skillIds": [
"string"
]
}
RoutingData
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
languageId | string | false | none | none |
preferredAgentIds | [string] | false | none | none |
priority | integer(int32) | false | none | none |
queueId | string | false | none | none |
queueName | string | false | none | none |
skillIds | [string] | false | none | none |