Requires any of the roles: | SystemAdministrator, Manager, Customer |
PATCH | /files/{fileId} |
---|
"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 PatchFile {
/** @param {{fileId?:string,fileName?:string,customerId?:string,userId?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The ID of the file */
fileId;
/**
* @type {string}
* @description The new file name for the file */
fileName;
/**
* @type {string}
* @description The customer ID to associate with this file */
customerId;
/**
* @type {string}
* @description The ID of the user to associate with this file */
userId;
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PATCH /files/{fileId} HTTP/1.1
Host: team.evovoice.io
Accept: application/json
Content-Type: application/json
Content-Length: length
{"fileId":"String","fileName":"String","customerId":"String","userId":"String"}
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {"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"}