🐛 Fix issue adding contact to list with Sendgrid (#2229)

This commit is contained in:
Ricardo Espinoza 2021-09-22 03:40:51 -04:00 committed by GitHub
parent 6461423a5c
commit 03bb16c0a5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -200,6 +200,7 @@ export class SendGrid implements INodeType {
if (operation === 'upsert') { if (operation === 'upsert') {
try { try {
const contacts = []; const contacts = [];
let lists;
for (let i = 0; i < length; i++) { for (let i = 0; i < length; i++) {
const email = this.getNodeParameter('email', i) as string; const email = this.getNodeParameter('email', i) as string;
const additionalFields = this.getNodeParameter( const additionalFields = this.getNodeParameter(
@ -251,7 +252,7 @@ export class SendGrid implements INodeType {
if (additionalFields.listIdsUi) { if (additionalFields.listIdsUi) {
const listIdValues = (additionalFields.listIdsUi as IDataObject).listIdValues as IDataObject; const listIdValues = (additionalFields.listIdsUi as IDataObject).listIdValues as IDataObject;
const listIds = listIdValues.listIds as IDataObject[]; const listIds = listIdValues.listIds as IDataObject[];
Object.assign(contact, { list_ids: listIds }); lists = listIds;
} }
if (additionalFields.customFieldsUi) { if (additionalFields.customFieldsUi) {
const customFields = (additionalFields.customFieldsUi as IDataObject).customFieldValues as IDataObject[]; const customFields = (additionalFields.customFieldsUi as IDataObject).customFieldValues as IDataObject[];
@ -262,8 +263,7 @@ export class SendGrid implements INodeType {
} }
contacts.push(contact); contacts.push(contact);
} }
responseData = await sendGridApiRequest.call(this, '/marketing/contacts', 'PUT', { contacts }, qs); responseData = await sendGridApiRequest.call(this, '/marketing/contacts', 'PUT', { list_ids: lists, contacts }, qs);
returnData.push(responseData); returnData.push(responseData);
} catch (error) { } catch (error) {
if (this.continueOnFail()) { if (this.continueOnFail()) {