Auvious Auth Server API v1.8.8-beta.0
Auvious Auth Server provides the core security related services.
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
HTTP Authentication, scheme: bearer
OAuth 2.0 Authorization.
Flow: clientCredentials
OAuth 2.0 Token URL = https://auvious.video/security/oauth/token
OAuth 2.0 Scope
Scope Scope Description
Facades Service
Create room,ticket and return ticket and agent urls
POST http://auvious.video/security/facades/room HTTP/1.1
Host: auvious.video
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
{
"organizationId": "string",
"applicationId": "string",
"urlBase": "string",
"customerId": "string",
"interactionId": "string",
"cdestination": "mobile-office, interaction-widget, standalone, embedded, premise, callback",
"ticketExpirationSeconds": 0,
"ticketLength": 0
}
Parameters
Parameter | In | Type | Required | Description |
---|---|---|---|---|
body | body | CreateRoomWebCommand | true | none |
Responses
Overview
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CreateRoomResult |
Examples
200 Response
{
"agentUrl": "string",
"ticketUrl": "string",
"recordingUrl": "string"
}
To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X POST http://auvious.video/security/facades/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", "http://auvious.video/security/facades/room", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const input = '{
"organizationId": "string",
"applicationId": "string",
"urlBase": "string",
"customerId": "string",
"interactionId": "string",
"cdestination": "mobile-office, interaction-widget, standalone, embedded, premise, callback",
"ticketExpirationSeconds": 0,
"ticketLength": 0
}';
const headers = {
'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': 'Bearer {access-token}'
}
fetch('http://auvious.video/security/facades/room', {
method: 'POST',
body: input,
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("http://auvious.video/security/facades/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(
'http://auvious.video/security/facades/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 'http://auvious.video/security/facades/room',
params: {}, headers: headers
p JSON.parse(result)
Create a genesys callback (schedule)
POST http://auvious.video/security/facades/callback HTTP/1.1
Host: auvious.video
Content-Type: application/json
Accept: */*
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
{
"scriptId": "string",
"queueId": "string",
"queueName": "string",
"routingData": {
"queueId": "string",
"queueName": "string",
"languageId": "string",
"priority": 0,
"skillIds": [
"string"
],
"preferredAgentIds": [
"string"
]
},
"callbackUserName": "string",
"callbackNumbers": [
"string"
],
"callbackScheduledTime": "string",
"countryCode": "string",
"validateCallbackNumbers": true,
"data": {
"property1": "string",
"property2": "string"
}
}
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 | true | none |
Responses
Overview
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | CallbackResult |
Examples
200 Response
To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X POST http://auvious.video/security/facades/callback \
-H 'Content-Type: application/json' \ -H 'Accept: */*' \ -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{"*/*"},
"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", "http://auvious.video/security/facades/callback", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const input = '{
"scriptId": "string",
"queueId": "string",
"queueName": "string",
"routingData": {
"queueId": "string",
"queueName": "string",
"languageId": "string",
"priority": 0,
"skillIds": [
"string"
],
"preferredAgentIds": [
"string"
]
},
"callbackUserName": "string",
"callbackNumbers": [
"string"
],
"callbackScheduledTime": "string",
"countryCode": "string",
"validateCallbackNumbers": true,
"data": {
"property1": "string",
"property2": "string"
}
}';
const headers = {
'Content-Type': 'application/json', 'Accept': '*/*', 'X-OtpVerificationId': 'string', 'X-OtpCode': 'string', 'X-ApplicationId': 'string', 'X-UrlBase': 'string', 'X-Ticket-Expiration-Seconds': '0', 'Authorization': 'Bearer {access-token}'
}
fetch('http://auvious.video/security/facades/callback', {
method: 'POST',
body: input,
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("http://auvious.video/security/facades/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': '*/*',
'X-OtpVerificationId': 'string',
'X-OtpCode': 'string',
'X-ApplicationId': 'string',
'X-UrlBase': 'string',
'X-Ticket-Expiration-Seconds': '0',
'Authorization': 'Bearer {access-token}'
}
r = requests.post(
'http://auvious.video/security/facades/callback',
params={},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => '*/*',
'X-OtpVerificationId' => 'string',
'X-OtpCode' => 'string',
'X-ApplicationId' => 'string',
'X-UrlBase' => 'string',
'X-Ticket-Expiration-Seconds' => '0',
'Authorization' => 'Bearer {access-token}'
}
result = RestClient.post 'http://auvious.video/security/facades/callback',
params: {}, headers: headers
p JSON.parse(result)
Schemas
CreateRoomWebCommand
{
"organizationId": "string",
"applicationId": "string",
"urlBase": "string",
"customerId": "string",
"interactionId": "string",
"cdestination": "mobile-office, interaction-widget, standalone, embedded, premise, callback",
"ticketExpirationSeconds": 0,
"ticketLength": 0
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
organizationId | string | false | none | only for access from internal service |
applicationId | string | true | none | which application to use |
urlBase | string | true | none | which url base to use, e.g. https://auvious.video |
customerId | string | false | none | customer id, e.g. interaction or conversation id |
interactionId | string | false | none | conversation/interaction id |
cdestination | string | false | none | ${swagger.api.facades.commands.create-room.notes} |
ticketExpirationSeconds | integer(int32) | false | none | ticket url expiration in seconds, 4 hours if not defined. |
ticketLength | integer(int32) | false | none | ticket length override |
Enumerated Values
Property | Value |
---|---|
cdestination | mobile-office, interaction-widget, standalone, embedded, premise, callback |
CreateRoomResult
{
"agentUrl": "string",
"ticketUrl": "string",
"recordingUrl": "string"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
agentUrl | string | false | none | none |
ticketUrl | string | false | none | none |
recordingUrl | string | false | none | none |
CreateGenesysCallbackCommand
{
"scriptId": "string",
"queueId": "string",
"queueName": "string",
"routingData": {
"queueId": "string",
"queueName": "string",
"languageId": "string",
"priority": 0,
"skillIds": [
"string"
],
"preferredAgentIds": [
"string"
]
},
"callbackUserName": "string",
"callbackNumbers": [
"string"
],
"callbackScheduledTime": "string",
"countryCode": "string",
"validateCallbackNumbers": true,
"data": {
"property1": "string",
"property2": "string"
}
}
check https://developer.genesys.cloud/api/rest/v2/conversations/#postConversationsCallbacks
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
scriptId | 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 |
callbackUserName | string | true | none | name of customer, which will be displayed on the agent workspace |
callbackNumbers | [string] | true | 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 |
countryCode | string | false | none | none |
validateCallbackNumbers | boolean | false | none | none |
data | object | false | none | none |
» additionalProperties | string | false | none | none |
RoutingData
{
"queueId": "string",
"queueName": "string",
"languageId": "string",
"priority": 0,
"skillIds": [
"string"
],
"preferredAgentIds": [
"string"
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
queueId | string | false | none | none |
queueName | string | false | none | none |
languageId | string | false | none | none |
priority | integer(int32) | false | none | none |
skillIds | [string] | false | none | none |
preferredAgentIds | [string] | false | none | none |
CallbackIndentifier
{
"type": "string",
"id": "string"
}
The list of communication identifiers for the callback participants.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | string | false | none | The type of the associated callback participant.Valid values: ACD, EXTERNAL. |
id | string | false | none | The identifier of the callback. |
CallbackResult
{
"conferenceId": "string",
"ticketId": "string",
"agentUrl": "string",
"ticketUrl": "string",
"genesys": {
"conversation": {
"id": "string",
"name": "string",
"selfUri": "string"
},
"callbackIdentifiers": [
{
"type": "string",
"id": "string"
}
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
conferenceId | string | false | none | the id of the conference created |
ticketId | string | false | none | a ticket id which can be used to join the conference |
agentUrl | string | false | none | a url for the agent to join |
ticketUrl | string | false | none | a url for the customer to join |
genesys | GenesysCreateCallbackResponse | false | none | Genesys create callback response |
Conversation
{
"id": "string",
"name": "string",
"selfUri": "string"
}
The conversation associated with the callback
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | none |
name | string | false | none | none |
selfUri | string | false | none | none |
GenesysCreateCallbackResponse
{
"conversation": {
"id": "string",
"name": "string",
"selfUri": "string"
},
"callbackIdentifiers": [
{
"type": "string",
"id": "string"
}
]
}
Genesys create callback response
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
conversation | Conversation | false | none | The conversation associated with the callback |
callbackIdentifiers | [CallbackIndentifier] | false | none | The list of communication identifiers for the callback participants. |