import { IExecuteFunctions, } from 'n8n-core'; import { IDataObject, INodeExecutionData, } from 'n8n-workflow'; import { apiRequest, } from '../../../transport'; export async function addCustomer(this: IExecuteFunctions, index: number): Promise { const email = this.getNodeParameter('email', index) as IDataObject; const { address, getSms, businessName, lastname, firstName, invoiceCcEmails, noEmail, notes, notificationEmail, phone, referredBy } = this.getNodeParameter('additionalFields', index) as IDataObject; const qs = {} as IDataObject; const requestMethod = 'POST'; const endpoint = 'customers'; let body = {} as IDataObject; let addressData = address as IDataObject; if (addressData) { addressData = addressData['addressFields'] as IDataObject; addressData.address_2 = addressData.address2; } body = { ...addressData, business_name: businessName, email, firstname: firstName, get_sms: getSms, invoice_cc_emails: (invoiceCcEmails as string[] || []).join(','), lastname, no_email: noEmail, notes, notification_email: notificationEmail, phone, referred_by: referredBy, }; let responseData; responseData = await apiRequest.call(this, requestMethod, endpoint, body, qs); return this.helpers.returnJsonArray(responseData.customer); }