NAV Navigation
Shell Node.js HTTP

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

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.
email 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
email 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