mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-07-16 12:12:55 -06:00
Adding a new webhook that triggers when a message is updated by the user
This commit is contained in:
parent
427c994993
commit
119ceba1ca
@ -62,6 +62,7 @@ RABBITMQ_EVENTS_MESSAGES_EDITED=false
|
|||||||
RABBITMQ_EVENTS_MESSAGES_UPDATE=false
|
RABBITMQ_EVENTS_MESSAGES_UPDATE=false
|
||||||
RABBITMQ_EVENTS_MESSAGES_DELETE=false
|
RABBITMQ_EVENTS_MESSAGES_DELETE=false
|
||||||
RABBITMQ_EVENTS_SEND_MESSAGE=false
|
RABBITMQ_EVENTS_SEND_MESSAGE=false
|
||||||
|
RABBITMQ_EVENTS_SEND_MESSAGE_UPDATE=false
|
||||||
RABBITMQ_EVENTS_CONTACTS_SET=false
|
RABBITMQ_EVENTS_CONTACTS_SET=false
|
||||||
RABBITMQ_EVENTS_CONTACTS_UPSERT=false
|
RABBITMQ_EVENTS_CONTACTS_UPSERT=false
|
||||||
RABBITMQ_EVENTS_CONTACTS_UPDATE=false
|
RABBITMQ_EVENTS_CONTACTS_UPDATE=false
|
||||||
@ -108,6 +109,7 @@ PUSHER_EVENTS_MESSAGES_EDITED=true
|
|||||||
PUSHER_EVENTS_MESSAGES_UPDATE=true
|
PUSHER_EVENTS_MESSAGES_UPDATE=true
|
||||||
PUSHER_EVENTS_MESSAGES_DELETE=true
|
PUSHER_EVENTS_MESSAGES_DELETE=true
|
||||||
PUSHER_EVENTS_SEND_MESSAGE=true
|
PUSHER_EVENTS_SEND_MESSAGE=true
|
||||||
|
PUSHER_EVENTS_SEND_MESSAGE_UPDATE=true
|
||||||
PUSHER_EVENTS_CONTACTS_SET=true
|
PUSHER_EVENTS_CONTACTS_SET=true
|
||||||
PUSHER_EVENTS_CONTACTS_UPSERT=true
|
PUSHER_EVENTS_CONTACTS_UPSERT=true
|
||||||
PUSHER_EVENTS_CONTACTS_UPDATE=true
|
PUSHER_EVENTS_CONTACTS_UPDATE=true
|
||||||
@ -149,6 +151,7 @@ WEBHOOK_EVENTS_MESSAGES_EDITED=true
|
|||||||
WEBHOOK_EVENTS_MESSAGES_UPDATE=true
|
WEBHOOK_EVENTS_MESSAGES_UPDATE=true
|
||||||
WEBHOOK_EVENTS_MESSAGES_DELETE=true
|
WEBHOOK_EVENTS_MESSAGES_DELETE=true
|
||||||
WEBHOOK_EVENTS_SEND_MESSAGE=true
|
WEBHOOK_EVENTS_SEND_MESSAGE=true
|
||||||
|
WEBHOOK_EVENTS_SEND_MESSAGE_UPDATE=true
|
||||||
WEBHOOK_EVENTS_CONTACTS_SET=true
|
WEBHOOK_EVENTS_CONTACTS_SET=true
|
||||||
WEBHOOK_EVENTS_CONTACTS_UPSERT=true
|
WEBHOOK_EVENTS_CONTACTS_UPSERT=true
|
||||||
WEBHOOK_EVENTS_CONTACTS_UPDATE=true
|
WEBHOOK_EVENTS_CONTACTS_UPDATE=true
|
||||||
|
@ -34,6 +34,7 @@ services:
|
|||||||
- RABBITMQ_EVENTS_MESSAGES_UPDATE=false
|
- RABBITMQ_EVENTS_MESSAGES_UPDATE=false
|
||||||
- RABBITMQ_EVENTS_MESSAGES_DELETE=false
|
- RABBITMQ_EVENTS_MESSAGES_DELETE=false
|
||||||
- RABBITMQ_EVENTS_SEND_MESSAGE=false
|
- RABBITMQ_EVENTS_SEND_MESSAGE=false
|
||||||
|
- RABBITMQ_EVENTS_SEND_MESSAGE_UPDATE=false
|
||||||
- RABBITMQ_EVENTS_CONTACTS_SET=false
|
- RABBITMQ_EVENTS_CONTACTS_SET=false
|
||||||
- RABBITMQ_EVENTS_CONTACTS_UPSERT=false
|
- RABBITMQ_EVENTS_CONTACTS_UPSERT=false
|
||||||
- RABBITMQ_EVENTS_CONTACTS_UPDATE=false
|
- RABBITMQ_EVENTS_CONTACTS_UPDATE=false
|
||||||
@ -71,6 +72,7 @@ services:
|
|||||||
- WEBHOOK_EVENTS_MESSAGES_UPDATE=true
|
- WEBHOOK_EVENTS_MESSAGES_UPDATE=true
|
||||||
- WEBHOOK_EVENTS_MESSAGES_DELETE=true
|
- WEBHOOK_EVENTS_MESSAGES_DELETE=true
|
||||||
- WEBHOOK_EVENTS_SEND_MESSAGE=true
|
- WEBHOOK_EVENTS_SEND_MESSAGE=true
|
||||||
|
- WEBHOOK_EVENTS_SEND_MESSAGE_UPDATE=true
|
||||||
- WEBHOOK_EVENTS_CONTACTS_SET=true
|
- WEBHOOK_EVENTS_CONTACTS_SET=true
|
||||||
- WEBHOOK_EVENTS_CONTACTS_UPSERT=true
|
- WEBHOOK_EVENTS_CONTACTS_UPSERT=true
|
||||||
- WEBHOOK_EVENTS_CONTACTS_UPDATE=true
|
- WEBHOOK_EVENTS_CONTACTS_UPDATE=true
|
||||||
|
@ -1138,7 +1138,6 @@ export class BaileysStartupService extends ChannelStartupService {
|
|||||||
{ instanceName: this.instance.name, instanceId: this.instance.id },
|
{ instanceName: this.instance.name, instanceId: this.instance.id },
|
||||||
editedMessage,
|
editedMessage,
|
||||||
);
|
);
|
||||||
|
|
||||||
await this.sendDataWebhook(Events.MESSAGES_EDITED, editedMessage);
|
await this.sendDataWebhook(Events.MESSAGES_EDITED, editedMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3899,10 +3898,25 @@ export class BaileysStartupService extends ChannelStartupService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return await this.client.sendMessage(jid, {
|
const messageSent = await this.client.sendMessage(jid, {
|
||||||
...(options as any),
|
...(options as any),
|
||||||
edit: data.key,
|
edit: data.key,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const updatedMessage =
|
||||||
|
messageSent.message?.protocolMessage || messageSent.message?.editedMessage?.message?.protocolMessage;
|
||||||
|
|
||||||
|
if (updatedMessage) {
|
||||||
|
if (this.configService.get<Chatwoot>('CHATWOOT').ENABLED && this.localChatwoot?.enabled)
|
||||||
|
this.chatwootService.eventWhatsapp(
|
||||||
|
'send.message.update',
|
||||||
|
{ instanceName: this.instance.name, instanceId: this.instance.id },
|
||||||
|
updatedMessage,
|
||||||
|
);
|
||||||
|
await this.sendDataWebhook(Events.SEND_MESSAGE_UPDATE, updatedMessage);
|
||||||
|
}
|
||||||
|
|
||||||
|
return messageSent;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.logger.error(error);
|
this.logger.error(error);
|
||||||
throw new BadRequestException(error.toString());
|
throw new BadRequestException(error.toString());
|
||||||
|
@ -2199,7 +2199,7 @@ export class ChatwootService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event === 'messages.edit') {
|
if (event === 'messages.edit' || event === 'send.message.update') {
|
||||||
const editedText = `${
|
const editedText = `${
|
||||||
body?.editedMessage?.conversation || body?.editedMessage?.extendedTextMessage?.text
|
body?.editedMessage?.conversation || body?.editedMessage?.extendedTextMessage?.text
|
||||||
}\n\n_\`${i18next.t('cw.message.edited')}.\`_`;
|
}\n\n_\`${i18next.t('cw.message.edited')}.\`_`;
|
||||||
|
@ -132,6 +132,7 @@ export class EventController {
|
|||||||
'MESSAGES_UPDATE',
|
'MESSAGES_UPDATE',
|
||||||
'MESSAGES_DELETE',
|
'MESSAGES_DELETE',
|
||||||
'SEND_MESSAGE',
|
'SEND_MESSAGE',
|
||||||
|
'SEND_MESSAGE_UPDATE',
|
||||||
'CONTACTS_SET',
|
'CONTACTS_SET',
|
||||||
'CONTACTS_UPSERT',
|
'CONTACTS_UPSERT',
|
||||||
'CONTACTS_UPDATE',
|
'CONTACTS_UPDATE',
|
||||||
|
@ -15,6 +15,7 @@ export enum Events {
|
|||||||
MESSAGES_UPDATE = 'messages.update',
|
MESSAGES_UPDATE = 'messages.update',
|
||||||
MESSAGES_DELETE = 'messages.delete',
|
MESSAGES_DELETE = 'messages.delete',
|
||||||
SEND_MESSAGE = 'send.message',
|
SEND_MESSAGE = 'send.message',
|
||||||
|
SEND_MESSAGE_UPDATE = 'send.message.update',
|
||||||
CONTACTS_SET = 'contacts.set',
|
CONTACTS_SET = 'contacts.set',
|
||||||
CONTACTS_UPSERT = 'contacts.upsert',
|
CONTACTS_UPSERT = 'contacts.upsert',
|
||||||
CONTACTS_UPDATE = 'contacts.update',
|
CONTACTS_UPDATE = 'contacts.update',
|
||||||
|
@ -72,6 +72,7 @@ export type EventsRabbitmq = {
|
|||||||
MESSAGES_UPDATE: boolean;
|
MESSAGES_UPDATE: boolean;
|
||||||
MESSAGES_DELETE: boolean;
|
MESSAGES_DELETE: boolean;
|
||||||
SEND_MESSAGE: boolean;
|
SEND_MESSAGE: boolean;
|
||||||
|
SEND_MESSAGE_UPDATE: boolean;
|
||||||
CONTACTS_SET: boolean;
|
CONTACTS_SET: boolean;
|
||||||
CONTACTS_UPDATE: boolean;
|
CONTACTS_UPDATE: boolean;
|
||||||
CONTACTS_UPSERT: boolean;
|
CONTACTS_UPSERT: boolean;
|
||||||
@ -131,6 +132,7 @@ export type EventsWebhook = {
|
|||||||
MESSAGES_UPDATE: boolean;
|
MESSAGES_UPDATE: boolean;
|
||||||
MESSAGES_DELETE: boolean;
|
MESSAGES_DELETE: boolean;
|
||||||
SEND_MESSAGE: boolean;
|
SEND_MESSAGE: boolean;
|
||||||
|
SEND_MESSAGE_UPDATE: boolean;
|
||||||
CONTACTS_SET: boolean;
|
CONTACTS_SET: boolean;
|
||||||
CONTACTS_UPDATE: boolean;
|
CONTACTS_UPDATE: boolean;
|
||||||
CONTACTS_UPSERT: boolean;
|
CONTACTS_UPSERT: boolean;
|
||||||
@ -163,6 +165,7 @@ export type EventsPusher = {
|
|||||||
MESSAGES_UPDATE: boolean;
|
MESSAGES_UPDATE: boolean;
|
||||||
MESSAGES_DELETE: boolean;
|
MESSAGES_DELETE: boolean;
|
||||||
SEND_MESSAGE: boolean;
|
SEND_MESSAGE: boolean;
|
||||||
|
SEND_MESSAGE_UPDATE: boolean;
|
||||||
CONTACTS_SET: boolean;
|
CONTACTS_SET: boolean;
|
||||||
CONTACTS_UPDATE: boolean;
|
CONTACTS_UPDATE: boolean;
|
||||||
CONTACTS_UPSERT: boolean;
|
CONTACTS_UPSERT: boolean;
|
||||||
@ -370,6 +373,7 @@ export class ConfigService {
|
|||||||
MESSAGES_UPDATE: process.env?.RABBITMQ_EVENTS_MESSAGES_UPDATE === 'true',
|
MESSAGES_UPDATE: process.env?.RABBITMQ_EVENTS_MESSAGES_UPDATE === 'true',
|
||||||
MESSAGES_DELETE: process.env?.RABBITMQ_EVENTS_MESSAGES_DELETE === 'true',
|
MESSAGES_DELETE: process.env?.RABBITMQ_EVENTS_MESSAGES_DELETE === 'true',
|
||||||
SEND_MESSAGE: process.env?.RABBITMQ_EVENTS_SEND_MESSAGE === 'true',
|
SEND_MESSAGE: process.env?.RABBITMQ_EVENTS_SEND_MESSAGE === 'true',
|
||||||
|
SEND_MESSAGE_UPDATE: process.env?.RABBITMQ_EVENTS_SEND_MESSAGE_UPDATE === 'true',
|
||||||
CONTACTS_SET: process.env?.RABBITMQ_EVENTS_CONTACTS_SET === 'true',
|
CONTACTS_SET: process.env?.RABBITMQ_EVENTS_CONTACTS_SET === 'true',
|
||||||
CONTACTS_UPDATE: process.env?.RABBITMQ_EVENTS_CONTACTS_UPDATE === 'true',
|
CONTACTS_UPDATE: process.env?.RABBITMQ_EVENTS_CONTACTS_UPDATE === 'true',
|
||||||
CONTACTS_UPSERT: process.env?.RABBITMQ_EVENTS_CONTACTS_UPSERT === 'true',
|
CONTACTS_UPSERT: process.env?.RABBITMQ_EVENTS_CONTACTS_UPSERT === 'true',
|
||||||
@ -421,6 +425,7 @@ export class ConfigService {
|
|||||||
MESSAGES_UPDATE: process.env?.PUSHER_EVENTS_MESSAGES_UPDATE === 'true',
|
MESSAGES_UPDATE: process.env?.PUSHER_EVENTS_MESSAGES_UPDATE === 'true',
|
||||||
MESSAGES_DELETE: process.env?.PUSHER_EVENTS_MESSAGES_DELETE === 'true',
|
MESSAGES_DELETE: process.env?.PUSHER_EVENTS_MESSAGES_DELETE === 'true',
|
||||||
SEND_MESSAGE: process.env?.PUSHER_EVENTS_SEND_MESSAGE === 'true',
|
SEND_MESSAGE: process.env?.PUSHER_EVENTS_SEND_MESSAGE === 'true',
|
||||||
|
SEND_MESSAGE_UPDATE: process.env?.PUSHER_EVENTS_SEND_MESSAGE_UPDATE === 'true',
|
||||||
CONTACTS_SET: process.env?.PUSHER_EVENTS_CONTACTS_SET === 'true',
|
CONTACTS_SET: process.env?.PUSHER_EVENTS_CONTACTS_SET === 'true',
|
||||||
CONTACTS_UPDATE: process.env?.PUSHER_EVENTS_CONTACTS_UPDATE === 'true',
|
CONTACTS_UPDATE: process.env?.PUSHER_EVENTS_CONTACTS_UPDATE === 'true',
|
||||||
CONTACTS_UPSERT: process.env?.PUSHER_EVENTS_CONTACTS_UPSERT === 'true',
|
CONTACTS_UPSERT: process.env?.PUSHER_EVENTS_CONTACTS_UPSERT === 'true',
|
||||||
@ -477,6 +482,7 @@ export class ConfigService {
|
|||||||
MESSAGES_UPDATE: process.env?.WEBHOOK_EVENTS_MESSAGES_UPDATE === 'true',
|
MESSAGES_UPDATE: process.env?.WEBHOOK_EVENTS_MESSAGES_UPDATE === 'true',
|
||||||
MESSAGES_DELETE: process.env?.WEBHOOK_EVENTS_MESSAGES_DELETE === 'true',
|
MESSAGES_DELETE: process.env?.WEBHOOK_EVENTS_MESSAGES_DELETE === 'true',
|
||||||
SEND_MESSAGE: process.env?.WEBHOOK_EVENTS_SEND_MESSAGE === 'true',
|
SEND_MESSAGE: process.env?.WEBHOOK_EVENTS_SEND_MESSAGE === 'true',
|
||||||
|
SEND_MESSAGE_UPDATE: process.env?.WEBHOOK_EVENTS_SEND_MESSAGE_UPDATE === 'true',
|
||||||
CONTACTS_SET: process.env?.WEBHOOK_EVENTS_CONTACTS_SET === 'true',
|
CONTACTS_SET: process.env?.WEBHOOK_EVENTS_CONTACTS_SET === 'true',
|
||||||
CONTACTS_UPDATE: process.env?.WEBHOOK_EVENTS_CONTACTS_UPDATE === 'true',
|
CONTACTS_UPDATE: process.env?.WEBHOOK_EVENTS_CONTACTS_UPDATE === 'true',
|
||||||
CONTACTS_UPSERT: process.env?.WEBHOOK_EVENTS_CONTACTS_UPSERT === 'true',
|
CONTACTS_UPSERT: process.env?.WEBHOOK_EVENTS_CONTACTS_UPSERT === 'true',
|
||||||
|
@ -68,6 +68,7 @@ export const instanceSchema: JSONSchema7 = {
|
|||||||
'MESSAGES_UPDATE',
|
'MESSAGES_UPDATE',
|
||||||
'MESSAGES_DELETE',
|
'MESSAGES_DELETE',
|
||||||
'SEND_MESSAGE',
|
'SEND_MESSAGE',
|
||||||
|
'SEND_MESSAGE_UPDATE',
|
||||||
'CONTACTS_SET',
|
'CONTACTS_SET',
|
||||||
'CONTACTS_UPSERT',
|
'CONTACTS_UPSERT',
|
||||||
'CONTACTS_UPDATE',
|
'CONTACTS_UPDATE',
|
||||||
@ -104,6 +105,7 @@ export const instanceSchema: JSONSchema7 = {
|
|||||||
'MESSAGES_UPDATE',
|
'MESSAGES_UPDATE',
|
||||||
'MESSAGES_DELETE',
|
'MESSAGES_DELETE',
|
||||||
'SEND_MESSAGE',
|
'SEND_MESSAGE',
|
||||||
|
'SEND_MESSAGE_UPDATE',
|
||||||
'CONTACTS_SET',
|
'CONTACTS_SET',
|
||||||
'CONTACTS_UPSERT',
|
'CONTACTS_UPSERT',
|
||||||
'CONTACTS_UPDATE',
|
'CONTACTS_UPDATE',
|
||||||
@ -140,6 +142,7 @@ export const instanceSchema: JSONSchema7 = {
|
|||||||
'MESSAGES_UPDATE',
|
'MESSAGES_UPDATE',
|
||||||
'MESSAGES_DELETE',
|
'MESSAGES_DELETE',
|
||||||
'SEND_MESSAGE',
|
'SEND_MESSAGE',
|
||||||
|
'SEND_MESSAGE_UPDATE',
|
||||||
'CONTACTS_SET',
|
'CONTACTS_SET',
|
||||||
'CONTACTS_UPSERT',
|
'CONTACTS_UPSERT',
|
||||||
'CONTACTS_UPDATE',
|
'CONTACTS_UPDATE',
|
||||||
|
Loading…
Reference in New Issue
Block a user