Skip to content

Commit 3bf975d

Browse files
committed
Set chatwoot custom inbox name
1 parent e071f56 commit 3bf975d

File tree

5 files changed

+12
-5
lines changed

5 files changed

+12
-5
lines changed

src/api/controllers/instance.controller.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ export class InstanceController {
6565
chatwoot_reopen_conversation,
6666
chatwoot_conversation_pending,
6767
chatwoot_import_contacts,
68+
chatwoot_name_inbox,
6869
chatwoot_import_messages,
6970
chatwoot_days_limit_import_messages,
7071
reject_call,
@@ -513,7 +514,7 @@ export class InstanceController {
513514
token: chatwoot_token,
514515
url: chatwoot_url,
515516
sign_msg: chatwoot_sign_msg || false,
516-
name_inbox: instance.instanceName.split('-cwId-')[0],
517+
name_inbox: chatwoot_name_inbox ?? instance.instanceName.split('-cwId-')[0],
517518
number,
518519
reopen_conversation: chatwoot_reopen_conversation || false,
519520
conversation_pending: chatwoot_conversation_pending || false,
@@ -577,7 +578,7 @@ export class InstanceController {
577578
import_messages: chatwoot_import_messages ?? true,
578579
days_limit_import_messages: chatwoot_days_limit_import_messages || 60,
579580
number,
580-
name_inbox: instance.instanceName,
581+
name_inbox: chatwoot_name_inbox ?? instance.instanceName,
581582
webhook_url: `${urlServer}/chatwoot/webhook/${encodeURIComponent(instance.instanceName)}`,
582583
},
583584
};

src/api/dto/instance.dto.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export class InstanceDto {
3030
chatwoot_import_contacts?: boolean;
3131
chatwoot_import_messages?: boolean;
3232
chatwoot_days_limit_import_messages?: number;
33+
chatwoot_name_inbox?: string;
3334
websocket_enabled?: boolean;
3435
websocket_events?: string[];
3536
rabbitmq_enabled?: boolean;

src/api/integrations/chatwoot/controllers/chatwoot.controller.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,12 @@ export class ChatwootController {
5555
data.import_messages = false;
5656
data.days_limit_import_messages = 0;
5757
data.auto_create = false;
58+
data.name_inbox = '';
5859
}
5960

60-
data.name_inbox = instance.instanceName;
61+
if (!data.name_inbox || data.name_inbox === '') {
62+
data.name_inbox = instance.instanceName;
63+
}
6164

6265
const result = await this.chatwootService.create(instance, data);
6366

src/api/integrations/chatwoot/services/chatwoot.service.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ export class ChatwootService {
9191
with_credentials: true,
9292
credentials: 'include',
9393
token: this.provider.token,
94+
name_inbox: this.provider.name_inbox,
9495
};
9596
}
9697

@@ -110,7 +111,7 @@ export class ChatwootService {
110111

111112
await this.initInstanceChatwoot(
112113
instance,
113-
instance.instanceName.split('-cwId-')[0],
114+
data.name_inbox ?? instance.instanceName.split('-cwId-')[0],
114115
`${urlServer}/chatwoot/webhook/${encodeURIComponent(instance.instanceName)}`,
115116
true,
116117
data.number,
@@ -710,7 +711,7 @@ export class ChatwootService {
710711
}
711712

712713
this.logger.verbose('find inbox by name');
713-
const findByName = inbox.payload.find((inbox) => inbox.name === instance.instanceName.split('-cwId-')[0]);
714+
const findByName = inbox.payload.find((inbox) => inbox.name === this.getClientCwConfig().name_inbox);
714715

715716
if (!findByName) {
716717
this.logger.warn('inbox not found');

src/api/integrations/chatwoot/validate/chatwoot.schema.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export const chatwootSchema: JSONSchema7 = {
3030
url: { type: 'string' },
3131
sign_msg: { type: 'boolean', enum: [true, false] },
3232
sign_delimiter: { type: ['string', 'null'] },
33+
name_inbox: { type: ['string', 'null'] },
3334
reopen_conversation: { type: 'boolean', enum: [true, false] },
3435
conversation_pending: { type: 'boolean', enum: [true, false] },
3536
auto_create: { type: 'boolean', enum: [true, false] },

0 commit comments

Comments
 (0)