diff --git a/src/validate/validate.schema.ts b/src/validate/validate.schema.ts index 2b3cfe4f..48623021 100644 --- a/src/validate/validate.schema.ts +++ b/src/validate/validate.schema.ts @@ -380,6 +380,7 @@ export const contactMessageSchema: JSONSchema7 = { }, phoneNumber: { type: 'string', minLength: 10 }, organization: { type: 'string' }, + email: { type: 'string' }, }, required: ['fullName', 'wuid', 'phoneNumber'], ...isNotEmpty('fullName'), diff --git a/src/whatsapp/dto/sendMessage.dto.ts b/src/whatsapp/dto/sendMessage.dto.ts index 3c080f59..150719b2 100644 --- a/src/whatsapp/dto/sendMessage.dto.ts +++ b/src/whatsapp/dto/sendMessage.dto.ts @@ -126,6 +126,7 @@ export class ContactMessage { wuid: string; phoneNumber: string; organization?: string; + email?: string; } export class SendContactDto extends Metadata { contactMessage: ContactMessage[]; diff --git a/src/whatsapp/services/whatsapp.service.ts b/src/whatsapp/services/whatsapp.service.ts index 905efccb..25ebaa3d 100644 --- a/src/whatsapp/services/whatsapp.service.ts +++ b/src/whatsapp/services/whatsapp.service.ts @@ -1425,16 +1425,26 @@ export class WAStartupService { const message: proto.IMessage = {}; const vcard = (contact: ContactMessage) => { - return ( + let result = 'BEGIN:VCARD\n' + 'VERSION:3.0\n' + `N:${contact.fullName}\n` + - `FN:${contact.fullName}\n` + - `ORG:${contact.organization};\n` + + `FN:${contact.fullName}\n`; + + if (contact.organization) { + result += `ORG:${contact.organization};\n`; + } + + if (contact.email) { + result += `EMAIL:${contact.email}\n`; + } + + result += `item1.TEL;waid=${contact.wuid}:${contact.phoneNumber}\n` + 'item1.X-ABLabel:Celular\n' + - 'END:VCARD' - ); + 'END:VCARD'; + + return result; }; if (data.contactMessage.length === 1) {