Optional Parameters Typescript - Sendinblue API

Viewed 11

I have this

/**
     * sendNewsletterEmail
     * @param { SibApiV3Sdk.SendSmtpEmailTo[] } to 
     * @param { NewsEmailTemplate } template 
     * @param { TObject } params 
     * @param { SibApiV3Sdk.SendSmtpEmailAttachment[] } attachment 
     * @param { IUsersParsed } bccUsers 
     * @return { Promise<ISibApiV3CreateResponse> }
     */
    public static async sendNewsletterEmail(
        to: SibApiV3Sdk.SendSmtpEmailTo[],
        template: NewsEmailTemplate,
        params: TObject,
        attachment?: SibApiV3Sdk.SendSmtpEmailAttachment[],
        bccUsers?: IUsersParsed[]
    ): Promise<ISibApiV3CreateResponse> {
...}

Im calling it like this (I know its missing the if/else for bcc too)

if (emailAttachments.length) {
            response = await EmailMembership.sendNewsletterEmail(sendTo, template, params, emailAttachments, parsedBcc);
        } else {
            response = await EmailMembership.sendNewsletterEmail(sendTo, template, params, undefined, parsedBcc);
        }

I have tried passing the attachment as undefined but sendinblue doesnt accept it. This is my attachment class:

export declare class SendSmtpEmailAttachment {
    'url'?: string;
    'content'?: string;
    'name'?: string;
    static discriminator: string | undefined;
    static attributeTypeMap: Array<{
        name: string;
        baseName: string;
        type: string;
    }>;
    static getAttributeTypeMap(): {
        name: string;
        baseName: string;
        type: string;
    }[];
}

this is the error:

{
  "status": true,
  "date": "2022-09-23T12:56:38.586Z",
  "data": {
    "errno": "EAI_AGAIN",
    "code": "EAI_AGAIN",
    "syscall": "getaddrinfo",
    "hostname": "api.sendinblue.com",
    "host": "api.sendinblue.com",
    "port": 443
  }
}
```
0 Answers
Related