Alvaria Cloud Campaign REST API v2.0.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Overview
The Alvaria™ Cloud Outreach REST APIs enable developers to create applications that manage Outreach resources. All Alvaria™ Cloud resource instances are accessed through an Alvaria-supplied identifier. Before a specific resource instance can be updated, its properties must be retrieved through a GET operation. Specifically, the version property from the GET operation must be included in the properties of the PUT or PATCH operation that updates the entity instance. The version enforces the optimistic locking mechanism rules when multiple clients attempt to update the same resource simultaneously.
Outreach Campaign Considerations
Outreach allows modification of Outreach resource instances through the Outreach Campaign Manager, as well as programmatically through the API endpoints. This means that updates issued successfully through the API could subsequently change through the Outreach Campaign Manager and vice versa, inadvertently changing expected campaign behavior. This means that care must be taken when making Outreach resource changes in the Outreach Campaign Manager when using the REST APIs. In order to utilize the Outreach apis the outreachapi scope is required. All named entities are case sensitive and query parameters must therefore match in case.
Base URLs:
License: License: Creative Commons Attribution 4.0 International Public License
Authentication
-
oAuth2 authentication.
- Flow: client crendentials
- Authorization URL = https://myaspect.{region}.id.aspect-cloud.net/tokenservice/oauth2/access_token
| Scope | Scope Description |
|---|---|
| outreachapi | Manage the Outreach resources |
Exclusions
Retrieves exclusions (deprecated)
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusions \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusions HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v2/organizations/{orgId}/campaign/exclusions
This endpoint is deprecated. Use 'GET /via/v3/organizations/{orgId}/compliance/exclusions' as documented in the Alvaria™ Cloud Compliance REST API Guide.
Exclusions restrict records from being contacted. Using this API, the client can get all configured exclusions or a subset based on the query parameters specified.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| contactAddress | query | string | false | Contact address. This is used to get records associated with the specified contact address. |
| contactListName | query | string | false | Name of a contact list. This is used to get records associated with the specified contact list name. The valid contact list names can be retrieved using GET /campaign/lists endpoint |
| contactType | query | integer | false | Contact type. This is used to get records associated with the specified Contact Type. Valid ContactType values are: |
| fromStartTime | query | string(date-time) | false | Start time of an exclusion, specified in ISO 8601 format and in UTC time zone (1985-04-12T23:20:50.525Z). Specify start and end time in fromStartTime and toStartTime to get records having an exclusion start time between fromStartTime and toStartTime. It is mandatory to have both (fromStartTimeandtoStartTime). |
| toStartTime | query | string(date-time) | false | Start time of an exclusion, specified in ISO 8601 format and in UTC time zone (1985-04-12T23:20:50.525Z). Specify start and end time in fromStartTime and toStartTime to get records having an exclusion start time between fromStartTime and toStartTime. It is mandatory to have both (fromStartTime and toStartTime). |
| fromEndTime | query | string(date-time) | false | End time of an exclusion, specified in ISO 8601 format and in UTC time zone (1985-04-12T23:20:50.525Z). Specify start and end time in fromEndTime and toEndTime to get records having an exclusion end time between fromEndTime and toEndTime. It is mandatory to have both (fromEndTime and toEndTime). |
| toEndTime | query | string(date-time) | false | End time of an exclusion, specified in ISO 8601 format and in UTC time zone (1985-04-12T23:20:50.525Z). Specify start and end time in fromEndTime and toEndTime to get records having an exclusion end time between fromEndTime and toEndTime. It is mandatory to have both (fromEndTime and toEndTime). |
| fromCreatedTime | query | string(date-time) | false | Time an exclusion was created, specified in ISO 8601 format and in UTC time zone (1985-04-12T23:20:50.525Z). Specify start and end time in fromCreatedTimeandtoCreatedTime to get records having an exclusion created time between fromCreatedTime and toCreatedTime. It is mandatory to have both (fromCreatedTime and toCreatedTime). |
| toCreatedTime | query | string(date-time) | false | Time an exclusion was created, specified in ISO 8601 format and in UTC time zone (1985-04-12T23:20:50.525Z). Specify start and end time in fromCreatedTimeandtoCreatedTim to get records having an exclusion created time between fromCreatedTime and toCreatedTime. It is mandatory to have both (fromCreatedTime and toCreatedTime). |
| fromLastModifiedTime | query | string(date-time) | false | Time an exclusion was last modified, specified in ISO 8601 format and in UTC time zone (1985-04-12T23:20:50.525Z). Specify start and end time in fromLastModifiedTime and toLastModifiedTime to get records having a last modified time between fromLastModifiedTime and toLastModifiedTime. It is mandatory to have both (fromLastModifiedTime and toLastModifiedTime). |
| toLastModifiedTime | query | string(date-time) | false | Time an exclusion was last modified, specified in ISO 8601 format and in UTC time zone (1985-04-12T23:20:50.525Z). Specify start and end time in fromLastModifiedTime and toLastModifiedTime to get records having a last modified time between fromLastModifiedTime and toLastModifiedTime. It is mandatory to have both (fromLastModifiedTime and toLastModifiedTime). |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Detailed descriptions
contactType: Contact type. This is used to get records associated with the specified Contact Type. Valid ContactType values are: 0=Account 1=Voice 2=Email 3=SMS Text Message 4=Secondary Service Number(a custom exclusion number).
Example responses
200 Response
{
"kind": "via#exclusionCollection",
"accountControlItems": [
{
"kind": "via#exclusion",
"id": 123,
"contactType": 0,
"contactAddress": "09876322222",
"contactListName": "ContactList1"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionExclusionsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Creates a new exclusion (deprecated)
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusions \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"accountControlItems": [
{
"contactType": 0,
"contactAddress": "09876322222",
"contactListName": "ContactList1",
"reason": "Customer not available",
"startTime": "2017-11-03T23:20:50.525Z",
"endPattern": 1,
"endTime": "2017-11-12T23:20:50.525Z"
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusions',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusions HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v2/organizations/{orgId}/campaign/exclusions
This endpoint is deprecated. Use 'POST /via/v3/organizations/{orgId}/compliance/exclusions' as documented in the Alvaria™ Cloud Compliance REST API Guide.
This endpoint accepts single exclusion details in a request body array. If you specify multiple details, the request is rejected.
Body parameter
{
"accountControlItems": [
{
"contactType": 0,
"contactAddress": "09876322222",
"contactListName": "ContactList1",
"reason": "Customer not available",
"startTime": "2017-11-03T23:20:50.525Z",
"endPattern": 1,
"endTime": "2017-11-12T23:20:50.525Z"
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | ExclusionsInsertRequest | true | none |
Example responses
201 Response
{
"ids": [
{
"id": 123
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | ExclusionsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 409 | Conflict | Conflict | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Retrieves the properties for an exclusion (deprecated)
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusions/{exclusionId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusions/{exclusionId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusions/{exclusionId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v2/organizations/{orgId}/campaign/exclusions/{exclusionId}
This endpoint is deprecated. Use 'GET /via/v3/organizations/{orgId}/compliance/exclusions/{exclusionId}' as documented in the Alvaria™ Cloud Compliance REST API Guide.
Gets the properties for an exclusion instance specified by the exclusion identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| exclusionId | path | integer | true | Alvaria-generated unique identifier for the exclusion instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#exclusion",
"id": 123,
"version": 3,
"contactType": 1,
"contactAddress": "09876322222",
"contactListName": "ContactList1",
"reason": "Customer not available",
"creationTime": "2017-11-01T23:20:50.525Z",
"startTime": "2017-11-04T23:20:50.525Z",
"endPattern": 1,
"endTime": "2017-11-12T23:40:50.525Z",
"lastModifiedTime": "2017-11-04T13:20:50.525Z"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | ItemExclusionsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Modifies an exclusion (deprecated)
Code samples
# You can also use wget
curl -X PUT https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusions/{exclusionId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"version": 3,
"contactType": 1,
"contactAddress": "09876322222",
"contactListName": "ContactList1",
"reason": "Customer not availabl",
"startTime": "2017-11-03T03:20:50.525Z",
"endPattern": 1,
"endTime": "2017-11-12T23:20:50.525Z"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusions/{exclusionId}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusions/{exclusionId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PUT /via/v2/organizations/{orgId}/campaign/exclusions/{exclusionId}
This endpoint is deprecated. Use 'PUT /via/v3/organizations/{orgId}/compliance/exclusions/{exclusionId}' as documented in the Alvaria™ Cloud Compliance REST API Guide.
Modifies the properties for an exclusion instance specified by the exclusion identifier. This is a complete replacement of all the properties of the instance and therefore requires that all properties (even if not changing) be submitted with the request.
Body parameter
{
"version": 3,
"contactType": 1,
"contactAddress": "09876322222",
"contactListName": "ContactList1",
"reason": "Customer not availabl",
"startTime": "2017-11-03T03:20:50.525Z",
"endPattern": 1,
"endTime": "2017-11-12T23:20:50.525Z"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| exclusionId | path | integer | true | Alvaria-generated unique identifier for the exclusion instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | ExclusionsUpdateRequest | true | none |
Example responses
400 Response
{
"error": {
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
],
"code": 404,
"message": "Not Found"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | None |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 409 | Conflict | Conflict | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Deletes an exclusion (deprecated)
Code samples
# You can also use wget
curl -X DELETE https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusions/{exclusionId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusions/{exclusionId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusions/{exclusionId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
DELETE /via/v2/organizations/{orgId}/campaign/exclusions/{exclusionId}
This endpoint is deprecated. Use 'DELETE /via/v3/organizations/{orgId}/compliance/exclusions/{exclusionId}' as documented in the Alvaria™ Cloud Compliance REST API Guide.
Deletes an exclusion specified by the exclusion identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| exclusionId | path | integer | true | Alvaria-generated unique identifier for the exclusion instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
400 Response
{
"error": {
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
],
"code": 404,
"message": "Not Found"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 204 | No Content | No Content | None |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
ExclusionStatuses
Checks records against compliance rules to determine if dialing is allowed (deprecated)
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusionStatuses \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusionStatuses',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/exclusionStatuses HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v2/organizations/{orgId}/campaign/exclusionStatuses
This endpoint is deprecated. Use 'POST /via/v4/organizations/{orgId}/compliance/complianceStatuses' as documented in the Alvaria™ Cloud Compliance REST API Guide.
Using this API, a record (containing information such as account number, phone number, SMS number, Email, SSN(a custom exclusion number), customer name, number type, geocode and purpose) can validate against compliance rules such as exclusions, attempt tracker, message tracker and convenient call time to determine whether dialing is allowed. Each request must have contactList and one or more of the following: phoneNumber, accountNumber, email, sms, or ssn(a custom exclusion number). This operation returns a single record in a result set that contains the validation status against various types of compliance rules. After a contact attempt is made, the consumer of this API must call POST on the callAttempts endpoint to report the call attempt. If the record is restricted, it is not mandatory to call POST on the callAttempt endpoint. The attempt tracker and message tracker check wont perform on SMS or Email records, so callAttempts endpoint call is not required for SMS and Email records.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| phoneNumber | query | string | false | Phone number. This is the phone number to use when checking for exclusion status. |
| accountNumber | query | string | false | Account number. This is the account number to use when checking for exclusion status. |
| query | string | false | Email address. This is the email address to use when checking for exclusion status. If email is not empty then this record wont check againt attempt tracker and message tracker rules | |
| sms | query | string | false | SMS phone number. This is the phone number to use when checking for SMS exclusion status. If SMS phone number is not empty then this record wont check againt attempt tracker and message tracker rules |
| ssn | query | string | false | Secondary service number(a custom exclusion number). This is the custom exclusion number value to use when checking for exclusion status. |
| customer | query | string | false | Customer name. This is the customer name to use when checking for exclusion status. |
| contactList | query | string | false | Contact list name. This is the contact list name to use when checking for exclusion status. Provide 'ALL' as the default-value. |
| numberType | query | integer | false | Type of phone number. Specify the number type of the phone number to dial. Possible values are 1 - Home Phone, 2 - Work Phone, 3 - Other Phone, and 4 - Wireless Phone. |
| geocode | query | string | false | Geocode of the phone number. This is the geocode of the phone number to dial. |
| purpose | query | string | false | Purpose associated with the phone number. This is the purpose name associated with the phone number to dial. |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#exclusionStatusCollection",
"accountControlQueryItems": [
{
"kind": "via#exclusionStatus",
"account": "10005",
"phone": "9121235477",
"email": "mail@server.com",
"sms": "9121235477",
"ssn": "AAA-GG-SSSS",
"contactListName": "ContactList1",
"result": 1,
"exclusionType": 5,
"customer": "ALBERT",
"expirationTimeForAttemptTracker": 3600,
"nextValidRecallTime": 0,
"playMessageType": 0,
"exclusionStartTime": "2017-04-12T23:20:50.525Z",
"key": "6#13#1505856041887601300"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionExclusionStatusesResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
CallAttempts
Reports status for a single call with the required information to Outreach (deprecated)
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/callAttempts \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"events": [
{
"customer": "ALBERT",
"phoneDialed": "9122355400",
"responseStatus": "BZ",
"timeOfAttempt": "2017-04-12T23:20:50.525Z",
"numberType": 1,
"geoCode": "USA",
"purposeName": "TelemarketingPurpose",
"key": "6#13#1505856041887601300"
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/callAttempts',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/callAttempts HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v2/organizations/{orgId}/campaign/callAttempts
This endpoint is deprecated. Use 'POST /via/v4/organizations/{orgId}/compliance/contactAttempts' as documented in the Alvaria™ Cloud Compliance REST API Guide.
The consumer of GET-exclusionStatuses must return their call status to Outreach using this interface. This call attempt information is used for attempt tracker and message tracker rules validation in the GET-exclusionStatuses API. No need of reporting SMS and Email attempts using this endpoint because SMS and Email wont consider for attempt tracking and message tracking rule validation.
Body parameter
{
"events": [
{
"customer": "ALBERT",
"phoneDialed": "9122355400",
"responseStatus": "BZ",
"timeOfAttempt": "2017-04-12T23:20:50.525Z",
"numberType": 1,
"geoCode": "USA",
"purposeName": "TelemarketingPurpose",
"key": "6#13#1505856041887601300"
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | CallAttemptsInsertRequest | true | none |
Example responses
400 Response
{
"error": {
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
],
"code": 404,
"message": "Not Found"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Accepted | None |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Lists
Inserts a record into a Fast Path list
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/lists/{listId}/fastPathRecords \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'via-client-sessionid: string' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"fastPathRecords": [
{
"fastPathRecord": "'100002 1111270744 1111565111 1111904784 1111310967 ALBERT AARBOR 5555 ADAMS STREET ANYTOWN 01900-1234 ALASKA UNITED STATES 50.01 31'",
"customFieldsStringCollection": [
{
"string": "record"
}
]
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'via-client-sessionid':'string',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/lists/{listId}/fastPathRecords',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/lists/{listId}/fastPathRecords HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
via-client-sessionid: string
Authorization: string
x-api-key: string
POST /via/v2/organizations/{orgId}/campaign/lists/{listId}/fastPathRecords
This API call inserts records into a Fast Path list and optionally sends events related to the record processing. If you do not require any event processing information, you can use POST /campaign/lists/{listId}/fastPathRecords endpoint without a streaming session. After a record is successfully inserted, the response will include a requestId only. The requestId identifies the inserted record and is associated with all responses for the record. If you want to receive event processing information, you must include the session ID value when invoking the POST /campaign/lists/{listId}/fastPathRecords endpoint. To obtain a sessionid, you must first create a streaming session with the call POST /streaming/session. The response to this request will contain a session ID. You must include this session ID in the via-client-sessionid header parameter when invoking the POST /campaign/lists/{listId}/fastPathRecords endpoint. If the via-client-sessionid header parameter is missing, no process events are generated. After a record is successfully inserted, the response will include a requestId and a sessionId. The requestId identifies the inserted record and is associated with all responses for the record. This is useful in a scenario in which a single streaming session is used for multiple insert record requests. The sessionId is the same as the via-client-sessionid that was passed in the request. The client can then retrieve record processing events by including the sessionId in the via-client-sessionid header parameter when using the call GET /streaming/events. The details of the record processing events are documented in the REST API Additional Documentation section. Follow this link to the Alvaria™ Cloud Streaming REST API if you would like to see the events generated by sending Fastpath requests.
Body parameter
{
"fastPathRecords": [
{
"fastPathRecord": "'100002 1111270744 1111565111 1111904784 1111310967 ALBERT AARBOR 5555 ADAMS STREET ANYTOWN 01900-1234 ALASKA UNITED STATES 50.01 31'",
"customFieldsStringCollection": [
{
"string": "record"
}
]
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| listId | path | integer | true | Alvaria-generated unique identifier for the list instance |
| via-client-sessionid | header | string | false | Identifier representing a long-lived HTTP interchange between Alvaria™ Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity. This needs to be provided if the client requires record status and disposition details, otherwise this is optional. |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | FastPathRecordsInsertRequest | true | none |
Example responses
201 Response
{
"fastPathResponseCollection": [
{
"sessionId": "1234143",
"requestId": "4534147"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | FastPathRecordsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Updates the filter assignment for dynamic or active sort lists
Code samples
# You can also use wget
curl -X PATCH https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/lists/{listId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"version": 8414880,
"filterName": "InitialLeadPhase"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/lists/{listId}',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/lists/{listId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PATCH /via/v2/organizations/{orgId}/campaign/lists/{listId}
This operation updates the contact list filter assignment for Dynamic and Active Sort lists. This does not apply other list types.
Body parameter
{
"version": 8414880,
"filterName": "InitialLeadPhase"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| listId | path | integer | true | Alvaria-generated unique identifier for the list instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | ListsPartialUpdateRequest | true | none |
Example responses
400 Response
{
"error": {
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
],
"code": 404,
"message": "Not Found"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | None |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 409 | Conflict | Conflict | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Gets the properties for a list
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/lists/{listId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/lists/{listId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/lists/{listId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v2/organizations/{orgId}/campaign/lists/{listId}
Gets the properties for a list instance specified by the list identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| listId | path | integer | true | Alvaria-generated unique identifier for the list instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#list",
"id": 234,
"version": 213,
"strategy": "TestStrategy",
"name": "BaseOutreachList1",
"description": "Test list",
"status": 0,
"filterName": "Filter1",
"penetration": 23,
"hitRate": 45,
"saturation": 50,
"exclusionFilter": "ExclusionList",
"listType": 0,
"purposeName": "TeleMarketting"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | ItemListsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Retrieves lists.
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/lists \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/lists',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/lists HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v2/organizations/{orgId}/campaign/lists
This will return all or a subset based on query parameters.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
| name | query | string | false | Name of the list |
| status | query | integer | false | List status. Possible values are |
| listType | query | integer | false | List type. Possible values are |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Detailed descriptions
status: List status. Possible values are 0 - Building 1 - Built 2 - Inactive 3 - Active 4 - Dialing 5 - Paused
listType: List type. Possible values are 0 - Static 1 - Dynamic 2 - FastPath 3 - ActiveSort
Example responses
200 Response
{
"kind": "via#listCollection",
"contactLists": [
{
"kind": "via#list",
"id": 123,
"name": "BaseOutreachList1"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionListsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Strategies
Returns strategy status
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/strategies/{strategyId}/statuses \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/strategies/{strategyId}/statuses',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/strategies/{strategyId}/statuses HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v2/organizations/{orgId}/campaign/strategies/{strategyId}/statuses
Gets the properties for a strategy instance specified by the identifier. This includes the current status, progress status, collection of detail statuses and last modified time. For example, Get strategies URL: /via/v2/organizations/{orgId}/campaign/strategies/4/statuses
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| strategyId | path | integer | true | Alvaria-generated unique identifier for the strategy instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#strategyStatusCollection",
"id": 537893998,
"description": "Product 1 Leads",
"lastModifiedTime": "2017-01-11 10:33:22",
"status": 0,
"progressStatus": "progressStatus",
"detailStatuses": [
{
"statusDescription": "'Lookup key: @ACCOUNT Lookup value: 100001 Field key @NUMBER2 Field value: 1234278900 Status : Field key not found'"
}
],
"totalItems": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionStatusesResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Update build records on strategies
Code samples
# You can also use wget
curl -X PATCH https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/strategies/{strategyId}/records \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"records": [
{
"lookupKey": "@ACCOUNT",
"lookupValue": "100001",
"fields": [
{
"fieldKey": "@NUMBER",
"fieldValue": "John Doe"
}
]
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/strategies/{strategyId}/records',
{
method: 'PATCH',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PATCH https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/strategies/{strategyId}/records HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PATCH /via/v2/organizations/{orgId}/campaign/strategies/{strategyId}/records
This operation updates the specified record fields in the Outreach strategy and applies only to dynamic lists. For example, updating the @Number value of a record. The request initiates the operation only. The operation may take some time to complete and a GET strategy lists request must be made to obtain the status about the completion of the update build record operation.
Body parameter
{
"records": [
{
"lookupKey": "@ACCOUNT",
"lookupValue": "100001",
"fields": [
{
"fieldKey": "@NUMBER",
"fieldValue": "John Doe"
}
]
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| strategyId | path | integer | true | Alvaria-generated unique identifier for the strategy instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | RecordsPartialUpdateRequest | true | Unique identifier for the resource |
Example responses
400 Response
{
"error": {
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
],
"code": 404,
"message": "Not Found"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Accepted | None |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 409 | Conflict | Conflict | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Inserts a record into the prospect database
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/strategies/{strategyId}/records \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"records": [
{
"items": [
{
"field": "@ACCOUNT",
"value": "100545"
}
]
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/strategies/{strategyId}/records',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/strategies/{strategyId}/records HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v2/organizations/{orgId}/campaign/strategies/{strategyId}/records
Inserts a record into the prospect database defined in the strategy identified by the input strategy id. The prospect database must already exist by performing a full build of this strategy. Records can be inserted into any strategy, except those that use FastPath list types. For Static and ActiveSort lists once the record is inserted, the list definition filters of the strategy are used to assign the inserted record to the appropriate list. It is acceptable to insert records into strategies with active lists.
Body parameter
{
"records": [
{
"items": [
{
"field": "@ACCOUNT",
"value": "100545"
}
]
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| strategyId | path | integer | true | Alvaria-generated unique identifier for the strategy instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | RecordsInsertRequest | true | none |
Example responses
201 Response
{
"id": 123
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | ExclusionInsertResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Retrieves strategies.
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/strategies \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/strategies',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/strategies HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v2/organizations/{orgId}/campaign/strategies
This will return all strategies or subset based on query parameters.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
| name | query | string | false | Strategy name |
| purposeName | query | string | false | Purpose associated with strategy |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#strategyCollection",
"projects": [
{
"kind": "via#strategy",
"id": 2341,
"name": "CreditcardStrategy"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionStrategiesResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Retrieves details of strategy
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/strategies/{strategyId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/strategies/{strategyId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/strategies/{strategyId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v2/organizations/{orgId}/campaign/strategies/{strategyId}
This will return details of a strategy.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| strategyId | path | integer | true | Alvaria-generated unique identifier for the strategy instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#strategy",
"id": 2341,
"version": 4,
"name": "CreditcardStrategy",
"description": "This is for creditcard tracking",
"status": 0,
"lastModifiedTime": "2017-04-12T23:20:50.525Z",
"lastBuildTime": "2017-04-12T23:20:50.525Z",
"purposeName": "TelemarketingPurpose"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | ItemStrategiesResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
TimeZones
Retrieve Timezone information
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/timeZones \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/timeZones',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/timeZones HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v2/organizations/{orgId}/campaign/timeZones
Retrieve Timezone information based on Postal code / Phone number. If provided the postal code will be searched on first. If a valid timezone is not determined from the postal code the area code and exchange of the phone number will be used to try to lookup a timezone. If a timezone is not determined, then an empty data object is returned with OK, code 200, instead of NOT FOUND, code 404.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| postalCode | query | string | false | A Postal code |
| phoneNumber | query | string | false | A Phone number |
| countryCode | query | string | false | A two character country code |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#Timezone",
"postalCode": "90210",
"phoneNumber": "5558889999",
"olsonName": "America/Los_Angeles",
"displayName": "(UTC-08:00) Pacific Time (US & Canada)",
"timezoneId": "33",
"countryCode": "US"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | ItemTimeZonesResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Retrieve time zone information
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/timeZones \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/timeZones',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/timeZones HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/campaign/timeZones
Retrieve time zone information based on postal code / country code / phone number. If provided the postal code will be searched on first using the country code as a qualifier. If a valid time zone is not determined from the postal code the area code and exchange of the phone number will be used to try to lookup a time zone. If a time zone is not determined, then an empty data set is returned with OK, code 200, instead of NOT FOUND, code 404. Empty postal code and phone number query parameters will return all supported timezones.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| postalCode | query | string | false | A Postal code |
| phoneNumber | query | string | false | A Phone number |
| countryCode | query | string | false | A two character country code |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#TimeZoneCollection",
"timeZones": [
{
"kind": "via#TimeZone",
"postalCode": "90210",
"phoneNumber": "5558889999",
"olsonName": "America/Detroit",
"displayName": "(UTC-05:00) Eastern Time (US & Canada)",
"timeZoneId": "18",
"countryCode": "US"
}
],
"totalItems": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionTimeZonesResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
AutomationScripts
Returns all automation scripts
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/automationScripts \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/automationScripts',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/automationScripts HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v2/organizations/{orgId}/campaign/automationScripts
Returns all automation scripts or a subset based on the query parameters specified. A script automates manual processes in the system. Scripts in Outreach can be created to automate the many tasks involved in running an outbound campaign.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| scriptName | query | string | false | Name of the automation script. |
| status | query | string | false | The current state of the automation script. This can be |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Detailed descriptions
status: The current state of the automation script. This can be '0' - Ok, '1' - Warning, '2' – Error
Example responses
200 Response
{
"kind": "via#automationScriptCollection",
"scripts": [
{
"kind": "via#automationScript",
"id": 123,
"scriptName": "automationScript1 ",
"runningState": false
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionAutomationScriptsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Gets the properties for an automation script instance
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/automationScripts/{automationScriptId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/automationScripts/{automationScriptId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/automationScripts/{automationScriptId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v2/organizations/{orgId}/campaign/automationScripts/{automationScriptId}
Gets the properties for an automation script instance specified by the automation script identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| automationScriptId | path | integer | true | Alvaria-generated unique identifier for the automationScript instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#automationScript",
"id": 123,
"scriptName": "BaseScript1",
"scriptDescription": "Base Script to Download NANP for Starter Kit",
"lastModifiedTime": "2017-11-04T13:20:50.525Z",
"runningState": false,
"status": 2,
"statusMessage": "Strategy is active",
"lastExecutedTime": "2017-11-04T13:20:50.525Z"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | ItemAutomationScriptsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Start automation script
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/automationScripts/{automationScriptId}/start \
-H 'Accept: application/json' \
-H 'via-client-sessionid: string' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'via-client-sessionid':'string',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/automationScripts/{automationScriptId}/start',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/automationScripts/{automationScriptId}/start HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
via-client-sessionid: string
Authorization: string
x-api-key: string
POST /via/v2/organizations/{orgId}/campaign/automationScripts/{automationScriptId}/start
Start automation Script for instance specified by the automation script identifier. A script automates manual processes in the system. If you want to receive event processing information, you must include the session ID value when invoking the POST /campaign/automationScripts/{automationScriptId}/start endpoint. To obtain a sessionid, you must first create a streaming session with the call POST /streaming/session. The response to this request will contain a session ID. You must include this session ID in the via-client-sessionid header parameter when invoking the POST /campaign/ automationScripts/{automationScriptId}/start endpoint. If the via-client-sessionid header parameter is missing, no process events are generated. The client can retrieve automation script status by including the sessionId in the via-client-sessionid header parameter when using the call GET /streaming/events. The details of the processing events are documented in the REST API Additional Documentation section. Follow this link if you would like to see the events generated by sending these requests.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| automationScriptId | path | integer | true | Alvaria-generated unique identifier for the automationScript instance |
| via-client-sessionid | header | string | false | Identifier representing a long-lived HTTP interchange between Alvaria™ Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity. This needs to be provided if the client requires automation script status, otherwise this is optional. |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
400 Response
{
"error": {
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
],
"code": 404,
"message": "Not Found"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | None |
| 202 | Accepted | Accepted | None |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Stop automation script
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/automationScripts/{automationScriptId}/stop \
-H 'Accept: application/json' \
-H 'via-client-sessionid: string' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'via-client-sessionid':'string',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/automationScripts/{automationScriptId}/stop',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/automationScripts/{automationScriptId}/stop HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
via-client-sessionid: string
Authorization: string
x-api-key: string
POST /via/v2/organizations/{orgId}/campaign/automationScripts/{automationScriptId}/stop
Stop automation Script for instance specified by the automation script identifier. If you want to receive event processing information, you must include the session ID value when invoking the POST /campaign/automationScripts/{automationScriptId}/stop endpoint. To obtain a sessionid, you must first create a streaming session with the call POST /streaming/session. The response to this request will contain a session ID. You must include this session ID in the via-client-sessionid header parameter when invoking the POST /campaign/ automationScripts/{automationScriptId}/stop endpoint. If the via-client-sessionid header parameter is missing, no process events are generated. The client can retrieve automation script status by including the sessionId in the via-client-sessionid header parameter when using the call GET /streaming/events. The details of the processing events are documented in the REST API Additional Documentation section. Follow this link if you would like to see the events generated by sending these requests.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| automationScriptId | path | integer | true | Alvaria-generated unique identifier for the automationScript instance |
| via-client-sessionid | header | string | false | Identifier representing a long-lived HTTP interchange between Alvaria™ Cloud and an entity when the entity is a contact, external client application, or authenticated user. This interchange is called the streaming session. Streaming sessions are used for operations such as exchanging text messages and retrieving events related to user activity. This needs to be provided if the client requires automation script status, otherwise this is optional. |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
400 Response
{
"error": {
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
],
"code": 404,
"message": "Not Found"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | None |
| 202 | Accepted | Accepted | None |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Purposes
Returns all the purposes
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/purposes \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/purposes',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/purposes HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v2/organizations/{orgId}/campaign/purposes
Returns all the purposes or a subset based on the query parameters specified
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#purposeCollection",
"purposes": [
{
"kind": "via#purpose",
"id": 1,
"friendlyName": [
{
"locale": "en-US",
"value": "TeleMarketing Purpose"
}
],
"purposeType": "Telemarketing"
}
],
"totalItems": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionPurposesResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
GeocodeTemplates
Returns all the geocode template names
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/geocodeTemplates \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/geocodeTemplates',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/geocodeTemplates HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v2/organizations/{orgId}/campaign/geocodeTemplates
Returns all the geocode template names
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#geocodeTemplateCollection",
"geocodeTemplates": [
{
"kind": "via#geocodeTemplate",
"friendlyName": [
{
"locale": "en-US",
"value": "Default"
}
],
"id": "Default"
}
],
"totalItems": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionGeocodeTemplatesResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Dispositions
Returns all the dispositions
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/dispositions \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/dispositions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/dispositions HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v2/organizations/{orgId}/campaign/dispositions
Returns all the dispositions or a subset based on the query parameters specified
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
| dispositionCode | query | string | false | Disposition status code |
| locallyTerminated | query | integer | false | Used for filtering Locally Terminated Dispositions. Supported values are |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Detailed descriptions
locallyTerminated: Used for filtering Locally Terminated Dispositions. Supported values are 1 - return locally terminated dispositions 0 - return non locally terminated dispositions
Example responses
200 Response
{
"kind": "via#dispositionCollection",
"dispositions": [
{
"kind": "via#disposition",
"id": 1,
"dispositionCode": "CB",
"friendlyName": [
{
"locale": "en-US",
"value": "Service Level Callback"
}
],
"dispositionType": "Agent"
}
],
"totalItems": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionDispositionsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
NumberTypes
Returns all the number types
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/numberTypes \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/numberTypes',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v2/organizations/{orgId}/campaign/numberTypes HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v2/organizations/{orgId}/campaign/numberTypes
Returns all the number types or a subset based on the query parameters specified
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#numberTypeCollection",
"numberTypes": [
{
"kind": "via#numberType",
"numberTypeCode": 1,
"friendlyName": [
{
"locale": "en-US",
"value": "HomePhone"
}
],
"id": "HomePhone"
}
],
"totalItems": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionNumberTypesResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Filters
Retrieve filters
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/filters \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/filters',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/filters HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/campaign/filters
This will return all filters or a subset based on query parameters.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
| filterName | query | string | false | Filter name |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#filterCollection",
"filters": [
{
"kind": "via#filter",
"id": "123",
"version": 1,
"filterName": "All",
"filterDescription": "Include all records",
"schemaId": "1",
"filterCriteria": "1=1",
"lastModifiedBy": "user1",
"lastModifiedDate": "2020-08-01T23:20:50Z"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionFiltersResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Create Filter Instance
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/filters \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"filterName": "All",
"filterDescription": "Catch all",
"schemaId": "5",
"filterCriteria": "1 = 1 order by DaysDelinquent"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/filters',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/filters HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/campaign/filters
This endpoint creates a single filter. Only 'Advanced' filters are supported. The filters must include a WHERE clause and may optionally include an ORDER BY clause.
Body parameter
{
"filterName": "All",
"filterDescription": "Catch all",
"schemaId": "5",
"filterCriteria": "1 = 1 order by DaysDelinquent"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | FiltersInsertRequest | true | none |
Example responses
201 Response
{
"id": "1",
"version": 1,
"filterName": "All",
"filterDescription": "Catch all",
"schemaId": "1",
"filterCriteria": "1 = 1 order by DaysDeliquent",
"lastModifiedBy": "User1",
"lastModifiedTime": "2020-08-01T23:20:50Z"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Created | FiltersResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 409 | Conflict | Conflict | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Retrieves a filter.
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/filters/{filterId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/filters/{filterId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/filters/{filterId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/campaign/filters/{filterId}
Gets the properties for a filter instance specified by the filter identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| filterId | path | string | true | Alvaria-generated unique identifier for the filter instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#filter",
"id": "1",
"version": 1,
"filterName": "All",
"filterDescription": "All Inclusive",
"schemaId": "5",
"filterCriteria": "1 = 1",
"lastModifiedBy": "aa00",
"lastModifiedDate": "2020-08-01T23:20:50Z"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | ItemFiltersResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Updates a filter.
Code samples
# You can also use wget
curl -X PUT https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/filters/{filterId} \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"version": 1,
"filterName": "All",
"filterDescription": "Catch all",
"schemaId": "5",
"filterCriteria": "1 = 1"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/filters/{filterId}',
{
method: 'PUT',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/filters/{filterId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
PUT /via/v3/organizations/{orgId}/campaign/filters/{filterId}
Modifies the properties for a filter instance specified by the filter identifier. This is a complete replacement of all the properties of the instance and therefore requires that all properties (even if not changing) be submitted with the request. Updating a filter through the APIs that is 'Basic' will automatically convert it to and 'Advanced' filter.
Body parameter
{
"version": 1,
"filterName": "All",
"filterDescription": "Catch all",
"schemaId": "5",
"filterCriteria": "1 = 1"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| filterId | path | string | true | Alvaria-generated unique identifier for the filter instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | FiltersUpdateRequest | true | none |
Example responses
200 Response
{
"kind": "via#filter",
"id": "1",
"version": 1,
"filterName": "All",
"filterDescription": "All Inclusive",
"schemaId": "5",
"filterCriteria": "1 = 1",
"lastModifiedBy": "aa00",
"lastModifiedDate": "2020-08-01T23:20:50Z"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | ItemFiltersResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 409 | Conflict | Conflict | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Deletes a filter.
Code samples
# You can also use wget
curl -X DELETE https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/filters/{filterId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/filters/{filterId}',
{
method: 'DELETE',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
DELETE https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/filters/{filterId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
DELETE /via/v3/organizations/{orgId}/campaign/filters/{filterId}
Deletes a filter specified by the filter identifier.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| filterId | path | string | true | Alvaria-generated unique identifier for the filter instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
400 Response
{
"error": {
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
],
"code": 404,
"message": "Not Found"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 204 | No Content | No Content | None |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 409 | Conflict | Conflict | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
SchemaDefinitions
Get a list of schema definitions
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/schemaDefinitions \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/schemaDefinitions',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/schemaDefinitions HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/campaign/schemaDefinitions
This will return all schema definitions or a subset based on query parameters.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
| schemaName | query | string | false | The name of the schema. |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#schemaDefinitionCollection",
"schemaDefinitions": [
{
"kind": "via#schemaDefinition",
"id": "1",
"tenantId": 1,
"schemaName": "BaseSchema",
"schemaDescription": "Base Schema",
"lastModifiedBy": "System (initial settings)",
"lastUpdatedDate": "2017-04-12T23:20:50.525Z"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionSchemaDefinitionsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Callbacks
Creates or updates a callback to the specified phone number.
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/callbacks \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"workTypeId": "1",
"memo": "My Callback",
"olsonTimeZone": "America/Chicago",
"phoneNumber": "9012314344",
"callbackDateTime": "2024-07-06T17:04:00.000Z",
"callbackType": "SameAgent",
"accountNumber": "10021224",
"secondaryServiceNumber": "12844532",
"customer": "10021224",
"userId": "13e4b576c800001",
"userDefinedData": [
"CDD1"
],
"numberType": 1
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/callbacks',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/callbacks HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/campaign/callbacks
Creates or updates a callback to the specified phone number. If a callback for the same phone number and work type already exists then it will be updated. The callback will not be assigned to any list.
Body parameter
{
"workTypeId": "1",
"memo": "My Callback",
"olsonTimeZone": "America/Chicago",
"phoneNumber": "9012314344",
"callbackDateTime": "2024-07-06T17:04:00.000Z",
"callbackType": "SameAgent",
"accountNumber": "10021224",
"secondaryServiceNumber": "12844532",
"customer": "10021224",
"userId": "13e4b576c800001",
"userDefinedData": [
"CDD1"
],
"numberType": 1
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | CallbacksInsertRequest | true | none |
Example responses
200 Response
{
"id": "123",
"workTypeId": "1",
"memo": "My Callback",
"olsonTimeZone": "America/Chicago",
"phoneNumber": "9012314344",
"callbackDateTime": "2024-07-06T17:04:00.000Z",
"callbackType": "SameAgent",
"accountNumber": "10021224",
"secondaryServiceNumber": "12844532",
"customer": "10021224",
"userId": "13e4b576c800001",
"userDefinedData": [
"CDD1"
],
"numberType": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CallbacksResponse |
| 201 | Created | Created | CallbacksResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Jobs
Get Exportable Items
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/exportableItems \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/exportableItems',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/exportableItems HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/campaign/jobs/exportableItems
Provides a listing of all exportable objects
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#exportableItemCollection",
"objectsTypes": [
{
"exportableObjects": [
{
"objectName": "STRATEGY_ABC",
"objectDescription": "Strategy used for 30 Day late",
"relatedItems": [
{
"objectType": "INPUTS",
"objectNames": "A, B, C"
}
]
}
],
"exportableObjectGroup": "TimeZoneTemplates"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionExportableItemsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Get importable items
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/importableItems?fileName=string \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/importableItems?fileName=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/importableItems?fileName=string HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/campaign/jobs/importableItems
Provides a listing of all importable objects
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| maxResults | query | integer | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
| startIndex | query | integer | false | Index of the starting record.This is used to set the beginning record for the result set when multiple GET Collection requests are required due to the pagination of a large result set. |
| fileName | query | string | true | Filename to provide import contents |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#importableItemCollection",
"objectsTypes": [
{
"kind": "via#importableItem",
"objects": [
{
"objectName": "STRATEGY_ABC",
"objectDescription": "Strategy used for 30 Day late",
"relatedItems": [
{
"objectType": "INPUTS",
"objectNames": "A, B, C"
}
]
}
],
"objectGroup": "TimeZoneTemplates"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionImportableItemsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Export Objects
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/export \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"fileName": "ExmapleFileName",
"zipComment": "Strategies exported from ABC machine",
"objectsToExport": [
{
"objectType": "STRATEGY",
"objectNames": [
"ABC_Strategy"
]
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/export',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/export HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/campaign/jobs/export
Export data as zip from Outreach to media location ‘exports/configuration/campaign’. This compressed zip file contain data in XML format which can be downloaded from the media storage location using mediaStorage endpoint.
Body parameter
{
"fileName": "ExmapleFileName",
"zipComment": "Strategies exported from ABC machine",
"objectsToExport": [
{
"objectType": "STRATEGY",
"objectNames": [
"ABC_Strategy"
]
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | ExportInsertRequest | true | Details of the objects to be exported |
Example responses
202 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"creationTime": "2020-08-01T23:20:50Z",
"lastModifiedTime": "2020-08-01T23:20:50Z"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Accepted | ExportResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Import Objects
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/import \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"fileName": "example.zip",
"dialerName": "OutreachVia-Default-Dialer",
"insertOnly": false,
"salt": "sal1",
"appendSalt": true,
"updateAll": false,
"ignoreErrors": false,
"objectsToImport": [
{
"objectType": "STRATEGY",
"objectNames": [
"ABC_Strategy"
]
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/import',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/import HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/campaign/jobs/import
Import compressed zip data to Outreach from media location ‘imports/configuration/campaign’. Prior to import this compressed zip file need to upload to media storage location
Body parameter
{
"fileName": "example.zip",
"dialerName": "OutreachVia-Default-Dialer",
"insertOnly": false,
"salt": "sal1",
"appendSalt": true,
"updateAll": false,
"ignoreErrors": false,
"objectsToImport": [
{
"objectType": "STRATEGY",
"objectNames": [
"ABC_Strategy"
]
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | ImportInsertRequest | true | Details of the objects to be imported |
Example responses
202 Response
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"creationTime": "2020-08-01T23:20:50Z",
"lastModifiedTime": "2020-08-01T23:20:50Z"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Accepted | ImportResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Get Jobs
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/campaign/jobs
Collection of all Export and Import Job information
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#jobCollection",
"jobs": [
{
"kind": "via#job",
"id": "9582fe3d-0ea9-4a72-9bfc-deb3febf2bc1",
"jobType": "Export",
"fileName": "example.zip",
"message": "inactive",
"jobStatus": "Pending",
"conflicts": false,
"conflictObjectName": "SchemaDefinitions"
}
],
"lastIndexReturned": 1,
"totalItems": 1
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | CollectionJobsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Get Job Instance
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/{jobId} \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/{jobId}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/{jobId} HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/campaign/jobs/{jobId}
Return specific job status information
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| jobId | path | string | true | Alvaria-generated unique identifier for the job instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#job",
"jobType": "Export",
"message": "inactive",
"jobStatus": "Pending",
"conflicts": false,
"conflictObjectName": "SchemaDefinition",
"conflictInfo": [
{
"name": "TESTABC"
}
]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | ItemJobsResponse |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Pause Job
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/{jobId}/pause \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/{jobId}/pause',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/{jobId}/pause HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/campaign/jobs/{jobId}/pause
Pauses an export or import job that is in a running state
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| jobId | path | string | true | Alvaria-generated unique identifier for the job instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
400 Response
{
"error": {
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
],
"code": 404,
"message": "Not Found"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Accepted | None |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Resume Job
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/{jobId}/resume \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/{jobId}/resume',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/{jobId}/resume HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/campaign/jobs/{jobId}/resume
Resumes an export or import job that is in a paused state
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| jobId | path | string | true | Alvaria-generated unique identifier for the job instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
400 Response
{
"error": {
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
],
"code": 404,
"message": "Not Found"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Accepted | None |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Abort Job
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/{jobId}/abort \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/{jobId}/abort',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/{jobId}/abort HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/campaign/jobs/{jobId}/abort
Aborts an export or import job that is in a paused state
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| jobId | path | string | true | Alvaria-generated unique identifier for the job instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
400 Response
{
"error": {
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
],
"code": 404,
"message": "Not Found"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Accepted | None |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Resolve Conflicts
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/{jobId}/conflict \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"configObjectName": "Dispositions",
"configRenameAll": true,
"configIgnoreAll": true,
"configSalt": "ABC",
"configAppend": true,
"conflictChanges": [
{
"originalName": "ABC",
"newName": "DEF"
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/{jobId}/conflict',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/campaign/jobs/{jobId}/conflict HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/campaign/jobs/{jobId}/conflict
Provides resolution for name conflicts
Body parameter
{
"configObjectName": "Dispositions",
"configRenameAll": true,
"configIgnoreAll": true,
"configSalt": "ABC",
"configAppend": true,
"conflictChanges": [
{
"originalName": "ABC",
"newName": "DEF"
}
]
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| orgId | path | string | true | Name of a customer organization |
| jobId | path | string | true | Alvaria-generated unique identifier for the job instance |
| Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
| x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
| body | body | ConflictInsertRequest | true | Collection of resolutions for conflict |
Example responses
400 Response
{
"error": {
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
],
"code": 404,
"message": "Not Found"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 202 | Accepted | Accepted | None |
| 400 | Bad Request | Bad Request | ErrorResponse |
| 401 | Unauthorized | Unauthorized | None |
| 404 | Not Found | Not Found | ErrorResponse |
| 405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
| 408 | Request Timeout | Request Timeout | ErrorResponse |
| 429 | Too Many Requests | Throttled | ErrorResponse |
| 500 | Internal Server Error | Internal Server Error | ErrorResponse |
Schemas
CollectionExclusionsResponse
{
"kind": "via#exclusionCollection",
"accountControlItems": [
{
"kind": "via#exclusion",
"id": 123,
"contactType": 0,
"contactAddress": "09876322222",
"contactListName": "ContactList1"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| accountControlItems | [TerseExclusionsResponse] | false | none | Collection of exclusions |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
| lastIndexReturned | integer | false | none | Final record returned in the result set of a GET Collection operation. This can be used as the startIndex query parameter value in a subsequent call for results.This property will be deprecated in the next version of the API. |
TerseExclusionsResponse
{
"kind": "via#exclusion",
"id": 123,
"contactType": 0,
"contactAddress": "09876322222",
"contactListName": "ContactList1"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| id | integer | false | none | Alvaria-generated unique identifier for the exclusion instance |
| contactType | integer | false | none | It can be 0-Account or 1-Voice or 2-Email or 3-SMS Text Message or 4-Secondary Service Number(a custom exclusion number) |
| contactAddress | string | false | none | The value (how the contact is made) of the contact address, such as account or phone number |
| contactListName | string | false | none | Excluded contact list name. If empty then exclusion applicable to all contact lists |
ExclusionsInsertRequest
{
"accountControlItems": [
{
"contactType": 0,
"contactAddress": "09876322222",
"contactListName": "ContactList1",
"reason": "Customer not available",
"startTime": "2017-11-03T23:20:50.525Z",
"endPattern": 1,
"endTime": "2017-11-12T23:20:50.525Z"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| accountControlItems | [ItemExclusionsInsertRequest] | false | none | Collection of exclusions |
ItemExclusionsInsertRequest
{
"contactType": 0,
"contactAddress": "09876322222",
"contactListName": "ContactList1",
"reason": "Customer not available",
"startTime": "2017-11-03T23:20:50.525Z",
"endPattern": 1,
"endTime": "2017-11-12T23:20:50.525Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| contactType | integer | false | none | It can be 0-Account or 1-Voice or 2-Email or 3-SMS Text Message or 4-Secondary Service Number(a custom exclusion number) |
| contactAddress | string | false | none | Contact address for a record. The value of this field would be the Account number or phone number or email address or SMS contact number or Secondary Service Number(a custom exclusion number) based on contactType |
| contactListName | string | false | none | Name of a contact list. If this is empty, the exclusion apply to all lists. The valid contact list names can retrieve using GET /campaign/lists endpoint |
| reason | string | false | none | Reason for exclusion |
| startTime | string(date-time) | false | none | Exclusion start time |
| endPattern | integer | false | none | Indicates status of endTime of exclusion 0 - No endTime set 1 - This exclusion having a valid end Time in endTime property |
| endTime | string(date-time) | false | none | Exclusion end time. If the endPattern property is set to zero (no End Time), then the endTime property is not applicable and should also be set to zero. |
ExclusionsResponse
{
"ids": [
{
"id": 123
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| ids | [ExclusionsIdsResponse] | false | none | ids |
ExclusionsIdsResponse
{
"id": 123
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer | false | none | Alvaria-generated unique identifier for the exclusion instance |
ItemExclusionsResponse
{
"kind": "via#exclusion",
"id": 123,
"version": 3,
"contactType": 1,
"contactAddress": "09876322222",
"contactListName": "ContactList1",
"reason": "Customer not available",
"creationTime": "2017-11-01T23:20:50.525Z",
"startTime": "2017-11-04T23:20:50.525Z",
"endPattern": 1,
"endTime": "2017-11-12T23:40:50.525Z",
"lastModifiedTime": "2017-11-04T13:20:50.525Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| id | integer | false | none | Alvaria-generated unique identifier for the exclusion instance |
| version | integer | false | none | Current version |
| contactType | integer | false | none | It can be 0-Account or 1-Voice or 2-Email or 3-SMS Text Message or 4-Secondary Service Number(a custom exclusion number) |
| contactAddress | string | false | none | The value (how the contact is made) of the contact address, such as account or phone number |
| contactListName | string | false | none | Name of a contact list. This is used to get records associated with the specified contact list name. If this is empty, the records apply to all lists |
| reason | string | false | none | Reason |
| creationTime | string(date-time) | false | none | Date and time the exclusion instance was created, specified in ISO 8601 format and in UTC time zone (1985-04-12T23:20:50.525Z) |
| startTime | string(date-time) | false | none | Exclusion start time |
| endPattern | integer | false | none | Indicates status of endTime of exclusion 0 - No endTime set 1 - This exclusion having a valid end Time in endTime property |
| endTime | string(date-time) | false | none | Exclusion end time. Refer endPattern for validity of this Time |
| lastModifiedTime | string(date-time) | false | none | Date and time of the most recent change to the exclusion instance, specified in ISO 8601 format and in UTC time zone (1985-04-12T23:20:50.525Z) |
ExclusionsUpdateRequest
{
"version": 3,
"contactType": 1,
"contactAddress": "09876322222",
"contactListName": "ContactList1",
"reason": "Customer not availabl",
"startTime": "2017-11-03T03:20:50.525Z",
"endPattern": 1,
"endTime": "2017-11-12T23:20:50.525Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| version | integer | false | none | version property must contain the value returned from the GET call for the entity to be changed |
| contactType | integer | false | none | It can be 0-Account or 1-Voice or 2-Email or 3-SMS Text Message or 4-Secondary Service Number(a custom exclusion number) |
| contactAddress | string | false | none | Contact address of a record. The value of this field would be the Account number or phone number or email address or SMS contact number or Secondary Service Number(a custom exclusion number) based on contactType |
| contactListName | string | false | none | Name of a contact list. If this is empty, the exclusion apply to all lists. The valid contact list names can retrieve using GET /campaign/lists endpoint |
| reason | string | false | none | Reason |
| startTime | string(date-time) | false | none | Exclusion start time |
| endPattern | integer | false | none | Indicates status of endTime of exclusion 0 - No endTime set 1 - This exclusion having a valid end Time in endTime property |
| endTime | string(date-time) | false | none | Exclusion end time. Refer endPattern for validity of this Time |
CollectionExclusionStatusesResponse
{
"kind": "via#exclusionStatusCollection",
"accountControlQueryItems": [
{
"kind": "via#exclusionStatus",
"account": "10005",
"phone": "9121235477",
"email": "mail@server.com",
"sms": "9121235477",
"ssn": "AAA-GG-SSSS",
"contactListName": "ContactList1",
"result": 1,
"exclusionType": 5,
"customer": "ALBERT",
"expirationTimeForAttemptTracker": 3600,
"nextValidRecallTime": 0,
"playMessageType": 0,
"exclusionStartTime": "2017-04-12T23:20:50.525Z",
"key": "6#13#1505856041887601300"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| accountControlQueryItems | [TerseExclusionStatusesResponse] | false | none | Collection of exclusionStatuses |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
| lastIndexReturned | integer | false | none | Final record returned in the result set of a GET Collection operation. This can be used as the startIndex query parameter value in a subsequent call for results.This property will be deprecated in the next version of the API. |
TerseExclusionStatusesResponse
{
"kind": "via#exclusionStatus",
"account": "10005",
"phone": "9121235477",
"email": "mail@server.com",
"sms": "9121235477",
"ssn": "AAA-GG-SSSS",
"contactListName": "ContactList1",
"result": 1,
"exclusionType": 5,
"customer": "ALBERT",
"expirationTimeForAttemptTracker": 3600,
"nextValidRecallTime": 0,
"playMessageType": 0,
"exclusionStartTime": "2017-04-12T23:20:50.525Z",
"key": "6#13#1505856041887601300"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| account | string | false | none | Accountnumber (if any) associated with exclusion item |
| phone | string | false | none | Phonenumber (if any) associated with exclusion item |
| string | false | none | Email address (if any) associated with exclusion item | |
| sms | string | false | none | SMS number (if any) associated with exclusion item |
| ssn | string | false | none | Secondary Service Number (custom exclusion number) (if any) associated with exclusion item |
| contactListName | string | false | none | Name of a contact list. This is used to get records associated with the specified contact list name. Will have the same value provided as 'contactlistname' query-param |
| result | integer | false | none | Value to identify whether the record is excluded from dialing or not. 0 = DoNotContact 1 = DoContact 2 = NotChecked |
| exclusionType | integer | false | none | Value to identify the record is excluded based on which rule. If 'result' parameter is 0 (indicating DoNotContact) then only the value for 'exclusionType' will have values other than 0 otherwise it will have default-value 0. 0 = Account 1 = Voice 2 = Email 3 = SMS 4 = SSN(a custom exclusion number) 5 = Customer 6 = PhoneDialed 7 = CustomerPhoneDialed 8 = VoiceConvenient 9 = CustomerConvenient |
| customer | string | false | none | Customer name |
| expirationTimeForAttemptTracker | integer | false | none | This is applicable only when the 'exclusionType' value 5 (Customer) or 6 (PhoneDialed) or 7 (CustomerPhoneDialed). This time is seconds, after this time record should be allowed to dial |
| nextValidRecallTime | integer | false | none | This is applicable only when the 'exclusionType' value 8 (VoiceConvenient) or 9 (CustomerConvenient). The record is allowed to dial only after this time specified in seconds |
| playMessageType | integer | false | none | This is applicable with message tracker configurations. It used to identify if IVR message can be played for the record 0 = Can Play 1 = Can Not Play 2 = Can Play Messages under certain conditions (telemarketing campaign) |
| exclusionStartTime | string(date-time) | false | none | Time (in seconds) indicating when the restriction will start for this record |
| key | string | false | none | The value returned in key property should be specified in POST on callAttempt end point. If key is empty then no need of calling POST on callAttempts end point |
CallAttemptsInsertRequest
{
"events": [
{
"customer": "ALBERT",
"phoneDialed": "9122355400",
"responseStatus": "BZ",
"timeOfAttempt": "2017-04-12T23:20:50.525Z",
"numberType": 1,
"geoCode": "USA",
"purposeName": "TelemarketingPurpose",
"key": "6#13#1505856041887601300"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| events | [ItemCallAttemptsInsertRequest] | false | none | Collection of callAttempts |
ItemCallAttemptsInsertRequest
{
"customer": "ALBERT",
"phoneDialed": "9122355400",
"responseStatus": "BZ",
"timeOfAttempt": "2017-04-12T23:20:50.525Z",
"numberType": 1,
"geoCode": "USA",
"purposeName": "TelemarketingPurpose",
"key": "6#13#1505856041887601300"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| customer | string | false | none | Custumer name |
| phoneDialed | string | false | none | Phone number dialed |
| responseStatus | string | false | none | Dispostion value based on which call attempts are being tracked |
| timeOfAttempt | string(date-time) | false | none | Contact time |
| numberType | integer | false | none | Specify the numberType of the phonenumber dialed. Possible values are 1- Home Phone 2 - Work Phone 3 - Other Phone 4 - Wireless Phone |
| geoCode | string | false | none | Specify the geocode of the phonenumber dialed. This can be empty |
| purposeName | string | false | none | Specify the purpose name associated with phonenumber dialed. This can be empty |
| key | string | false | none | Specify the key returned by GET on exclusionStatuses endpoint |
FastPathRecordsInsertRequest
{
"fastPathRecords": [
{
"fastPathRecord": "'100002 1111270744 1111565111 1111904784 1111310967 ALBERT AARBOR 5555 ADAMS STREET ANYTOWN 01900-1234 ALASKA UNITED STATES 50.01 31'",
"customFieldsStringCollection": [
{
"string": "record"
}
]
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| fastPathRecords | [ItemFastPathRecordsInsertRequest] | false | none | Collection of fastPathRecords |
ItemFastPathRecordsInsertRequest
{
"fastPathRecord": "'100002 1111270744 1111565111 1111904784 1111310967 ALBERT AARBOR 5555 ADAMS STREET ANYTOWN 01900-1234 ALASKA UNITED STATES 50.01 31'",
"customFieldsStringCollection": [
{
"string": "record"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| fastPathRecord | string | false | none | Record details which is matching the fastpath schema eg: FastPathRecord values matching to your FastPath schema like if you have @NUMBER, @ACCOUNT with each length of 4 in your schema then 11112222 should be record value. |
| customFieldsStringCollection | [FastPathRecordsCustomFieldsStringCollectionInsertRequest] | false | none | Custom information with record if any. It is string collection but takes only 3 string items. They will get stored in Outreach database. This is optional parameter.If you don’ t want to supply any custom information, then please pass empty collection as below along with fastPathRecord section in body. customFieldsStringCollection: [{}] |
FastPathRecordsCustomFieldsStringCollectionInsertRequest
{
"string": "record"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| string | string | false | none | record to insert |
FastPathRecordsResponse
{
"fastPathResponseCollection": [
{
"sessionId": "1234143",
"requestId": "4534147"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| fastPathResponseCollection | [FastPathRecordsFastPathResponseCollectionResponse] | false | none | Fastpaths response |
FastPathRecordsFastPathResponseCollectionResponse
{
"sessionId": "1234143",
"requestId": "4534147"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| sessionId | string | false | none | Alvaria-generated unique identifier for the Session. This name is used in all subsequent GET /streaming/events API calls. The sessionId is the same as the via-client-sessionId. |
| requestId | string | false | none | Alvaria-generated unique identifier for the fastPathRecord instance. The requestId identifies the inserted record and is associated with all responses for the record. |
CollectionStatusesResponse
{
"kind": "via#strategyStatusCollection",
"id": 537893998,
"description": "Product 1 Leads",
"lastModifiedTime": "2017-01-11 10:33:22",
"status": 0,
"progressStatus": "progressStatus",
"detailStatuses": [
{
"statusDescription": "'Lookup key: @ACCOUNT Lookup value: 100001 Field key @NUMBER2 Field value: 1234278900 Status : Field key not found'"
}
],
"totalItems": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| id | integer | false | none | Alvaria-generated unique identifier for the status instance |
| description | string | false | none | Description |
| lastModifiedTime | string(date-time) | false | none | Date and time of the most recent change to the strategy instance, specified in ISO 8601 format and in UTC time zone (1985-04-12T23:20:50.525Z) |
| status | integer | false | none | Current status of strategy. It can be 0 - Building, 1 - NotBuilt, 2 - Archiving, 3 - DeArchiving, 4 - BuildComplete, 5 - Appending, 6 - Estimating, 7 - Deleting, 8 - Uploading, 9 - AppendComplete, 10 - DeleteComplete, 11 - DeArchived, 12 - RecycleComplete, 13 - UpdateComplete, 14 - Updating, 15 - BuildFailed, 16 - AppendFailed, 17 - UpdateFailed, 18 - DeleteFailed, 19 - BuildAborted, 20 - AppendAborted, 21 - UpdateAborted, 22 - RecycleAborted, 23 - Recycling, 24 - RecycleFailed, 25 - UploadComplete, 26 - UploadFailed, 27 - EstimateComplete, 28 - EstimateFailed, 29 - DeArchiveFailed, 30 - UploadAborted, 31 - EstimateAborted, 32 - DeArchiveAborted, 33 - DeleteAborted, 34 - NoStatus, 35 - ResetCounters, 36 - ResetCountersComplete, 37 - ResetCountersFailed, 38 - ResetCountersAborted, 39 - ResetCountersCompleteWithErrors, 50 - ResetPasscount, 51 - ResetPasscountComplete, 52 - ResetPasscountFailed, 53 - ResetPasscountAborted, 54 - ResetPasscountCompleteWithErrors, 55 - DelayedBuild, 56 - DelayedAppend, 57 - DelayedUpdate, 58 - BuildCompleteWithErrors, 59 - DeArchivedCompleteWithErrors, 60 - AppendCompleteWithErrors, 61 - UpdateCompleteWithErrors, 62 - DeleteCompleteWithErrors, 63 - RecycleCompleteWithErrors, 64 - UploadCompleteWithErrors, 65 - EstimateCompleteWithErrors, 66 - UpdatingRecords, 67 - UpdateRecordsComplete, 68 - UpdateRecordsFailed, 69 - UpdateRecordsAborted, 70 - UpdateRecordsCompleteWithErrors, 71 - UpdateRecordsCompleteWithWarnings |
| progressStatus | string | false | none | progressStatus |
| detailStatuses | [TerseStatusesResponse] | false | none | Collection of detailed statuses |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
TerseStatusesResponse
{
"statusDescription": "'Lookup key: @ACCOUNT Lookup value: 100001 Field key @NUMBER2 Field value: 1234278900 Status : Field key not found'"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| statusDescription | string | false | none | Detailed status description |
RecordsPartialUpdateRequest
{
"records": [
{
"lookupKey": "@ACCOUNT",
"lookupValue": "100001",
"fields": [
{
"fieldKey": "@NUMBER",
"fieldValue": "John Doe"
}
]
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| records | [RecordsRecordsPartialUpdateRequest] | false | none | Collection of records |
RecordsRecordsPartialUpdateRequest
{
"lookupKey": "@ACCOUNT",
"lookupValue": "100001",
"fields": [
{
"fieldKey": "@NUMBER",
"fieldValue": "John Doe"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| lookupKey | string | false | none | Schema field which uniquely identify record |
| lookupValue | string | false | none | Schema field value which uniquely identify record |
| fields | [RecordsFieldsPartialUpdateRequest] | false | none | Collection of fields |
RecordsFieldsPartialUpdateRequest
{
"fieldKey": "@NUMBER",
"fieldValue": "John Doe"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| fieldKey | string | false | none | Schema field name |
| fieldValue | string | false | none | Schema field value |
RecordsInsertRequest
{
"records": [
{
"items": [
{
"field": "@ACCOUNT",
"value": "100545"
}
]
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| records | [ItemRecordsInsertRequest] | false | none | Collection of records |
ItemRecordsInsertRequest
{
"items": [
{
"field": "@ACCOUNT",
"value": "100545"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| items | [RecordsItemsInsertRequest] | false | none | records |
RecordsItemsInsertRequest
{
"field": "@ACCOUNT",
"value": "100545"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| field | string | false | none | Name of schema field |
| value | string | false | none | Value associated with schema field |
ListsPartialUpdateRequest
{
"version": 8414880,
"filterName": "InitialLeadPhase"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| version | integer | false | none | version |
| filterName | string | false | none | Filter name |
ItemListsResponse
{
"kind": "via#list",
"id": 234,
"version": 213,
"strategy": "TestStrategy",
"name": "BaseOutreachList1",
"description": "Test list",
"status": 0,
"filterName": "Filter1",
"penetration": 23,
"hitRate": 45,
"saturation": 50,
"exclusionFilter": "ExclusionList",
"listType": 0,
"purposeName": "TeleMarketting"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| id | integer | false | none | Alvaria-generated unique identifier for the list instance |
| version | integer | false | none | Current version |
| strategy | string | false | none | Strategy name |
| name | string | false | none | List name |
| description | string | false | none | Description about list |
| status | integer | false | none | List status. Possible values are 0 - Building 1 - Built 2 - Inactive 3 - Active 4 - Dialing 5 - Paused |
| filterName | string | false | none | Filter associated with list |
| penetration | integer | false | none | List penetration |
| hitRate | integer | false | none | List hit rate |
| saturation | integer | false | none | List saturation |
| exclusionFilter | string | false | none | Exclusion filter associated with list |
| listType | integer | false | none | Specify list type. Possible values are 0 - Static 1 - Dynamic 2 - FastPath 3 - ActiveSort |
| purposeName | string | false | none | Purpose name associated with list |
CollectionListsResponse
{
"kind": "via#listCollection",
"contactLists": [
{
"kind": "via#list",
"id": 123,
"name": "BaseOutreachList1"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| contactLists | [TerseListsResponse] | false | none | Collection of lists |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
| lastIndexReturned | integer | false | none | Final record returned in the result set of a GET Collection operation. This can be used as the startIndex query parameter value in a subsequent call for results.This property will be deprecated in the next version of the API. |
TerseListsResponse
{
"kind": "via#list",
"id": 123,
"name": "BaseOutreachList1"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| id | integer | false | none | Alvaria-generated unique identifier for the list instance |
| name | string | false | none | Name of the list |
CollectionStrategiesResponse
{
"kind": "via#strategyCollection",
"projects": [
{
"kind": "via#strategy",
"id": 2341,
"name": "CreditcardStrategy"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| projects | [TerseStrategiesResponse] | false | none | Collection of strategies |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
| lastIndexReturned | integer | false | none | Final record returned in the result set of a GET Collection operation. This can be used as the startIndex query parameter value in a subsequent call for results.This property will be deprecated in the next version of the API. |
TerseStrategiesResponse
{
"kind": "via#strategy",
"id": 2341,
"name": "CreditcardStrategy"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| id | integer | false | none | Alvaria-generated unique identifier for the strategy instance |
| name | string | false | none | Strategy name |
ItemStrategiesResponse
{
"kind": "via#strategy",
"id": 2341,
"version": 4,
"name": "CreditcardStrategy",
"description": "This is for creditcard tracking",
"status": 0,
"lastModifiedTime": "2017-04-12T23:20:50.525Z",
"lastBuildTime": "2017-04-12T23:20:50.525Z",
"purposeName": "TelemarketingPurpose"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| id | integer | false | none | Alvaria-generated unique identifier for the strategy instance |
| version | integer | false | none | Current version |
| name | string | false | none | Strategy name |
| description | string | false | none | Description of the Strategy |
| status | integer | false | none | Current status of strategy. This can be 0 - Building, 1 - NotBuilt, 2 - Archiving, 3 - DeArchiving, 4 - BuildComplete, 5 - Appending, 6 - Estimating, 7 - Deleting, 8 - Uploading, 9 - AppendComplete, 10 - DeleteComplete, 11 - DeArchived, 12 - RecycleComplete, 13 - UpdateComplete, 14 - Updating, 15 - BuildFailed, 16 - AppendFailed, 17 - UpdateFailed, 18 - DeleteFailed, 19 - BuildAborted, 20 - AppendAborted, 21 - UpdateAborted, 22 - RecycleAborted, 23 - Recycling, 24 - RecycleFailed, 25 - UploadComplete, 26 - UploadFailed, 27 - EstimateComplete, 28 - EstimateFailed, 29 - DeArchiveFailed, 30 - UploadAborted, 31 - EstimateAborted, 32 - DeArchiveAborted, 33 - DeleteAborted, 34 - NoStatus, 35 - ResetCounters, 36 - ResetCountersComplete, 37 - ResetCountersFailed, 38 - ResetCountersAborted, 39 - ResetCountersCompleteWithErrors, 50 - ResetPasscount, 51 - ResetPasscountComplete, 52 - ResetPasscountFailed, 53 - ResetPasscountAborted, 54 - ResetPasscountCompleteWithErrors, 55 - DelayedBuild, 56 - DelayedAppend, 57 - DelayedUpdate, 58 - BuildCompleteWithErrors, 59 - DeArchivedCompleteWithErrors, 60 - AppendCompleteWithErrors, 61 - UpdateCompleteWithErrors, 62 - DeleteCompleteWithErrors, 63 - RecycleCompleteWithErrors, 64 - UploadCompleteWithErrors, 65 - EstimateCompleteWithErrors, 66 - UpdatingRecords, 67 - UpdateRecordsComplete, 68 - UpdateRecordsFailed, 69 - UpdateRecordsAborted, 70 - UpdateRecordsCompleteWithErrors, 71 - UpdateRecordsCompleteWithWarnings |
| lastModifiedTime | string(date-time) | false | none | Date and time of the most recent change to the strategy instance, specified in ISO 8601 format and in UTC time zone (1985-04-12T23:20:50.525Z) |
| lastBuildTime | string(date-time) | false | none | Last build time |
| purposeName | string | false | none | Name of the purpose associated with strategy |
ItemTimeZonesResponse
{
"kind": "via#Timezone",
"postalCode": "90210",
"phoneNumber": "5558889999",
"olsonName": "America/Los_Angeles",
"displayName": "(UTC-08:00) Pacific Time (US & Canada)",
"timezoneId": "33",
"countryCode": "US"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| postalCode | string | false | none | The Postal code that was used in the Timezone lookup |
| phoneNumber | string | false | none | The phone number that was used in the Timezone lookup |
| olsonName | string | false | none | The Olson name for the Timezone found |
| displayName | string | false | none | String that describes this time zone, including representative cities and offset from UTC |
| timezoneId | string | false | none | Alvaria-generated unique identifier for the timezone |
| countryCode | string | false | none | The country code that was used in the Timezone lookup |
CollectionAutomationScriptsResponse
{
"kind": "via#automationScriptCollection",
"scripts": [
{
"kind": "via#automationScript",
"id": 123,
"scriptName": "automationScript1 ",
"runningState": false
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| scripts | [TerseAutomationScriptsResponse] | false | none | Collection of scripts |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
| lastIndexReturned | integer | false | none | Final record returned in the result set of a GET Collection operation. This can be used as the startIndex query parameter value in a subsequent call for results.This property will be deprecated in the next version of the API. |
TerseAutomationScriptsResponse
{
"kind": "via#automationScript",
"id": 123,
"scriptName": "automationScript1 ",
"runningState": false
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| id | integer | false | none | Alvaria-generated unique identifier for the automationScript instance |
| scriptName | string | false | none | Name of the automation script. |
| runningState | boolean | false | none | Show script running state. This can be false - script is not running, true - script is running |
ItemAutomationScriptsResponse
{
"kind": "via#automationScript",
"id": 123,
"scriptName": "BaseScript1",
"scriptDescription": "Base Script to Download NANP for Starter Kit",
"lastModifiedTime": "2017-11-04T13:20:50.525Z",
"runningState": false,
"status": 2,
"statusMessage": "Strategy is active",
"lastExecutedTime": "2017-11-04T13:20:50.525Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| id | integer | false | none | Alvaria-generated unique identifier for the automationScript instance |
| scriptName | string | false | none | Name of the automation script. |
| scriptDescription | string | false | none | Description of the automation script. |
| lastModifiedTime | string(date-time) | false | none | Show Time when the resource was updated last |
| runningState | boolean | false | none | Show script running state. This can be false - script is not running, true - script is running |
| status | integer | false | none | The current state of the automation script. This can be 0 - Ok, 1 - Warning, 2 - Error |
| statusMessage | string | false | none | Show the resource detail status description |
| lastExecutedTime | string(date-time) | false | none | Show Time when the resource was executed last |
CollectionPurposesResponse
{
"kind": "via#purposeCollection",
"purposes": [
{
"kind": "via#purpose",
"id": 1,
"friendlyName": [
{
"locale": "en-US",
"value": "TeleMarketing Purpose"
}
],
"purposeType": "Telemarketing"
}
],
"totalItems": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| purposes | [TersePurposesResponse] | false | none | Collection of purposes |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
TersePurposesResponse
{
"kind": "via#purpose",
"id": 1,
"friendlyName": [
{
"locale": "en-US",
"value": "TeleMarketing Purpose"
}
],
"purposeType": "Telemarketing"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| id | integer | false | none | Alvaria-generated unique identifier for the purpose instance |
| friendlyName | [PurposesFriendlyNameResponse] | false | none | Unique descriptive name for this Purpose instance |
| purposeType | string | false | none | Purpose type |
Enumerated Values
| Property | Value |
|---|---|
| purposeType | General |
| purposeType | Telemarketing |
PurposesFriendlyNameResponse
{
"locale": "en-US",
"value": "TeleMarketing Purpose"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | string | true | none | The IETF Language Tag. |
| value | string | true | none | The Localized value of the Purpose Name. |
CollectionGeocodeTemplatesResponse
{
"kind": "via#geocodeTemplateCollection",
"geocodeTemplates": [
{
"kind": "via#geocodeTemplate",
"friendlyName": [
{
"locale": "en-US",
"value": "Default"
}
],
"id": "Default"
}
],
"totalItems": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| geocodeTemplates | [TerseGeocodeTemplatesResponse] | false | none | Collection of geocode template names |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
TerseGeocodeTemplatesResponse
{
"kind": "via#geocodeTemplate",
"friendlyName": [
{
"locale": "en-US",
"value": "Default"
}
],
"id": "Default"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| friendlyName | [GeocodeTemplatesFriendlyNameResponse] | false | none | Unique descriptive name for this GeocodeTemplate instance |
| id | string | false | none | Alvaria-generated unique identifier for the geocodeTemplate instance |
GeocodeTemplatesFriendlyNameResponse
{
"locale": "en-US",
"value": "Default"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | string | true | none | The IETF Language Tag. |
| value | string | true | none | The Localized value of the GeocodeTemplate Name. |
CollectionDispositionsResponse
{
"kind": "via#dispositionCollection",
"dispositions": [
{
"kind": "via#disposition",
"id": 1,
"dispositionCode": "CB",
"friendlyName": [
{
"locale": "en-US",
"value": "Service Level Callback"
}
],
"dispositionType": "Agent"
}
],
"totalItems": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| dispositions | [TerseDispositionsResponse] | false | none | Collection of dispositions |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
TerseDispositionsResponse
{
"kind": "via#disposition",
"id": 1,
"dispositionCode": "CB",
"friendlyName": [
{
"locale": "en-US",
"value": "Service Level Callback"
}
],
"dispositionType": "Agent"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| id | integer | false | none | Alvaria-generated unique identifier for the disposition instance |
| dispositionCode | string | false | none | Disposition status code |
| friendlyName | [DispositionsFriendlyNameResponse] | false | none | Unique descriptive name for this Disposition instance |
| dispositionType | string | false | none | Disposition type |
Enumerated Values
| Property | Value |
|---|---|
| dispositionType | Agent |
| dispositionType | System |
| dispositionType | Raw |
DispositionsFriendlyNameResponse
{
"locale": "en-US",
"value": "Service Level Callback"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | string | true | none | The IETF Language Tag. |
| value | string | true | none | The Localized value of the Disposition Name. |
CollectionNumberTypesResponse
{
"kind": "via#numberTypeCollection",
"numberTypes": [
{
"kind": "via#numberType",
"numberTypeCode": 1,
"friendlyName": [
{
"locale": "en-US",
"value": "HomePhone"
}
],
"id": "HomePhone"
}
],
"totalItems": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| numberTypes | [TerseNumberTypesResponse] | false | none | Collection of number types |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
TerseNumberTypesResponse
{
"kind": "via#numberType",
"numberTypeCode": 1,
"friendlyName": [
{
"locale": "en-US",
"value": "HomePhone"
}
],
"id": "HomePhone"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| numberTypeCode | integer | false | none | Number type code used |
| friendlyName | [NumberTypesFriendlyNameResponse] | false | none | Unique descriptive name for this NumberType instance |
| id | string | false | none | Alvaria-generated unique identifier for the numberType instance |
NumberTypesFriendlyNameResponse
{
"locale": "en-US",
"value": "HomePhone"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| locale | string | true | none | The IETF Language Tag. |
| value | string | true | none | The Localized value of the NumberType Name. |
CollectionTimeZonesResponse
{
"kind": "via#TimeZoneCollection",
"timeZones": [
{
"kind": "via#TimeZone",
"postalCode": "90210",
"phoneNumber": "5558889999",
"olsonName": "America/Detroit",
"displayName": "(UTC-05:00) Eastern Time (US & Canada)",
"timeZoneId": "18",
"countryCode": "US"
}
],
"totalItems": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| timeZones | [TerseTimeZonesResponse] | false | none | Collection of time zone objects |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
TerseTimeZonesResponse
{
"kind": "via#TimeZone",
"postalCode": "90210",
"phoneNumber": "5558889999",
"olsonName": "America/Detroit",
"displayName": "(UTC-05:00) Eastern Time (US & Canada)",
"timeZoneId": "18",
"countryCode": "US"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| postalCode | string | false | none | The Postal code that was used in the Timezone lookup |
| phoneNumber | string | false | none | The phone number that was used in the Timezone lookup |
| olsonName | string | false | none | An Olson name of the time zone |
| displayName | string | false | none | String that describes this time zone, including representative cities and offset from UTC |
| timeZoneId | string | false | none | Alvaria-generated unique identifier for the timezone |
| countryCode | string | false | none | The country code that was used in the Timezone lookup |
CollectionFiltersResponse
{
"kind": "via#filterCollection",
"filters": [
{
"kind": "via#filter",
"id": "123",
"version": 1,
"filterName": "All",
"filterDescription": "Include all records",
"schemaId": "1",
"filterCriteria": "1=1",
"lastModifiedBy": "user1",
"lastModifiedDate": "2020-08-01T23:20:50Z"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| filters | [TerseFiltersResponse] | false | none | A collection of filters |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
| lastIndexReturned | integer | false | none | Final record returned in the result set of a GET Collection operation. This can be used as the startIndex query parameter value in a subsequent call for results. This property will be deprecated in the next version of the API. |
TerseFiltersResponse
{
"kind": "via#filter",
"id": "123",
"version": 1,
"filterName": "All",
"filterDescription": "Include all records",
"schemaId": "1",
"filterCriteria": "1=1",
"lastModifiedBy": "user1",
"lastModifiedDate": "2020-08-01T23:20:50Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| id | string | false | none | Alvaria-generated unique identifier for the filter instance |
| version | integer | false | none | The version of the filter entity. |
| filterName | string | false | none | The name of the filter |
| filterDescription | string | false | none | The description of the filter |
| schemaId | string | false | none | Optional id of the schema associated with the filter. Schema definition ids can be retrieved from the GET /schemaDefinitions endpoint. This is used for validating the filters against a particular schema from the UI. |
| filterCriteria | string | false | none | The string representation of the sql where clause definition of the filter. |
| lastModifiedBy | string | false | none | The user that last modified the filter. |
| lastModifiedDate | string(date-time) | false | none | The date time of the filter was last modified. |
FiltersInsertRequest
{
"filterName": "All",
"filterDescription": "Catch all",
"schemaId": "5",
"filterCriteria": "1 = 1 order by DaysDelinquent"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| filterName | string | true | none | The name of the filter. |
| filterDescription | string | false | none | The description of the filter. |
| schemaId | string | false | none | Optional id of the schema associated with the filter. Schema definition ids can be retrieved from the GET /schemaDefinitions endpoint. This is used for validating the filters against a particular schema from the UI. |
| filterCriteria | string | true | none | The criteria associated with the filter. It should contain the entire WHERE clause including any ORDER BY conditions. |
FiltersResponse
{
"id": "1",
"version": 1,
"filterName": "All",
"filterDescription": "Catch all",
"schemaId": "1",
"filterCriteria": "1 = 1 order by DaysDeliquent",
"lastModifiedBy": "User1",
"lastModifiedTime": "2020-08-01T23:20:50Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | false | none | Alvaria-generated unique identifier for the filter instance |
| version | integer | false | none | Current version |
| filterName | string | false | none | The name of the filter. |
| filterDescription | string | false | none | The description of the filter. |
| schemaId | string | false | none | Optional id of the schema associated with the filter. Schema definition ids can be retrieved from the GET /schemaDefinitions endpoint. This is used for validating the filters against a particular schema from the UI. |
| filterCriteria | string | false | none | The criteria associated with the filter. It should contain the entire WHERE clause including any ORDER BY conditions. |
| lastModifiedBy | string | false | none | User that last changed the instance. |
| lastModifiedTime | string(date-time) | false | none | Date and time of the most recent change to the instance. |
ItemFiltersResponse
{
"kind": "via#filter",
"id": "1",
"version": 1,
"filterName": "All",
"filterDescription": "All Inclusive",
"schemaId": "5",
"filterCriteria": "1 = 1",
"lastModifiedBy": "aa00",
"lastModifiedDate": "2020-08-01T23:20:50Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| id | string | false | none | Alvaria-generated unique identifier for the filter instance |
| version | integer | false | none | The version of the filter entity. |
| filterName | string | false | none | The name of the filter. |
| filterDescription | string | false | none | The description of the filter. |
| schemaId | string | false | none | Optional id of the schema associated with the filter. Schema definition ids can be retrieved from the GET /schemaDefinitions endpoint. This is used for validating the filters against a particular schema from the UI. |
| filterCriteria | string | false | none | The criteria defined in this filter. |
| lastModifiedBy | string | false | none | The last user to touch this filter. |
| lastModifiedDate | string(date-time) | false | none | The time the filter was last modified. |
FiltersUpdateRequest
{
"version": 1,
"filterName": "All",
"filterDescription": "Catch all",
"schemaId": "5",
"filterCriteria": "1 = 1"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| version | integer | true | none | The version of the filter entity. |
| filterName | string | true | none | The name of the filter. |
| filterDescription | string | false | none | The description of the filter. |
| schemaId | string | false | none | Optional id of the schema associated with the filter. Schema definition ids can be retrieved from the GET /schemaDefinitions endpoint. This is used for validating the filters against a particular schema from the UI. |
| filterCriteria | string | true | none | The criteria associated with the filter. It should contain the entire WHERE clause including any ORDER BY conditions. |
CollectionSchemaDefinitionsResponse
{
"kind": "via#schemaDefinitionCollection",
"schemaDefinitions": [
{
"kind": "via#schemaDefinition",
"id": "1",
"tenantId": 1,
"schemaName": "BaseSchema",
"schemaDescription": "Base Schema",
"lastModifiedBy": "System (initial settings)",
"lastUpdatedDate": "2017-04-12T23:20:50.525Z"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| schemaDefinitions | [TerseSchemaDefinitionsResponse] | false | none | A collection of schema definitions. |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
| lastIndexReturned | integer | false | none | Final record returned in the result set of a GET Collection operation. This can be used as the startIndex query parameter value in a subsequent call for results. This property will be deprecated in the next version of the API. |
TerseSchemaDefinitionsResponse
{
"kind": "via#schemaDefinition",
"id": "1",
"tenantId": 1,
"schemaName": "BaseSchema",
"schemaDescription": "Base Schema",
"lastModifiedBy": "System (initial settings)",
"lastUpdatedDate": "2017-04-12T23:20:50.525Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| id | string | false | none | Alvaria-generated unique identifier for the schemaDefinition instance |
| tenantId | integer | false | none | Readonly property defining the tenant identifier |
| schemaName | string | false | none | The name of the schema definition. |
| schemaDescription | string | false | none | The description of the schema definition. |
| lastModifiedBy | string | false | none | The last user to modify this schema definition. |
| lastUpdatedDate | string(date-time) | false | none | Date and time of the most recent change to the schema definition instance, specified in ISO 8601 format and in UTC time zone (1985-04-12T23:20:50.525Z) |
CallbacksInsertRequest
{
"workTypeId": "1",
"memo": "My Callback",
"olsonTimeZone": "America/Chicago",
"phoneNumber": "9012314344",
"callbackDateTime": "2024-07-06T17:04:00.000Z",
"callbackType": "SameAgent",
"accountNumber": "10021224",
"secondaryServiceNumber": "12844532",
"customer": "10021224",
"userId": "13e4b576c800001",
"userDefinedData": [
"CDD1"
],
"numberType": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| workTypeId | string | true | none | Alvaria-generated unique identifier for the Outbound work type instance to be associated with the callback. The work type id can be retrieved from the url /via/v2/organizations/{orgId}/provisioning/workTypes?channelType=voice&direction=outreach. The 'id' retrieved from the url is a combination of short name and the worktype id (shortname.worktypeid) where the worktype id is to be used. |
| memo | string | false | none | Callback memo |
| olsonTimeZone | string | false | none | Olson timezone name(see https://www.iana.org/time-zones for more information) matching to the customer timezone. The valid olson timezones can be retrieved using GET /via/v3/organizations/{orgId}/campaign/timeZones endpoint. This value is used for AttemptTracker or ConvenientContactTime evaluation if enabled. |
| phoneNumber | string | true | none | Callback phone number |
| callbackDateTime | string(date-time) | true | none | Date and time of the callback, specified in ISO 8601 format and in UTC time zone |
| callbackType | string | true | none | Callback type |
| accountNumber | string | false | none | Account number. This value is used for Exclusion, AttemptTracker and ConvenientContactTime evaluation if enabled. |
| secondaryServiceNumber | string | false | none | Secondary service number. This value is used for Exclusion evaluation if enabled. |
| customer | string | false | none | Unique value that identifies an individual customer. This value is used for AttemptTracker or ConvenientContactTime evaluation if enabled. |
| userId | string | false | none | Alvaria-generated unique identifier for the user instance. Required for SameAgent type of callback only. User id assigned to the work type and this can be retrieved using the /via/v3/organizations/{orgId}/provisioning/users endpoint. |
| userDefinedData | [ItemCallbacksInsertRequest] | false | none | This contain the user defined data(CDD values) for the callback record. Maximum of 20 CDD fields are supported. |
| numberType | integer | false | none | Number type of the phone number. The valid number types can be retrieved using GET /via/v2/organizations/{orgId}/campaign/numberTypes endpoint. This value is used for AttemptTracker evaluation if enabled. |
Enumerated Values
| Property | Value |
|---|---|
| callbackType | ServiceLevel |
| callbackType | SameAgent |
ItemCallbacksInsertRequest
"CDD1"
Contact Data
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Contact Data |
CallbacksResponse
{
"id": "123",
"workTypeId": "1",
"memo": "My Callback",
"olsonTimeZone": "America/Chicago",
"phoneNumber": "9012314344",
"callbackDateTime": "2024-07-06T17:04:00.000Z",
"callbackType": "SameAgent",
"accountNumber": "10021224",
"secondaryServiceNumber": "12844532",
"customer": "10021224",
"userId": "13e4b576c800001",
"userDefinedData": [
"CDD1"
],
"numberType": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | false | none | Alvaria-generated unique identifier for the callback instance |
| workTypeId | string | false | none | Alvaria-generated unique identifier for the Outbound work type instance to be associated with the callback. The work type id can be retrieved from the url /via/v2/organizations/{orgId}/provisioning/workTypes?channelType=voice&direction=outreach. The 'id' retrieved from the url is a combination of short name and the worktype id (shortname.worktypeid) where the worktype id is to be used. |
| memo | string | false | none | Callback memo |
| olsonTimeZone | string | false | none | Olson timezone name(see https://www.iana.org/time-zones for more information) matching to the customer timezone. The valid olson timezones can be retrieved using GET /via/v3/organizations/{orgId}/campaign/timeZones endpoint. This value is used for AttemptTracker or ConvenientContactTime evaluation if enabled. |
| phoneNumber | string | false | none | Callback phone number |
| callbackDateTime | string(date-time) | false | none | Date and time of the callback, specified in ISO 8601 format and in UTC time zone |
| callbackType | string | false | none | Callback type |
| accountNumber | string | false | none | Account number. This value is used for Exclusion, AttemptTracker and ConvenientContactTime evaluation if enabled. |
| secondaryServiceNumber | string | false | none | Secondary service number. This value is used for Exclusion evaluation if enabled. |
| customer | string | false | none | Unique value that identifies an individual customer. This value is used for AttemptTracker or ConvenientContactTime evaluation if enabled. |
| userId | string | false | none | Alvaria-generated unique identifier for the user instance. Required for SameAgent type of callback only. User id assigned to the work type and this can be retrieved using the /via/v3/organizations/{orgId}/provisioning/users endpoint. |
| userDefinedData | [CallbacksUserDefinedDataResponse] | false | none | This contain the user defined data(CDD values) for the callback record. Maximum of 20 CDD fields are supported. |
| numberType | integer | false | none | Number type of the phone number. The valid number types can be retrieved using GET /via/v2/organizations/{orgId}/campaign/numberTypes endpoint. This value is used for AttemptTracker evaluation if enabled. |
Enumerated Values
| Property | Value |
|---|---|
| callbackType | ServiceLevel |
| callbackType | SameAgent |
CallbacksUserDefinedDataResponse
"CDD1"
Contact data
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Contact data |
CollectionExportableItemsResponse
{
"kind": "via#exportableItemCollection",
"objectsTypes": [
{
"exportableObjects": [
{
"objectName": "STRATEGY_ABC",
"objectDescription": "Strategy used for 30 Day late",
"relatedItems": [
{
"objectType": "INPUTS",
"objectNames": "A, B, C"
}
]
}
],
"exportableObjectGroup": "TimeZoneTemplates"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| objectsTypes | [TerseExportableItemsResponse] | false | none | Collection of exportable object types |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
| lastIndexReturned | integer | false | none | Final record returned in the result set of a GET Collection operation. This can be used as the startIndex query parameter value in a subsequent call for results. This property will be deprecated in the next version of the API. |
TerseExportableItemsResponse
{
"exportableObjects": [
{
"objectName": "STRATEGY_ABC",
"objectDescription": "Strategy used for 30 Day late",
"relatedItems": [
{
"objectType": "INPUTS",
"objectNames": "A, B, C"
}
]
}
],
"exportableObjectGroup": "TimeZoneTemplates"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| exportableObjects | [ExportableItemsExportableObjectsResponse] | false | none | Collection of exportable objects |
| exportableObjectGroup | string | false | none | Object Group Identifier |
ExportableItemsExportableObjectsResponse
{
"objectName": "STRATEGY_ABC",
"objectDescription": "Strategy used for 30 Day late",
"relatedItems": [
{
"objectType": "INPUTS",
"objectNames": "A, B, C"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| objectName | string | false | none | Name of the object |
| objectDescription | string | false | none | Description about the object |
| relatedItems | [ExportableItemsRelatedItemsResponse] | false | none | Collection of related Items |
ExportableItemsRelatedItemsResponse
{
"objectType": "INPUTS",
"objectNames": "A, B, C"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| objectType | string | false | none | Type of object |
| objectNames | string | false | none | List of values |
CollectionImportableItemsResponse
{
"kind": "via#importableItemCollection",
"objectsTypes": [
{
"kind": "via#importableItem",
"objects": [
{
"objectName": "STRATEGY_ABC",
"objectDescription": "Strategy used for 30 Day late",
"relatedItems": [
{
"objectType": "INPUTS",
"objectNames": "A, B, C"
}
]
}
],
"objectGroup": "TimeZoneTemplates"
}
],
"totalItems": 1,
"lastIndexReturned": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| objectsTypes | [TerseImportableItemsResponse] | false | none | Collection of importable object types |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
| lastIndexReturned | integer | false | none | Final record returned in the result set of a GET Collection operation. This can be used as the startIndex query parameter value in a subsequent call for results. This property will be deprecated in the next version of the API. |
TerseImportableItemsResponse
{
"kind": "via#importableItem",
"objects": [
{
"objectName": "STRATEGY_ABC",
"objectDescription": "Strategy used for 30 Day late",
"relatedItems": [
{
"objectType": "INPUTS",
"objectNames": "A, B, C"
}
]
}
],
"objectGroup": "TimeZoneTemplates"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| objects | [ImportableItemsObjectsResponse] | false | none | Collection of importable objects |
| objectGroup | string | false | none | Object group identifier |
ImportableItemsObjectsResponse
{
"objectName": "STRATEGY_ABC",
"objectDescription": "Strategy used for 30 Day late",
"relatedItems": [
{
"objectType": "INPUTS",
"objectNames": "A, B, C"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| objectName | string | false | none | Name of the object |
| objectDescription | string | false | none | Description about the object |
| relatedItems | [ImportableItemsRelatedItemsResponse] | false | none | Collection of related Items |
ImportableItemsRelatedItemsResponse
{
"objectType": "INPUTS",
"objectNames": "A, B, C"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| objectType | string | false | none | Type of object |
| objectNames | string | false | none | List of values |
ExportInsertRequest
{
"fileName": "ExmapleFileName",
"zipComment": "Strategies exported from ABC machine",
"objectsToExport": [
{
"objectType": "STRATEGY",
"objectNames": [
"ABC_Strategy"
]
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| fileName | string | true | none | Filename to be used for compressed data exported |
| zipComment | string | true | none | Description about the details of the data exported |
| objectsToExport | [ItemExportInsertRequest] | true | none | Objects to Export |
ItemExportInsertRequest
{
"objectType": "STRATEGY",
"objectNames": [
"ABC_Strategy"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| objectType | string | true | none | Type of the entity to be exported. The supported values are DISPOSITIONS, DISPOSITIONPLANS, DISPOSITIONGROUPS, CONTACTSTRATEGIES, HOLIDAYS, HOLIDAYSETS, FILTERS, FILTERPURPOSES, SCHEDULES, LISTTEMPLATE, PRIORITYTEMPLATE, TIMEZONETEMPLATE, AREACODETEMPLATE, POSTALCODETEMPLATE, COUNTERTEMPLATE, GEOCODETEMPLATE, WORKTYPETEMPLATE, SMSTEMPLATE, STRATEGY, BATCHUPLOAD, INPUTS, LISTDEFINITIONS, WORKTYPES, SCHEMADEFINITIONS |
| objectNames | [ExportObjectNamesInsertRequest] | true | none | Names of the objects to be exported |
ExportObjectNamesInsertRequest
"ABC_Strategy"
Name of the entity to be exported
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Name of the entity to be exported |
ExportResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"creationTime": "2020-08-01T23:20:50Z",
"lastModifiedTime": "2020-08-01T23:20:50Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | false | none | Alvaria-generated unique identifier for the job instance |
| creationTime | string | false | none | Date and time the object instance was created. |
| lastModifiedTime | string | false | none | Date and time of the most recent change to the instance. |
ImportInsertRequest
{
"fileName": "example.zip",
"dialerName": "OutreachVia-Default-Dialer",
"insertOnly": false,
"salt": "sal1",
"appendSalt": true,
"updateAll": false,
"ignoreErrors": false,
"objectsToImport": [
{
"objectType": "STRATEGY",
"objectNames": [
"ABC_Strategy"
]
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| fileName | string | true | none | The name of the zip file to import from media storage location ‘imports/configuration/campaign’ to Outreach |
| dialerName | string | false | none | Name of the dialer to be defaulted |
| insertOnly | boolean | false | none | If true only allow new inserts and prevent updates for an import |
| salt | string | false | none | Define a salt of up to 4 alphanumeric characters to be applied to any import items that may conflict with an existing item in the system |
| appendSalt | boolean | false | none | If true append the salt instead of prepend |
| updateAll | boolean | false | none | If true only update existing objects with the data from the import file |
| ignoreErrors | boolean | false | none | If true errors will be ignored during import |
| objectsToImport | [ItemImportInsertRequest] | true | none | Objects to Import |
ItemImportInsertRequest
{
"objectType": "STRATEGY",
"objectNames": [
"ABC_Strategy"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| objectType | string | true | none | Type of the entity to be imported. The supported values are DISPOSITIONS, DISPOSITIONPLANS, DISPOSITIONGROUPS, CONTACTSTRATEGIES, HOLIDAYS, HOLIDAYSETS, FILTERS, FILTERPURPOSES, SCHEDULES, LISTTEMPLATE, PRIORITYTEMPLATE, TIMEZONETEMPLATE, AREACODETEMPLATE, POSTALCODETEMPLATE, COUNTERTEMPLATE, GEOCODETEMPLATE, WORKTYPETEMPLATE, SMSTEMPLATE, STRATEGY, BATCHUPLOAD, INPUTS, LISTDEFINITIONS, WORKTYPES, SCHEMADEFINITIONS |
| objectNames | [ImportObjectNamesInsertRequest] | true | none | Names of the objects to be imported |
ImportObjectNamesInsertRequest
"ABC_Strategy"
Name of the entity to be imported
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | string | false | none | Name of the entity to be imported |
ImportResponse
{
"id": "99f31b29-b522-4203-beb4-60f2c714f473",
"creationTime": "2020-08-01T23:20:50Z",
"lastModifiedTime": "2020-08-01T23:20:50Z"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | string | false | none | Alvaria-generated unique identifier for the job instance |
| creationTime | string | false | none | Date and time the object instance was created. |
| lastModifiedTime | string | false | none | Date and time the object instance was created. |
CollectionJobsResponse
{
"kind": "via#jobCollection",
"jobs": [
{
"kind": "via#job",
"id": "9582fe3d-0ea9-4a72-9bfc-deb3febf2bc1",
"jobType": "Export",
"fileName": "example.zip",
"message": "inactive",
"jobStatus": "Pending",
"conflicts": false,
"conflictObjectName": "SchemaDefinitions"
}
],
"lastIndexReturned": 1,
"totalItems": 1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| jobs | [TerseJobsResponse] | false | none | Collection of jobs |
| lastIndexReturned | integer | false | none | Final record returned in the result set of a GET Collection operation. This can be used as the startIndex query parameter value in a subsequent call for results. This property will be deprecated in the next version of the API. |
| totalItems | integer | false | none | Total number of entity instances returned in the results. This property indicates the total number of records in the result set. The client can use this value to determine how many calls will be required to navigate through the entire result set. |
TerseJobsResponse
{
"kind": "via#job",
"id": "9582fe3d-0ea9-4a72-9bfc-deb3febf2bc1",
"jobType": "Export",
"fileName": "example.zip",
"message": "inactive",
"jobStatus": "Pending",
"conflicts": false,
"conflictObjectName": "SchemaDefinitions"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| id | string | false | none | Alvaria-generated unique identifier for the job instance |
| jobType | string | false | none | Type of job, supported types are Export and Import |
| fileName | string | false | none | File used in job request |
| message | string | false | none | Job status message |
| jobStatus | string | false | none | Status of job |
| conflicts | boolean | false | none | Indicate conflicts happened in import job |
| conflictObjectName | string | false | none | Indicates conflict object name |
ItemJobsResponse
{
"kind": "via#job",
"jobType": "Export",
"message": "inactive",
"jobStatus": "Pending",
"conflicts": false,
"conflictObjectName": "SchemaDefinition",
"conflictInfo": [
{
"name": "TESTABC"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results |
| jobType | string | false | none | Type of job, supported types are Export and Import |
| message | string | false | none | Job status message |
| jobStatus | string | false | none | Status of job |
| conflicts | boolean | false | none | Indicate conflicts happened for import job |
| conflictObjectName | string | false | none | Indicates conflict object name |
| conflictInfo | [JobsConflictInfoResponse] | false | none | Indicate the conflict item names |
JobsConflictInfoResponse
{
"name": "TESTABC"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| name | string | false | none | The original conflict object name |
ConflictInsertRequest
{
"configObjectName": "Dispositions",
"configRenameAll": true,
"configIgnoreAll": true,
"configSalt": "ABC",
"configAppend": true,
"conflictChanges": [
{
"originalName": "ABC",
"newName": "DEF"
}
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| configObjectName | string | true | none | The name of the import object that has a conflict that you are providing a resolution for. |
| configRenameAll | boolean | true | none | Enable rename of all conflicts with Salt |
| configIgnoreAll | boolean | true | none | Enable ignore conflict values |
| configSalt | string | true | none | Define a 4 character salt to a conflict value name |
| configAppend | boolean | true | none | Enable salt value be appended rather than prepended to conflict value |
| conflictChanges | [ItemConflictInsertRequest] | true | none | Collection of resolution name changes |
ItemConflictInsertRequest
{
"originalName": "ABC",
"newName": "DEF"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| originalName | string | true | none | Original name value that is causing a conflict |
| newName | string | true | none | Requested new name value to resolve conflict |
ExclusionInsertResponse
{
"id": 123
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| id | integer | false | none | Alvaria-generated unique identifier for the resource instance |
ErrorResponse
{
"error": {
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
],
"code": 404,
"message": "Not Found"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| error | ErrorResponseObj | false | none | none |
ErrorResponseObj
{
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
],
"code": 404,
"message": "Not Found"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| errors | [ErrorResponseItem] | false | none | none |
| code | integer | false | none | Error code |
| message | string | false | none | Error message. |
ErrorResponseItem
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| scope | string | false | none | Scope of the error |
| reason | string | false | none | Reason for failure |
| message | string | false | none | Message associated with failure |