Files
interfaces/ts/platform/email.ts
T

74 lines
1.8 KiB
TypeScript
Raw Normal View History

2026-04-28 11:17:07 +00:00
import * as plugins from '../plugins.js';
export type TTemplates = 'default' | 'linkaction' | 'notification';
export interface IReq_SendEmail extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_SendEmail
> {
method: 'sendEmail';
request: {
title: string;
from: string;
to: string;
body: string;
attachments?: Array<{
name: string;
binaryAttachmentString: string;
}>;
};
response: {
responseId: string;
};
}
export interface IReq_RegisterRecipient extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_RegisterRecipient
> {
method: 'registerRecipient';
request: {
emailAddress: string;
};
response: {
status: 'ok' | 'not ok';
};
}
export interface IReq_CheckEmailStatus extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_CheckEmailStatus
> {
method: 'checkEmailStatus';
request: {
emailId: string;
};
response: {
status: string;
details?: { message: string };
};
}
export interface IReq_GetEmailStats extends plugins.typedrequestInterfaces.implementsTR<
plugins.typedrequestInterfaces.ITypedRequest,
IReq_GetEmailStats
> {
method: 'getEmailStats';
request: {
jwt: string;
};
response: {
totalEmailsSent: number;
totalEmailsDelivered: number;
totalEmailsBounced: number;
averageDeliveryTimeMs: number;
lastUpdated: string;
};
}
export type IReq_GetEMailStats = IReq_GetEmailStats;
export type IRequest_SendEmail = IReq_SendEmail;
export type IRequest_RegisterRecipient = IReq_RegisterRecipient;
export type IRequest_CheckEmailStatus = IReq_CheckEmailStatus;
export type IRequest_GetEMailStats = IReq_GetEmailStats;