Requires any of the roles: | SystemAdministrator, Manager, Customer |
POST | /notifications/{notificationId}/resend |
---|
"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;
}
export class CustomerBreadcrumb {
/** @param {{id?:string,name?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/** @type {string} */
id;
/** @type {string} */
name;
}
/** @typedef {'Email'|'Sms'|'Push'|'IncomingCall'|'OutgoingCall'} */
export var NotificationTypes;
(function (NotificationTypes) {
NotificationTypes["Email"] = "Email"
NotificationTypes["Sms"] = "Sms"
NotificationTypes["Push"] = "Push"
NotificationTypes["IncomingCall"] = "IncomingCall"
NotificationTypes["OutgoingCall"] = "OutgoingCall"
})(NotificationTypes || (NotificationTypes = {}));
export class NotificationRecipientInfo {
/** @param {{address?:string,extra?:string,name?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The address of the recipient */
address;
/**
* @type {string}
* @description Extra info about the recipient e.g. CC, BCC */
extra;
/**
* @type {string}
* @description The name of the recipient */
name;
}
/** @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 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 NotificationInfo extends EntityInfo {
/** @param {{accountId?:string,accountName?:string,customerId?:string,customerName?:string,customerBreadcrumb?:CustomerBreadcrumb[],type?:NotificationTypes,subject?:string,body?:string,recipients?:NotificationRecipientInfo[],attachments?:FileInfo[],from?:string,to?:string,error?:boolean,errorMessage?:string,id?:string,dateCreated?:string,dateLastModified?:string,createdBy?:string,lastModifiedBy?:string}} [init] */
constructor(init) { super(init); Object.assign(this, init) }
/**
* @type {string}
* @description The account ID this endpoint is associated with */
accountId;
/**
* @type {string}
* @description The name of the account this endpoint is associated with */
accountName;
/**
* @type {string}
* @description The ID of the customer this endpoint is associated with */
customerId;
/**
* @type {string}
* @description The name of the customer this endpoint is associated with */
customerName;
/**
* @type {CustomerBreadcrumb[]}
* @description The breadcrumb to the customer for this endpoint */
customerBreadcrumb;
/**
* @type {NotificationTypes}
* @description The type of notification */
type;
/**
* @type {string}
* @description The subject of the notification */
subject;
/**
* @type {string}
* @description The body of the notification */
body;
/**
* @type {NotificationRecipientInfo[]}
* @description The recipients of this notification */
recipients;
/**
* @type {FileInfo[]}
* @description The list of attachments */
attachments;
/**
* @type {string}
* @description The original from for the session */
from;
/**
* @type {string}
* @description The original To for the session */
to;
/**
* @type {boolean}
* @description Was there an error? */
error;
/**
* @type {string}
* @description The error message */
errorMessage;
}
export class ResendNotification {
/** @param {{notificationId?:string}} [init] */
constructor(init) { Object.assign(this, init) }
/**
* @type {string}
* @description The ID of the notification to resend */
notificationId;
}
JavaScript ResendNotification DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /notifications/{notificationId}/resend HTTP/1.1
Host: team.evovoice.io
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<ResendNotification xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Notifications">
<NotificationId>String</NotificationId>
</ResendNotification>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <NotificationInfo xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Voice.Api.Notifications"> <CreatedBy xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</CreatedBy> <DateCreated xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</DateCreated> <DateLastModified xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</DateLastModified> <Id xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</Id> <LastModifiedBy xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</LastModifiedBy> <AccountId>String</AccountId> <AccountName>String</AccountName> <Attachments xmlns:d2p1="http://schemas.datacontract.org/2004/07/Voice.Api.Files"> <d2p1:FileInfo> <CreatedBy xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</CreatedBy> <DateCreated xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</DateCreated> <DateLastModified xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</DateLastModified> <Id xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</Id> <LastModifiedBy xmlns="http://schemas.datacontract.org/2004/07/Voice.Api">String</LastModifiedBy> <d2p1:AITranscription>String</d2p1:AITranscription> <d2p1:AccountId>String</d2p1:AccountId> <d2p1:AccountName>String</d2p1:AccountName> <d2p1:ContentLength>0</d2p1:ContentLength> <d2p1:ContentType>String</d2p1:ContentType> <d2p1:CustomerBreadcrumb xmlns:d4p1="http://schemas.datacontract.org/2004/07/Voice.Api.Customers"> <d4p1:CustomerBreadcrumb> <d4p1:Id>String</d4p1:Id> <d4p1:Name>String</d4p1:Name> </d4p1:CustomerBreadcrumb> </d2p1:CustomerBreadcrumb> <d2p1:CustomerId>String</d2p1:CustomerId> <d2p1:CustomerName>String</d2p1:CustomerName> <d2p1:FileName>String</d2p1:FileName> <d2p1:FromAddress>String</d2p1:FromAddress> <d2p1:RecordingDuration>0</d2p1:RecordingDuration> <d2p1:RecordingFrom>String</d2p1:RecordingFrom> <d2p1:RecordingSid>String</d2p1:RecordingSid> <d2p1:ToAddress>String</d2p1:ToAddress> <d2p1:Transcription>String</d2p1:Transcription> <d2p1:Type>Upload</d2p1:Type> <d2p1:Uri>String</d2p1:Uri> <d2p1:UserId>String</d2p1:UserId> <d2p1:UserName>String</d2p1:UserName> </d2p1:FileInfo> </Attachments> <Body>String</Body> <CustomerBreadcrumb xmlns:d2p1="http://schemas.datacontract.org/2004/07/Voice.Api.Customers"> <d2p1:CustomerBreadcrumb> <d2p1:Id>String</d2p1:Id> <d2p1:Name>String</d2p1:Name> </d2p1:CustomerBreadcrumb> </CustomerBreadcrumb> <CustomerId>String</CustomerId> <CustomerName>String</CustomerName> <Error>false</Error> <ErrorMessage>String</ErrorMessage> <From>String</From> <Recipients> <NotificationRecipientInfo> <Address>String</Address> <Extra>String</Extra> <Name>String</Name> </NotificationRecipientInfo> </Recipients> <Subject>String</Subject> <To>String</To> <Type>Email</Type> </NotificationInfo>