Evo Voice

<back to all web services

GetMyFiles

Gets the files associated with the authenticated user

Requires Authentication
Required role:User
The following routes are available for this service:
GET/app/files
"use strict";
export class EntityInfo {
    /** @param {{id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {string}
     * @description The ID of the object */
    id;
    /**
     * @type {string}
     * @description The date the object was created */
    dateCreated;
    /**
     * @type {string}
     * @description The date the object was last modified */
    dateLastModified;
    /**
     * @type {string}
     * @description The user that created this object */
    createdBy;
    /**
     * @type {string}
     * @description The user that last modified this object */
    lastModifiedBy;
}
/** @typedef {'Upload'|'VoiceMessage'|'CallRecording'|'Fax'|'Attachment'|'FaxOutgoing'} */
export var FileTypes;
(function (FileTypes) {
    FileTypes["Upload"] = "Upload"
    FileTypes["VoiceMessage"] = "VoiceMessage"
    FileTypes["CallRecording"] = "CallRecording"
    FileTypes["Fax"] = "Fax"
    FileTypes["Attachment"] = "Attachment"
    FileTypes["FaxOutgoing"] = "FaxOutgoing"
})(FileTypes || (FileTypes = {}));
export class CustomerBreadcrumb {
    /** @param {{id?:string,name?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    id;
    /** @type {string} */
    name;
}
export class FileInfo extends EntityInfo {
    /** @param {{type?:FileTypes,accountId?:string,accountName?:string,customerId?:string,customerName?:string,customerBreadcrumb?:CustomerBreadcrumb[],userId?:string,userName?:string,fileName?:string,uri?:string,contentType?:string,contentLength?:number,recordingSid?:string,recordingDuration?:number,recordingFrom?:string,transcription?:string,fromAddress?:string,toAddress?:string,aiTranscription?:string,id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
    constructor(init) { super(init); Object.assign(this, init) }
    /**
     * @type {FileTypes}
     * @description The type of file this is */
    type;
    /**
     * @type {string}
     * @description The account ID this file is associated with */
    accountId;
    /**
     * @type {string}
     * @description The name of the account this file is associated with */
    accountName;
    /**
     * @type {string}
     * @description The ID of the customer this file is associated with */
    customerId;
    /**
     * @type {string}
     * @description The name of the customer this file is associated with */
    customerName;
    /**
     * @type {CustomerBreadcrumb[]}
     * @description The breadcrumb to the customer for this file */
    customerBreadcrumb;
    /**
     * @type {string}
     * @description The ID of the user this file is assocaited with */
    userId;
    /**
     * @type {string}
     * @description The name of the user this file is associated with */
    userName;
    /**
     * @type {string}
     * @description The original file name for the file */
    fileName;
    /**
     * @type {string}
     * @description The URI of the file */
    uri;
    /**
     * @type {string}
     * @description The Content type of the file */
    contentType;
    /**
     * @type {number}
     * @description The size of the file */
    contentLength;
    /**
     * @type {string}
     * @description The Twilio ID of the recording */
    recordingSid;
    /**
     * @type {number}
     * @description The duration of the recording in seconds */
    recordingDuration;
    /**
     * @type {string}
     * @description Who is the recording from? */
    recordingFrom;
    /**
     * @type {string}
     * @description Transcription (if available) */
    transcription;
    /**
     * @type {string}
     * @description From Address (e.g. caller ID) for incoming calls */
    fromAddress;
    /**
     * @type {string}
     * @description To Address (e.g. dialed number) for outgoing calls */
    toAddress;
    /**
     * @type {string}
     * @description The AI transcription for this call */
    aiTranscription;
}
export class GetMyFilesResponse {
    /** @param {{files?:FileInfo[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {FileInfo[]} */
    files;
}
export class GetMyFiles {
    /** @param {{fileTypes?:FileTypes[]}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {FileTypes[]}
     * @description Filter by type */
    fileTypes;
}

JavaScript GetMyFiles DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /app/files HTTP/1.1 
Host: team.evovoice.io 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	files: 
	[
		{
			type: Upload,
			accountId: String,
			accountName: String,
			customerId: String,
			customerName: String,
			customerBreadcrumb: 
			[
				{
					id: String,
					name: String
				}
			],
			userId: String,
			userName: String,
			fileName: String,
			uri: String,
			contentType: String,
			contentLength: 0,
			recordingSid: String,
			recordingDuration: 0,
			recordingFrom: String,
			transcription: String,
			fromAddress: String,
			toAddress: String,
			aiTranscription: String,
			id: String,
			dateCreated: String,
			dateLastModified: String,
			createdBy: String,
			lastModifiedBy: String
		}
	]
}