@zenify-omni/chat-js 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +28 -0
  3. package/api/campaign.js +19 -0
  4. package/api/chat.js +518 -0
  5. package/api/chatroom.js +254 -0
  6. package/api/contact.js +45 -0
  7. package/api/crm-organization.js +101 -0
  8. package/api/customer.js +143 -0
  9. package/api/facebook-labels.js +11 -0
  10. package/api/field.js +11 -0
  11. package/api/file.js +17 -0
  12. package/api/filter.js +50 -0
  13. package/api/group.js +11 -0
  14. package/api/iam.js +23 -0
  15. package/api/index.js +54 -0
  16. package/api/orgTree.js +45 -0
  17. package/api/post.js +111 -0
  18. package/api/queue.js +15 -0
  19. package/api/report.js +422 -0
  20. package/api/send.js +21 -0
  21. package/api/session-event.js +30 -0
  22. package/api/session.js +249 -0
  23. package/api/settings/assign-task.js +10 -0
  24. package/api/settings/channel.js +136 -0
  25. package/api/settings/chat-layout.js +37 -0
  26. package/api/settings/chat-timeout.js +10 -0
  27. package/api/settings/common.js +32 -0
  28. package/api/settings/config.js +19 -0
  29. package/api/settings/index.js +24 -0
  30. package/api/settings/ivr.js +25 -0
  31. package/api/settings/queue-v3.js +56 -0
  32. package/api/settings/queue.js +48 -0
  33. package/api/settings/routing.js +32 -0
  34. package/api/settings/service.js +31 -0
  35. package/api/settings.js +567 -0
  36. package/api/shipping.js +19 -0
  37. package/api/shopee.js +21 -0
  38. package/api/smart-qc/index.js +4 -0
  39. package/api/smart-qc/keyword.js +10 -0
  40. package/api/tag.js +11 -0
  41. package/api/user.js +177 -0
  42. package/client.js +391 -0
  43. package/config/env.js +76 -0
  44. package/constants/advance-filter.js +358 -0
  45. package/constants/auto-assign-tag.js +13 -0
  46. package/constants/chat-message.js +423 -0
  47. package/constants/chat-room-tag.js +7 -0
  48. package/constants/chat-source.js +68 -0
  49. package/constants/chatbot.js +58 -0
  50. package/constants/common.js +4 -0
  51. package/constants/crm-organization.js +75 -0
  52. package/constants/distribute.js +8 -0
  53. package/constants/distribution-log.js +14 -0
  54. package/constants/events.js +27 -0
  55. package/constants/file-upload.js +86 -0
  56. package/constants/lead.js +111 -0
  57. package/constants/mask-data-config.js +16 -0
  58. package/constants/month.js +78 -0
  59. package/constants/quick-filter.js +49 -0
  60. package/constants/regex.js +34 -0
  61. package/constants/setting.js +62 -0
  62. package/constants/shipping.js +12 -0
  63. package/constants/social.js +21 -0
  64. package/constants/sortable-fields.js +146 -0
  65. package/constants/tenant_config.js +154 -0
  66. package/constants/use-query-key.js +470 -0
  67. package/constants/user.js +293 -0
  68. package/exceptions/axios-error.js +24 -0
  69. package/exceptions/https-error.js +28 -0
  70. package/exceptions/validator-error.js +20 -0
  71. package/lib/avatar-color.js +31 -0
  72. package/lib/i18n/index.js +85 -0
  73. package/lib/i18n/language-store.js +74 -0
  74. package/lib/i18n/locales/en/campaign.json +3 -0
  75. package/lib/i18n/locales/en/chat.json +656 -0
  76. package/lib/i18n/locales/en/common.json +1846 -0
  77. package/lib/i18n/locales/en/customer.json +20 -0
  78. package/lib/i18n/locales/en/lead.json +5 -0
  79. package/lib/i18n/locales/en/lumi.json +4 -0
  80. package/lib/i18n/locales/en/notification.json +107 -0
  81. package/lib/i18n/locales/en/org.json +4 -0
  82. package/lib/i18n/locales/en/posts.json +8 -0
  83. package/lib/i18n/locales/en/settings.json +39 -0
  84. package/lib/i18n/locales/vi/campaign.json +3 -0
  85. package/lib/i18n/locales/vi/chat.json +660 -0
  86. package/lib/i18n/locales/vi/common.json +1846 -0
  87. package/lib/i18n/locales/vi/customer.json +20 -0
  88. package/lib/i18n/locales/vi/lead.json +5 -0
  89. package/lib/i18n/locales/vi/lumi.json +4 -0
  90. package/lib/i18n/locales/vi/notification.json +107 -0
  91. package/lib/i18n/locales/vi/org.json +4 -0
  92. package/lib/i18n/locales/vi/posts.json +8 -0
  93. package/lib/i18n/locales/vi/settings.json +39 -0
  94. package/lib/i18n/server-label.js +33 -0
  95. package/lib/phone.js +70 -0
  96. package/lib/user-avatar.js +21 -0
  97. package/package.json +45 -0
  98. package/socket/index.js +30 -0
  99. package/transport-registry.js +77 -0
  100. package/utils/access-detail.js +119 -0
  101. package/utils/auth.js +205 -0
  102. package/utils/chunk-reload-guard.js +4 -0
  103. package/utils/concurrency-limiter.js +30 -0
  104. package/utils/crm-organization.js +0 -0
  105. package/utils/currency.js +14 -0
  106. package/utils/customers.js +42 -0
  107. package/utils/data.js +178 -0
  108. package/utils/date.js +144 -0
  109. package/utils/debounced-invalidate.js +15 -0
  110. package/utils/emoticon.js +134 -0
  111. package/utils/export.js +7 -0
  112. package/utils/field-layout.js +33 -0
  113. package/utils/filter-adapters.js +9 -0
  114. package/utils/filter.js +18 -0
  115. package/utils/formatters.js +6 -0
  116. package/utils/image-compression.js +169 -0
  117. package/utils/leads.js +13 -0
  118. package/utils/microlink.js +20 -0
  119. package/utils/org-tree.js +108 -0
  120. package/utils/request.js +461 -0
  121. package/utils/session-end.js +19 -0
  122. package/utils/string.js +154 -0
  123. package/utils/table-display-config.js +80 -0
  124. package/utils/validation.js +49 -0
@@ -0,0 +1,154 @@
1
+ import i18n from "../lib/i18n/index.js";
2
+ const TenantConfigType = Object.freeze({
3
+ VIEW: "VIEW",
4
+ ACTION: "ACTION",
5
+ DATA: "DATA",
6
+ FEATURE: "FEATURE",
7
+ CONFIG: "CONFIG"
8
+ });
9
+ const TenantConfigKeyParams = Object.freeze({
10
+ [TenantConfigType.VIEW]: {
11
+ TICKET: {
12
+ VALUE: "view.ticket",
13
+ LIST: {
14
+ VALUE: "view.ticket.list",
15
+ EXPORT: "view.ticket.list.export",
16
+ SMART_VIEW: "view.ticket.list.smart_view",
17
+ ADVANCE_FILTER: "view.ticket.list.advance_filter",
18
+ QUICK_FILTER: "view.ticket.list.quick_filter"
19
+ },
20
+ DETAIL: {
21
+ VALUE: "view.ticket.detail",
22
+ BUTTON: {
23
+ CALL: "view.ticket.detail.button.call",
24
+ SMS: "view.ticket.detail.button.sms",
25
+ EMAIL: "view.ticket.detail.button.email",
26
+ ZNS: "view.ticket.detail.button.zns",
27
+ CHAT_ZALO: "view.ticket.detail.button.chat_zalo",
28
+ CALL_ZALO: "view.ticket.detail.button.call_zalo"
29
+ }
30
+ }
31
+ }
32
+ },
33
+ [TenantConfigType.ACTION]: {},
34
+ [TenantConfigType.DATA]: {
35
+ MASKING: {
36
+ VALUE: "data.masking",
37
+ DATA_TYPE: {
38
+ PHONE: "data.phone_number",
39
+ EMAIL: "data.email"
40
+ }
41
+ }
42
+ },
43
+ [TenantConfigType.FEATURE]: {
44
+ value: "feature",
45
+ CHAT: {
46
+ VALUE: "feature.chat",
47
+ AUTO_RECEIVE_CHAT: "feature.chat.auto_receive_chat",
48
+ AUTO_JOIN_ON_INVITE: "feature.chat.auto_join_on_invite"
49
+ },
50
+ SMART_QA: {
51
+ VALUE: "feature.smart_qa",
52
+ OUT_BOUND: "feature.smart_qa.out_bound",
53
+ IN_BOUND: "feature.smart_qa.in_bound",
54
+ CHAT: "feature.smart_qa.chat",
55
+ TELESALES: "feature.smart_qa.telesales"
56
+ },
57
+ WORKFLOW: {
58
+ VALUE: "feature.workflow"
59
+ },
60
+ AI_COMMENT: {
61
+ VALUE: "feature.ai_comment"
62
+ }
63
+ },
64
+ [TenantConfigType.CONFIG]: {
65
+ CONTACT_SHARE_SCOPE: {
66
+ VALUE: "config.contact_share_scope"
67
+ },
68
+ SURVEY_HISTORY_SHARE_SCOPE: {
69
+ VALUE: "config.survey_history_share_scope"
70
+ },
71
+ SURVEY_RESULT_NOTIFY: {
72
+ VALUE: "config.survey_result_notify"
73
+ },
74
+ CUSTOMER_CODE: {
75
+ VALUE: "config.customer_code"
76
+ },
77
+ DEAL_NAME: {
78
+ VALUE: "config.deal_name"
79
+ },
80
+ // Cảnh báo trùng công việc — chỉ Super Admin (user.admin) sửa được, BE
81
+ // chặn ở ConfigService._checkEditPermission.
82
+ TASK_DUPLICATE: {
83
+ VALUE: "config.task_duplicate"
84
+ }
85
+ }
86
+ });
87
+ const DEFAULT_DEAL_NAME_CONFIG = Object.freeze({
88
+ use_list: false,
89
+ allow_custom: false,
90
+ max_length: 100
91
+ });
92
+ const TICKET_DETAIL_BUTTON_ITEMS = [
93
+ {
94
+ code: "call",
95
+ keys: ["view.ticket.detail.button.call"],
96
+ get label() {
97
+ return i18n.t("common:action.call", { defaultValue: "G\u1ECDi \u0111i\u1EC7n" });
98
+ },
99
+ get description() {
100
+ return i18n.t("common:message.showQuickCallButtonTicketDesc", {
101
+ defaultValue: "Hi\u1EC3n th\u1ECB n\xFAt g\u1ECDi \u0111i\u1EC7n nhanh tr\xEAn ticket"
102
+ });
103
+ }
104
+ },
105
+ {
106
+ code: "zalo",
107
+ keys: [
108
+ "view.ticket.detail.button.chat_zalo",
109
+ "view.ticket.detail.button.call_zalo"
110
+ ],
111
+ label: "Zalo",
112
+ get description() {
113
+ return i18n.t("common:message.showZaloContactButtonTicketDesc", {
114
+ defaultValue: "Hi\u1EC3n th\u1ECB n\xFAt li\xEAn h\u1EC7 Zalo tr\xEAn ticket"
115
+ });
116
+ }
117
+ },
118
+ {
119
+ code: "email",
120
+ keys: ["view.ticket.detail.button.email"],
121
+ label: "Email",
122
+ get description() {
123
+ return i18n.t("common:message.showEmailButtonTicketDesc", {
124
+ defaultValue: "Hi\u1EC3n th\u1ECB n\xFAt g\u1EEDi email tr\xEAn ticket"
125
+ });
126
+ }
127
+ },
128
+ {
129
+ code: "sms",
130
+ keys: ["view.ticket.detail.button.sms"],
131
+ label: "SMS",
132
+ get description() {
133
+ return i18n.t("common:message.showSmsButtonTicketDesc", {
134
+ defaultValue: "Hi\u1EC3n th\u1ECB n\xFAt g\u1EEDi tin nh\u1EAFn SMS tr\xEAn ticket"
135
+ });
136
+ }
137
+ },
138
+ {
139
+ code: "zns",
140
+ keys: ["view.ticket.detail.button.zns"],
141
+ label: "ZNS",
142
+ get description() {
143
+ return i18n.t("common:message.showZnsButtonTicketDesc", {
144
+ defaultValue: "Hi\u1EC3n th\u1ECB n\xFAt g\u1EEDi tin nh\u1EAFn ZNS tr\xEAn ticket"
145
+ });
146
+ }
147
+ }
148
+ ];
149
+ export {
150
+ DEFAULT_DEAL_NAME_CONFIG,
151
+ TICKET_DETAIL_BUTTON_ITEMS,
152
+ TenantConfigKeyParams,
153
+ TenantConfigType
154
+ };
@@ -0,0 +1,470 @@
1
+ const QUERY_KEY = Object.freeze({
2
+ GET_SUGGEST_CONTACT_PHONENUMBER: "get-suggest-contact-phone-number",
3
+ GET_SUGGEST_LEAD_PHONENUMBER: "get-suggest-laed-phone-number",
4
+ GET_SUGGEST_CUSTOMER_PHONENUMBER: "get-suggest-customer-phone-number",
5
+ // global search
6
+ GET_GLOBAL_SEARCH_CUSTOMER: "get-global-search-customer",
7
+ GET_GLOBAL_SEARCH_LEADS: "get-global-search-leads",
8
+ GET_GLOBAL_SEARCH_TICKET: "get-global-search-ticket",
9
+ GET_GLOBAL_SEARCH_DEAL: "get-global-search-deal",
10
+ GET_GLOBAL_SEARCH_ALL: "get-global-search-all",
11
+ // * common
12
+ GET_LIST_TICKET_CHAT: "get-list-ticket-chat",
13
+ GET_ALL_CHAT_FLAG: "get-all-chat-flag",
14
+ GET_LIST_CHAT_FLAG: "get-list-chat-flag",
15
+ GET_SETTING_DASHBOARD: "get-setting-dashboard",
16
+ GET_DATA_MASKING_CONFIG: "get-data-masking-config",
17
+ GET_ALL_DISTRICTS: "get-all-districts",
18
+ GET_ALL_WARDS: "get-all-wards",
19
+ GET_ALL_CITIES: "get-all-cities",
20
+ GET_ALL_ORGANIZATION: "get-all-organization",
21
+ GET_ALL_SERVICES: "get-all-services",
22
+ GET_ALL_SCHEDULES: "get-all-schedules",
23
+ GET_ALL_DISTRICT_BY_CITY_ID: "get-all-district-by-city-id",
24
+ GET_ALL_WARD_BY_DISTRICT_ID: "get-all-ward-by-district-id",
25
+ GET_ALL_WARD_BY_CITY_ID: "get-all-ward-by-city-id",
26
+ GET_ALL_CHAT_TEMPLATE: "get-all-chat-template",
27
+ GET_ALL_WHATSAPP_TEMPLATE: "get-all-whatsapp-template",
28
+ GET_ALL_FILTERS: "get-all-filters",
29
+ GET_ALL_CAMPAIGN: "get-all-campaign",
30
+ GET_FILE_PREVIEW: "get-file-preview",
31
+ GET_LIST_TEMPLATE: "get-list-template",
32
+ GET_LIST_TEMPLATE_CATALOG: "get-list-template-catalog",
33
+ GET_LIST_CUSTOMER: "get-list-customer",
34
+ GET_LIST_LEAD: "get-list-lead",
35
+ GET_LIST_CAMPAIGN_CONTACT: "get-list-campaign-contact",
36
+ GET_LIST_BLACKLIST: "get-list-blacklist",
37
+ GET_LIST_SCHEDULE: "get-list-schedule",
38
+ GET_LIST_SCHEDULE_PERIOD: "get-list-schedule-period",
39
+ GET_DETAIL_ORGANIZATION: "get-detail-organization",
40
+ GET_CHAT_CONFIG: "get-chat-config",
41
+ GET_ZALOS_ALLOCATED: "get-zalos-allocated",
42
+ SEARCH_ZALO_USER_IN_SYSTEM: "search-zalo-user-in-system",
43
+ // * campaign
44
+ GET_LIST_CAMPAIGN: "get-list-campaign",
45
+ GET_CAMPAIGN_DETAIL: "get-campaign-detail",
46
+ CAMPAIGN_AUDIENCE_PREVIEW: "campaign-audience-preview",
47
+ CAMPAIGN_PREVIEW_FILE_RECOUNT: "campaign-preview-file-recount",
48
+ // * monitor
49
+ GET_DAILY_CHANNEL_STAT: "get-daily-channel-stat",
50
+ GET_TOTAL_EMAIL_IN_QUEUE: "get-total-email-in-queue",
51
+ GET_MONITOR_CONNECTIONS: "get-monitor-connections",
52
+ GET_SOCIAL_ACCOUNT_LOGS_BY_ACCOUNT: "get-social-account-logs-by-account",
53
+ // * report
54
+ GET_REPORT_AGENT_CAMPAIGN: "get-report-agent-campaign",
55
+ GET_SUMMARY_REPORT: "get-summary-report",
56
+ GET_SUMMARY_AGENT_REPORT: "get-summary-agent-report",
57
+ GET_SUMMARY_GROUP_REPORT: "get-summary-group-report",
58
+ GET_SUMMARY_PERSONAL_REPORT: "get-summary-personal-report",
59
+ GET_SUMMARY_CUSTOMER_REPORT: "get-summary-customer-report",
60
+ GET_SUMMARY_TICKET_REPORT: "get-summary-ticket-report",
61
+ GET_SUMMARY_TIME_PROCESS_TICKET_REPORT: "get-summary-time-process-ticket-report",
62
+ GET_DETAIL_AGENT_REPORT: "get-detail-agent-report",
63
+ GET_DETAIL_AGENT_REPORT_V2: "get-detail-agent-report-v2",
64
+ GET_DETAIL_SUMMARY_GROUP_REPORT: "get-detail-summary-group-report",
65
+ GET_CUSTOM_REPORT: "get-custom-report",
66
+ GET_TICKETS_CUSTOM_REPORT: "get-tickets-custom-report",
67
+ GET_CUSTOMER_FEEDBACK_REPORT: "get-customer-feedback-report",
68
+ GET_CUSTOMER_VISIT_REPORT: "get-customer-visit-report",
69
+ GET_WARRANTY_REPORT: "get-warranty-report",
70
+ GET_AGENT_CARE_REPORT: "get-agent-care-report",
71
+ GET_CUSTOMER_CARE_REPORT: "get-customer-care-report",
72
+ GET_TICKET_EXPORT_FIELDS: "get-ticket-export-fields",
73
+ GET_DATA_CONTROL_REPORT: "get-data-control-report",
74
+ GET_DATA_BY_CUSTOMER_TYPE_REPORT: "get-data-by-customer-type-report",
75
+ GET_SALES_BY_BRAND_REPORT: "get-sales-by-brand-report",
76
+ GET_CARE_STATUS_REPORT: "get-care-status-report",
77
+ GET_PERFORMANCE_REPORT: "get-performance-report",
78
+ GET_TICKETS_REPORT: "get-tickets-report",
79
+ GET_REVENUE_BY_UNIT: "get-revenue-by-unit",
80
+ GET_TOP_SELLING_PRODUCTS: "get-top-selling-products",
81
+ GET_DAILY_REPORT: "get-daily-report",
82
+ GET_REPORT_AD_FUNNEL: "get-report-ad-funnel",
83
+ GET_REPORT_AD_ACCOUNTS: "get-report-ad-accounts",
84
+ GET_REPORT_AD_CAMPAIGNS: "get-report-ad-campaigns",
85
+ GET_REPORT_AD_SETS: "get-report-ad-sets",
86
+ GET_REPORT_AD_FUNNEL_BY_SOURCE: "get-report-ad-funnel-by-source",
87
+ GET_REPORT_AD_FUNNEL_DETAIL: "get-report-ad-funnel-detail",
88
+ GET_REPORT_ZNS_DETAIL: "get-report-zns-detail",
89
+ GET_REPORT_ZNS_LOG_DETAIL: "get-report-zns-log-detail",
90
+ GET_REPORT_SMS_DETAIL: "get-report-sms-detail",
91
+ GET_REPORT_ZNS_RESPONSE: "get-report-zns-response",
92
+ GET_REPORT_ZNS_TEMPLATES: "get-report-zns-templates",
93
+ GET_REPORT_ZNS_OVERVIEW: "get-report-zns-overview",
94
+ GET_REPORT_SMS_OVERVIEW: "get-report-sms-overview",
95
+ // * chat
96
+ GET_CHAT_LIST: "get-chat-list",
97
+ GET_CHAT_MESSAGES: "get-chat-messages",
98
+ GET_CHAT_ASSIGN_AGENT: "get-chat-assign-agent",
99
+ GET_DETAIL_CHAT_TICKET: "get-detail-chat-ticket",
100
+ GET_LAST_CHAT_HISTORY: "get-last-chat-history",
101
+ FIND_CHAT_MESSAGES: "find-chat-messages",
102
+ GET_ALL_LIST_ZALO_REMINDER: "get-all-zalo-list-reminder",
103
+ CHECK_CHAT_ACCESS_BY_PERSONAL_ZALO_CONNECTION: "check-chat-access-by-personal-zalo-connection",
104
+ GET_PINNED_MESSAGES: "get-pinned-messages",
105
+ GET_MESSAGE_VIEWERS: "get-message-viewers",
106
+ GET_LINK_PREVIEW: "get-link-preview",
107
+ GET_ZALO_FRIEND_REQUEST_RECEIVED: "get-zalo-friend-request-received",
108
+ GET_ZALO_FRIEND_REQUEST_SENT: "get-zalo-friend-request-sent",
109
+ GET_FULL_AVATAR: "get-full-avatar",
110
+ GET_CUSTOMER_DETAIL: "get-customer-detail",
111
+ // * tasks
112
+ GET_LIST_TASK_IN_DEAL: "get-list-task-in-deal",
113
+ // * user
114
+ GET_LIST_CONTACT_EXTRA_FIELD: "get-list-contact-extra-field",
115
+ GET_LIST_USER: "get-list-user",
116
+ GET_LIST_USER_GROUP: "get-list-user-group",
117
+ GET_LIST_EXPERT_GROUPS: "get-list-expert-groups",
118
+ GET_LIST_RECEPTION_CAPACITY_RULES: "get-list-reception-capacity-rules",
119
+ GET_LIST_ORGANIZATION: "get-list-organization",
120
+ GET_ALL_USERS: "get-all-users",
121
+ GET_ALL_AGENTS: "get-all-agents",
122
+ GET_ALL_AGENTS_V3: "get-all-agents-v3",
123
+ GET_ALL_AGENT_WITH_GROUP: "get-all-agent-with-group",
124
+ GET_ALL_USER_FIELDS: "get-all-user-fields",
125
+ GET_ALL_GROUPS: "get-all-groups",
126
+ GET_ALL_USER_GROUPS: "get-all-user-groups",
127
+ GET_ALL_CUSTOMER_GROUPS: "get-all-customer-groups",
128
+ GET_LIST_USER_ATTRIBUTES: "get-list-user-attributes",
129
+ GET_LIST_CUSTOMER_GROUPS: "get-list-customer-groups",
130
+ GET_LIST_CUSTOMER_TAGS: "get-list-customer-tags",
131
+ GET_USER_CONFIGURATION: "get-user-configuration",
132
+ GET_LEAD_CONFIGURATION: "get-lead-configuration",
133
+ GET_ALL_AGENT_FIELDS: "get-all-agent-fields",
134
+ GET_ALL_CONTACT_FIELDS: "get-all-contact-fields",
135
+ GET_ALL_DEAL_FIELDS: "get-all-deal-fields",
136
+ GET_ALL_ORDER_FIELDS: "get-all-order-fields",
137
+ GET_ALL_PRODUCT_FIELDS: "get-all-product-fields",
138
+ GET_ALL_TASK_FIELDS: "get-all-task-fields",
139
+ // * ticket
140
+ GET_REQUESTER: "get-requester",
141
+ GET_LIST_TICKET_IN_DEAL: "get-list-ticket-in-deal",
142
+ GET_LIST_TICKET_LINKED_IN_DEAL: "get-ticket-linked-in-deal",
143
+ GET_CHAT_ROOM_DETAIL: "get-chat-room-detail",
144
+ // * ticket form
145
+ GET_DETAIL_TICKET_FORM: "get-detail-ticket-form",
146
+ GET_TICKET_COMMENTS: "get-ticket-comments",
147
+ GET_ALL_TICKET_FIELDS: "get-all-ticket-fields",
148
+ GET_LIST_TICKET_ATTRIBUTES: "get-list-ticket-attribute",
149
+ GET_LIST_TICKET_PRIORITIES: "get-list-ticket-priority",
150
+ GET_LIST_TICKET_TYPES: "get-list-ticket-types",
151
+ GET_LIST_USER_TICKETS_PREVIEW: "get-user-list-tickets-preview",
152
+ GET_DISTRIBUTION_LOGS: "get-distribution-logs",
153
+ GET_ASSIGN_AGENT: "get-assign-agent",
154
+ // ** multiple channels
155
+ GET_ALL_ZALO_OA: "get-all-zalo-oa",
156
+ GET_ALL_WHATSAPP: "get-all-whatsapp",
157
+ GET_ZNS_TEMPLATE_BY_OA: "get-zns-template-by-oa",
158
+ GET_ALL_SMS_BRAND_NAME: "get-all-sms-brand_name",
159
+ GET_ALL_EMAIL_ACCOUNTS: "get-all-email-accounts",
160
+ GET_ALL_EMAIL_TEMPLATES: "get-all-email-templates",
161
+ GET_ALL_ZNS_TEMPLATES: "get-all-zns-templates",
162
+ GET_ALL_ZNS_TEMPLATES_V2: "get-all-zns-templates-v2",
163
+ GET_ALL_SMS_TEMPLATES: "get-all-sms-templates",
164
+ GET_CHATBOT_VERSION_HISTORY: "get-chatbot-version-history",
165
+ GET_LIST_SMS_BRAND_NAME: "get-list-sms-brand-name",
166
+ GET_LIST_EMAIL: "get-list-email",
167
+ GET_LIST_FACEBOOK_PAGE: "get-list-facebook-page",
168
+ GET_SOCIAL_PAGE_DETAIL: "get-social-page-detail",
169
+ CHECK_FACEBOOK_PAGES: "check-facebook-pages",
170
+ GET_FACEBOOK_LABELS: "get-facebook-labels",
171
+ GET_CONVERSATION_FACEBOOK_LABELS: "get-conversation-facebook-labels",
172
+ FACEBOOK_HEALTH_CHECK: "facebook-health-check",
173
+ FACEBOOK_HEALTH_CHECK_HISTORY: "facebook-health-check-history",
174
+ FACEBOOK_SUBSCRIBED_APPS: "facebook-subscribed-apps",
175
+ // channel config (comment)
176
+ GET_CHANNEL_CONFIGS: "get-channel-configs",
177
+ GET_LIST_ZALO_OA: "get-list-zalo-oa",
178
+ GET_LIST_ZNS_TEMPLATE: "get-list-zns-template",
179
+ POST_SAVE_ZALO_INFO: "post-save-zalo-info",
180
+ GET_LIST_WHATSAPP: "get-list-whatsapp",
181
+ GET_LIST_ZALO_USER_DOMAIN: "get-list-zalo-user-domain",
182
+ GET_LIST_ZALO_USER_ACCOUNT: "get-list-zalo-user-account",
183
+ GET_LIST_ZALO_GENERAL_ACCOUNT: "get-list-zalo-general-account",
184
+ GET_ZALO_DOMAIN_BY_TENANT_ID: "get-zalo-domain-by-tenant-id",
185
+ GET_LIST_WHATSAPP_TEMPLATE: "get-list-whatsapp-template",
186
+ GET_LIST_SOCIAL_PAGE: "get-list-social-page",
187
+ GET_LIST_SOCIAL_PAGE_V3: "get-list-social-page-v3",
188
+ GET_LIST_AUTO_REPLY: "get-list-auto-reply",
189
+ GET_PUBLISHED_POSTS: "get-published-posts",
190
+ GET_LIVE_VIDEOS: "get-live-videos",
191
+ GET_SOCIAL_COMMENTS: "get-social-comments",
192
+ GET_SOCIAL_COMMENT_REPLIES: "get-social-comment-replies",
193
+ GET_LIST_TIKTOK: "get-list-tiktok",
194
+ DELETE_TIKTOK_SHOP: "delete-tiktok-shop",
195
+ GET_LIST_TIKTOK_BUSINESS: "get-list-tiktok-business",
196
+ GET_LIST_SHOPEE: "get-list-shopee",
197
+ GET_LIST_SHOPEE_ORDER: "get-list-shopee-order",
198
+ GET_LIST_NHANHVN: "get-list-nhanhvn",
199
+ GET_LIST_INSTAGRAM: "get-list-instagram",
200
+ GET_LIST_MISA: "get-list-misa",
201
+ GET_SAPO_PAGE: "get-sapo-page",
202
+ GET_PANCAKE_PAGE: "get-pancake-page",
203
+ GET_PANCAKE_SHOPS_BY_API_KEY: "get-pancake-shops-by-api-key",
204
+ GET_PANCAKE_SHOP_WEBHOOK: "get-pancake-shop-webhook",
205
+ GET_SAPO_WEBHOOK_LIST: "get-sapo-webhook-list",
206
+ GET_LIST_GOOGLE: "get-list-google",
207
+ // ** ivr
208
+ GET_ALL_IVR_GATEWAYS: "get-all-ivr-gateways",
209
+ GET_ALL_IVR_STATE_TYPE: "get-all-ivr-state-type",
210
+ GET_ALL_IVR_AUDIO_FILES: "get-all-ivr-audio-files",
211
+ GET_LIST_IVR_AUDIO_FILE: "get-list-ivr-audio-file",
212
+ GET_LIST_IVR_SCRIPT: "get-list-ivr-script",
213
+ // ** queue
214
+ GET_LIST_QUEUE: "get-list-queue",
215
+ GET_LIST_PARAMS_IN_QUEUE: "get-list-params-in-queue",
216
+ GET_ALL_QUEUES: "get-all-queues",
217
+ GEY_AGENT_IN_QUEUE: "get-agent-in-queue",
218
+ // ** routing
219
+ GET_LIST_ROUTING_RULES: "get-list-routing-rules",
220
+ // ** assign task
221
+ GET_LIST_ASSIGN_TASK_POLICIES: "get-list-assign-task-policies",
222
+ // ** call
223
+ SMART_QC: "smart-qc",
224
+ GET_LIST_SMART_MANUAL_QC: "get-list-smart-manual-qc",
225
+ GET_LIST_SMART_AUTO_QC: "get-list-smart-auto-qc",
226
+ GET_LIST_SMART_QC_TICKET: "get-list-smart-qc-ticket",
227
+ GET_LIST_KEYWORD_QC: "get-list-keyword-qc",
228
+ GET_All_KEYWORD_QC: "get-all-keyword-qc",
229
+ GET_ALL_CRITERIA: "get-all-criteria",
230
+ GET_ALL_CRITERIA_DIALOGUE_TEMPLATE: "get-all-criteria-dialogue-template",
231
+ GET_CHAT_CRITERIA_TEMPLATE_QC: "get-chat-criteria-template",
232
+ GET_QC_CAMP_DETAIL_SUMMARY: "get-qc-camp-detail-summary",
233
+ GET_QC_TICKET_DETAIL_SUMMARY: "get-qc-ticket-detail-summary",
234
+ GET_QC_TICKET_DETAIL_HISTORY: "get-qc-ticket-detail-history",
235
+ // smart view
236
+ // Workflow
237
+ GET_LIST_WORKFLOW: "get-list-workflow",
238
+ GET_WORKFLOW_BY_ID: "get-workflow",
239
+ GET_WORKFLOW_HISTORIES: "get-workflow-histories",
240
+ // tag
241
+ GET_LIST_TAGS: "get-tags",
242
+ GET_TENANT_CONFIG: "get-tenant-config",
243
+ GET_FILTER_GROUPS_BY_TENANT_ID: "get-filter-groups-by-tenant-id",
244
+ GET_FILTER_USERS_BY_TENANT_ID: "get-filter-users-by-tenant-id",
245
+ GET_ALL_DOMAINS: "get-all-domains",
246
+ GET_USER_INFO: "get-user-info",
247
+ //tenant settings
248
+ GET_LIST_TENANT: "get-list-tenant",
249
+ GET_DETAIL_TENANT: "get-detail-tenant",
250
+ GET_LIST_TENANT_AGENT: "get-list-tenant-agent",
251
+ GET_ALL_TENANT_GROUPS: "get-all-tenant-groups",
252
+ GET_LIST_TENANT_IVRGATEWAY: "get-list-tenant-ivr-gateway",
253
+ GET_AI_CHATBOT_COST_OVERVIEW: "get-ai-chatbot-cost-overview",
254
+ GET_AI_CHATBOT_COST_TENANT_SUMMARY: "get-ai-chatbot-cost-tenant-summary",
255
+ GET_AI_CHATBOT_COST_TENANT_BOTS: "get-ai-chatbot-cost-tenant-bots",
256
+ GET_AI_CHATBOT_COST_TENANT_CONVERSATIONS: "get-ai-chatbot-cost-tenant-conversations",
257
+ GET_AI_CHATBOT_COST_TENANT_INTENTS: "get-ai-chatbot-cost-tenant-intents",
258
+ GET_AI_CHATBOT_COST_TENANT_NODES: "get-ai-chatbot-cost-tenant-nodes",
259
+ GET_LIST_OBJECT_RULE: "get-list-object-rule",
260
+ GET_TASK_DUPLICATE_FIELDS: "get-task-duplicate-fields",
261
+ GET_PRODUCT_ATTRIBUTES: "get-product-attributes",
262
+ GET_SHIPPINGS: "get-shippings",
263
+ GET_SHIPPING_FEE_CONFIGS: "get-shipping-fee-configs",
264
+ GET_SHIPPING_FEE_CONFIGS_GROUPED: "get-shipping-fee-configs-grouped",
265
+ GET_ALL_SHIPPING_FEE_CONFIGS: "get-all-shipping-fee-configs",
266
+ GET_SHIPPING_FEE_BY_ID: "get-shipping-fee-by-id",
267
+ GET_STATISTICS_ZNS_REPORT: "get-statistics-zns-report",
268
+ GET_STATISTICS_ZNS_RATING_REPORT: "get-statistics-zns-rating-report",
269
+ GET_STATISTICS_RATING_REPORT: "get-statistics-rating-report",
270
+ GET_STATISTICS_ZNS_CONTACT_REPORT: "get-statistics-zns-contact-report",
271
+ // ticket config
272
+ GET_TICKET_CONFIG: "get-ticket-config",
273
+ // tenant config
274
+ GET_TENANT_CONFIGS: "get-tenant-configs",
275
+ GET_TENANT_CONFIG_BY_KEY: "get-tenant-config-by-key",
276
+ GET_VIEW_TENANT_CONFIG: "get-view-tenant-config",
277
+ GET_DATA_TENANT_CONFIG: "get-data-tenant-config",
278
+ GET_FEATURE_TENANT_CONFIG: "get-feature-tenant-config",
279
+ GET_ACTION_TENANT_CONFIG: "get-action-tenant-config",
280
+ GET_CONFIG_TENANT_CONFIG: "get-config-tenant-config",
281
+ GET_LIST_WEBHOOKS_CONFIG: "get-list-webhooks-config",
282
+ GET_WEBHOOK_CONFIG: "get-webhook-config",
283
+ // products
284
+ GET_BASE_PRODUCTS: "get-base-products",
285
+ GET_PRODUCTS: "get-products",
286
+ GET_ALL_PRODUCT_CATEGORIES: "get-all-product-categories",
287
+ GET_ORDER_SOURCES: "get-order-sources",
288
+ GET_ORDER_STATUS: "get-order-status",
289
+ GET_SHIPPING_STATUS: "get-shipping-status",
290
+ GET_PRINT_TEMPLATES: "get-print-templates",
291
+ GET_PRINT_TEMPLATE: "get-print-template",
292
+ GET_PRODUCT_BRANDS: "get-brands",
293
+ GET_COMBO_PRODUCTS: "get-combo-products",
294
+ // * treatment plan
295
+ GET_ORDERS_MISA_STATUS: "get-orders-misa-status",
296
+ // pipeline
297
+ GET_PIPELINES: "get-pipelines",
298
+ GET_PIPELINE: "get-pipeline",
299
+ // ticket pipeline
300
+ GET_TICKET_PIPELINES: "get-ticket-pipelines",
301
+ GET_TICKET_PIPELINE_DETAIL: "get-ticket-pipeline-detail",
302
+ // Chatbot brands
303
+ GET_CHATBOT_BRANDS: "get-chatbot-brands",
304
+ GET_CHATBOT_BRAND_DETAIL: "get-chatbot-brand-detail",
305
+ GET_LIST_CHATBOT_KNOWLEDGE: "get-list-chatbot-knowledge",
306
+ GET_CHATBOT_KNOWLEDGE_DETAIL: "get-chatbot-knowledge-detail",
307
+ GET_CHATBOT_URL_LOGS: "get-chatbot-url-logs",
308
+ GET_CHATBOT_BRANCHES: "get-chatbot-branches",
309
+ // Chatbot skills
310
+ GET_CHATBOT_SKILLS: "get-chatbot-skills",
311
+ GET_CHATBOT_SKILL_DETAIL: "get-chatbot-skill-detail",
312
+ // Chatbot goals
313
+ GET_CHATBOT_GOALS: "get-chatbot-goals",
314
+ GET_CHATBOT_GOAL_DETAIL: "get-chatbot-goal-detail",
315
+ // Chatbot instructions
316
+ GET_CHATBOT_INSTRUCTIONS: "get-chatbot-instructions",
317
+ GET_CHATBOT_INSTRUCTION_DETAIL: "get-chatbot-instruction-detail",
318
+ // Chatbot intents
319
+ GET_CHATBOT_INTENTS: "get-chatbot-intents",
320
+ GET_CHATBOT_INTENT_DETAIL: "get-chatbot-intent-detail",
321
+ // Chatbot
322
+ GET_CHATBOTS: "get-chatbots",
323
+ GET_CHATBOT_DETAIL: "get-chatbot-detail",
324
+ GET_CHATBOT_TEMPLATES: "get-chatbot-templates",
325
+ GET_CHATBOT_TEMPLATE_DETAIL: "get-chatbot-template-detail",
326
+ GET_CHATBOT_INDUSTRIES: "get-chatbot-industries",
327
+ GET_CHATBOT_AGENT_TYPES: "get-chatbot-agent-types",
328
+ GET_LIST_CHATBOT_CHANNEL_PAGES: "get-list-chatbot-channel-pages",
329
+ GET_LUMI_DEPLOYMENT_CHANNEL_PAGES: "get-lumi-deployment-channel-pages",
330
+ GET_LUMI_DEPLOYMENT_CHANNEL_METRICS: "get-lumi-deployment-channel-metrics",
331
+ GET_LUMI_DEPLOYMENT_CHANNEL_BOTS: "get-lumi-deployment-channel-bots",
332
+ GET_CHATBOT_PREVIEW_CONVERSATION: "get-chatbot-preview-conversation",
333
+ GET_LUMI_LEARNING_SOURCE: "get-lumi-learning-source",
334
+ GET_CHAT_ROOM_COUNT_BY_SOURCE: "get-chat-room-count-by-source",
335
+ GET_ENTITY_EXTRACT_CANDIDATES: "get-entity-extract-candidates",
336
+ GET_ENTITY_EXTRACT_HISTORY: "get-entity-extract-history",
337
+ GET_ENTITY_EXTRACT_PENDING_COUNTS: "get-entity-extract-pending-counts",
338
+ // product service
339
+ GET_SERVICES: "get-product-services",
340
+ GET_SERVICE_DETAIL: "get-product-service-detail",
341
+ GET_LIST_PRICE_SERVICES: "get-price-product-services",
342
+ // offering catalog
343
+ GET_OFFERING_CATALOGS: "get-offering-catalogs",
344
+ GET_OFFERING_CATALOG_DETAIL: "get-offering-catalog-detail",
345
+ // event transition
346
+ GET_EVENT_TRANSITION_SYNC_STATUS: "get-event-transition-sync-status",
347
+ GET_EVENT_TRANSITION_MAPPINGS: "get-event-transition-mappings",
348
+ GET_EVENT_TRANSITION_ZENIFY_EVENTS: "get-event-transition-zenify-events",
349
+ GET_EVENT_TRANSITION_FIELDS: "get-event-transition-fields",
350
+ GET_EVENT_TRANSITION_FIELD_VALUES: "get-event-transition-field-values",
351
+ GET_EVENT_TRANSITION_DATASETS: "get-event-transition-datasets",
352
+ GET_EVENT_TRANSITION_DATASET_LIST: "get-event-transition-dataset-list",
353
+ GET_EVENT_TRANSITION_MESSAGE_FLOWS: "get-event-transition-message-flows",
354
+ GET_EVENT_TRANSITION_LEAD_FORMS: "get-event-transition-lead-forms",
355
+ GET_EVENT_TRANSITION_LEAD_FORM_MAPPINGS: "get-event-transition-lead-form-mappings",
356
+ GET_LIST_SKILLS: "get-list-skills",
357
+ // * sla
358
+ GET_SLA_POLICIES: "get-sla-policies",
359
+ GET_SLA_METADATA: "get-sla-metadata",
360
+ GET_SLA_POLICY_DETAIL: "get-sla-policy-detail",
361
+ GET_SLA_TRACKINGS: "get-sla-trackings",
362
+ GET_SLA_RESULTS: "get-sla-results",
363
+ GET_TICKETS_BY_SESSION_ID: "get-tickets-by-session-id",
364
+ GET_FACEBOOK_CATALOGS: "get-facebook-catalogs",
365
+ // * iam
366
+ GET_IAM_ROLES_LIST: "get-iam-roles-list",
367
+ GET_IAM_WORKSPACES: "get-iam-workspaces",
368
+ // * feature flags + org tree
369
+ FEATURE_FLAGS: "feature-flags",
370
+ ORG_TREE: "org-tree",
371
+ // * sale-sequence
372
+ GET_SALE_SEQUENCES: "get-sale-sequences",
373
+ // * chat timeout
374
+ GET_CHAT_TIMEOUT_CONFIG: "get-chat-timeout-config",
375
+ GET_CHAT_UNHANDLED_CONFIG: "get-chat-unhandled-config",
376
+ // * billing
377
+ GET_BILLING_PACKS_CATALOG: "get-billing-packs-catalog",
378
+ GET_BILLING_PACKS: "get-billing-packs",
379
+ GET_BILLING_INVOICES: "get-billing-invoices",
380
+ GET_BILLING_INVOICE_DETAIL: "get-billing-invoice-detail",
381
+ // * ai comment
382
+ GET_AI_COMMENT_LABELS: "get-ai-comment-labels",
383
+ GET_AI_COMMENT_TEMPLATES: "get-ai-comment-templates",
384
+ // * crm organization
385
+ CRM_ORGANIZATIONS: "CRM_ORGANIZATIONS",
386
+ CRM_ORGANIZATION_DETAIL: "CRM_ORGANIZATION_DETAIL",
387
+ CRM_ORGANIZATION_MEMBERS: "CRM_ORGANIZATION_MEMBERS",
388
+ CRM_ORGANIZATION_ALL_MEMBER_IDS: "CRM_ORGANIZATION_ALL_MEMBER_IDS",
389
+ CRM_ORGANIZATION_NOTES: "CRM_ORGANIZATION_NOTES",
390
+ CRM_ORGANIZATION_EXPORT_FIELDS: "CRM_ORGANIZATION_EXPORT_FIELDS",
391
+ CRM_ORGANIZATION_TAGS: "CRM_ORGANIZATION_TAGS",
392
+ CRM_ORGANIZATION_SMART_VIEWS: "CRM_ORGANIZATION_SMART_VIEWS",
393
+ GET_ALL_ORGANIZATION_FIELDS: "GET_ALL_ORGANIZATION_FIELDS",
394
+ GET_AI_COMMENT_GROUPS: "get-ai-comment-groups",
395
+ GET_AI_COMMENT_FEED: "get-ai-comment-feed",
396
+ GET_AI_COMMENT_STATS: "get-ai-comment-stats",
397
+ // * promotions
398
+ GET_PROMOTION_DETAIL: "get-promotion-detail",
399
+ GET_PROMOTIONS_BY_BRAND: "get-promotions-by-brand",
400
+ // * warehouses
401
+ GET_WAREHOUSES: "get-warehouses",
402
+ // * kpi
403
+ KPI_LIST: "kpi-list",
404
+ KPI_DETAIL: "kpi-detail",
405
+ KPI_REPORT_LIST: "kpi-report-list",
406
+ KPI_REPORT_DETAIL: "kpi-report-detail",
407
+ KPI_USERS_BY_GROUP: "kpi-users-by-group",
408
+ KPI_TENANT_USERS: "kpi-tenant-users",
409
+ // * audit log
410
+ GET_AUDIT_LOGS: "get-audit-logs",
411
+ GET_AUDIT_TAXONOMY: "get-audit-taxonomy",
412
+ GET_AGENT_AUDIT_LOGS: "GET_AGENT_AUDIT_LOGS",
413
+ GET_AGENT_ERROR_LOGS: "GET_AGENT_ERROR_LOGS",
414
+ // * sales returns
415
+ GET_SALES_RETURNS_LIST: "get-sales-returns-list",
416
+ GET_SALES_RETURN_DETAIL: "get-sales-return-detail",
417
+ GET_SALES_RETURN_CUSTOMER_GOODS: "get-sales-return-customer-goods",
418
+ // * working shifts
419
+ GET_LIST_WORKING_SHIFTS: "get-list-working-shifts",
420
+ GET_WORKING_SHIFT_DETAIL: "get-working-shift-detail",
421
+ GET_WORKING_SHIFTS_BY_AGENTS: "get-working-shifts-by-agents",
422
+ // * work schedules (business work schedules)
423
+ GET_LIST_WORK_SCHEDULES: "get-list-work-schedules",
424
+ GET_WORK_SCHEDULE_DETAIL: "get-work-schedule-detail",
425
+ // * user break times
426
+ GET_BREAK_TIMES: "get-break-times",
427
+ GET_BREAK_TIMES_BY_USERS: "get-break-times-by-users",
428
+ // * zalo bi bridge
429
+ GET_ZALO_BOTS: "get-zalo-bots",
430
+ GET_ZALO_WHITELIST: "get-zalo-whitelist",
431
+ // * session policy
432
+ GET_SESSION_POLICY: "get-session-policy",
433
+ // * chat layout
434
+ GET_CHAT_LAYOUTS: "get-chat-layouts",
435
+ GET_CHAT_LAYOUT_DETAIL: "get-chat-layout-detail",
436
+ GET_CHAT_CONFIGS: "get-chat-configs",
437
+ // * smart qc / qa criteria sets
438
+ // Giá trị PHẢI đúng bằng chuỗi 'qa-criteria-sets': hook useQaCriteriaSets()
439
+ // (src/hooks/use-qa-criteria-sets.js) dùng thẳng chuỗi này làm query key,
440
+ // không import hằng số này — đổi giá trị ở đây mà không sửa hook sẽ làm
441
+ // invalidateQueries trượt key.
442
+ GET_QA_CRITERIA_SETS: "qa-criteria-sets",
443
+ // * message broadcast
444
+ GET_LIST_BROADCAST: "get-list-broadcast",
445
+ GET_BROADCAST_DETAIL: "get-broadcast-detail",
446
+ GET_BROADCAST_SEND_RECORDS: "get-broadcast-send-records",
447
+ GET_BROADCAST_ORDERS: "get-broadcast-orders",
448
+ // * dashboard builder (Báo cáo)
449
+ DASHBOARD_LIST: "dashboard-list",
450
+ DASHBOARD_DETAIL: "dashboard-detail",
451
+ DASHBOARD_RUN: "dashboard-run",
452
+ DASHBOARD_VERSIONS: "dashboard-versions",
453
+ REPORT_DEFINITION_LIST: "report-definition-list",
454
+ REPORT_DEFINITION_DETAIL: "report-definition-detail",
455
+ REPORT_DEFINITION_PREVIEW: "report-definition-preview",
456
+ REPORT_DEFINITION_RUN: "report-definition-run",
457
+ DATA_SOURCE_LIST: "data-source-list",
458
+ DATA_SOURCE_ASSOCIATION_LIST: "data-source-association-list",
459
+ GET_QA_MEMBERS: "qa-members",
460
+ GET_QA_REVIEWERS: "qa-reviewers",
461
+ GET_QA_ASSIGNABLE_USERS: "qa-assignable-users",
462
+ GET_QA_EVALUATIONS: "qa-evaluations",
463
+ GET_QA_EVALUATION_STATS: "qa-evaluation-stats",
464
+ GET_QA_REVIEW_QUEUES: "qa-review-queues"
465
+ // * deal name catalog (tenant-scoped)
466
+ });
467
+ var use_query_key_default = QUERY_KEY;
468
+ export {
469
+ use_query_key_default as default
470
+ };