Evo Voice

<back to all web services

ResendNotification

Requires Authentication
Requires any of the roles:SystemAdministrator, Manager, Customer
The following routes are available for this service:
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

HTTP + 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>