evo360-types 1.3.309 → 1.3.314
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.
- package/dist/apps/evo-activity/zod-schemas.d.ts +6 -6
- package/dist/apps/evo-chat/contact/zod-schemas.d.ts +6 -6
- package/dist/apps/evo-chat/message/zod-schemas.d.ts +6 -6
- package/dist/apps/evo-chat/quick-reply/zod-schemas.d.ts +1204 -0
- package/dist/apps/evo-chat/quick-reply/zod-schemas.js +67 -0
- package/dist/apps/evo-chat/quick-reply/zod-schemas.ts +70 -0
- package/dist/apps/evo-chat/waba-template/zod-schemas.d.ts +1557 -0
- package/dist/apps/evo-chat/waba-template/zod-schemas.js +55 -0
- package/dist/apps/evo-chat/waba-template/zod-schemas.ts +57 -0
- package/dist/apps/evo-crm/dic/zod-schemas.d.ts +18 -18
- package/dist/apps/evo-crm/lead/zod-schemas.d.ts +6 -6
- package/dist/apps/evo-med/appointment/zod-schemas.d.ts +6 -6
- package/dist/apps/evo-med/calendar/zod-schemas.d.ts +6 -6
- package/dist/apps/evo-med/dic/zod-schemas.d.ts +6 -6
- package/dist/apps/evo-med/insurance/zod-schemas.d.ts +6 -6
- package/dist/apps/evo-med/people/zod-schemas.d.ts +12 -12
- package/dist/apps/evo-med/procedure/zod-schemas.d.ts +12 -12
- package/dist/apps/evo-people/zod-schemas.d.ts +30 -24
- package/dist/apps/evo-people/zod-schemas.js +2 -0
- package/dist/apps/evo-people/zod-schemas.ts +2 -0
- package/dist/apps/evo-survey/zod-schemas.d.ts +58 -58
- package/dist/apps/evo-task/zod-schemas.d.ts +54 -54
- package/dist/apps/shared/zod-schemas.d.ts +2 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.ts +2 -0
- package/dist/types/evo-chat/fb_collections.d.ts +4 -0
- package/dist/types/evo-chat/fb_collections.js +6 -1
- package/dist/types/evo-chat/fb_collections.ts +6 -0
- package/dist/types/evo-chat/index.d.ts +2 -0
- package/dist/types/evo-chat/index.js +2 -0
- package/dist/types/evo-chat/index.ts +2 -0
- package/dist/types/evo-chat/quick-reply/index.d.ts +43 -0
- package/dist/types/evo-chat/quick-reply/index.js +2 -0
- package/dist/types/evo-chat/quick-reply/index.ts +49 -0
- package/dist/types/evo-chat/waba-template/index.d.ts +93 -0
- package/dist/types/evo-chat/waba-template/index.js +39 -0
- package/dist/types/evo-chat/waba-template/index.ts +108 -0
- package/dist/types/evo-people/index.d.ts +4 -0
- package/dist/types/evo-people/index.ts +5 -0
- package/package.json +1 -1
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { IFireDoc } from '../../shared';
|
|
2
|
+
|
|
3
|
+
export type QuickReplyType = 'text' | 'image' | 'audio' | 'video' | 'document' | 'location' | 'contacts';
|
|
4
|
+
export type QuickReplyStatus = 'active' | 'paused';
|
|
5
|
+
|
|
6
|
+
export interface IQuickReplyMedia {
|
|
7
|
+
gcs_uri: string;
|
|
8
|
+
mime_type: string;
|
|
9
|
+
filename?: string;
|
|
10
|
+
caption?: string;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface IQuickReplyLocation {
|
|
14
|
+
latitude: number;
|
|
15
|
+
longitude: number;
|
|
16
|
+
name?: string;
|
|
17
|
+
address?: string;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export interface IQuickReplyContact {
|
|
21
|
+
name: { formatted_name: string; first_name?: string; last_name?: string };
|
|
22
|
+
phones?: Array<{ phone: string; type?: string }>;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface IQuickReply extends IFireDoc {
|
|
26
|
+
model_ver: number;
|
|
27
|
+
|
|
28
|
+
// Identificacao
|
|
29
|
+
title: string;
|
|
30
|
+
shortcut?: string;
|
|
31
|
+
|
|
32
|
+
// Conteudo
|
|
33
|
+
type: QuickReplyType;
|
|
34
|
+
body?: { text: string };
|
|
35
|
+
media?: IQuickReplyMedia;
|
|
36
|
+
location?: IQuickReplyLocation;
|
|
37
|
+
contacts_payload?: IQuickReplyContact[];
|
|
38
|
+
|
|
39
|
+
// Disponibilidade por departamento
|
|
40
|
+
department_ids: string[] | 'all';
|
|
41
|
+
|
|
42
|
+
// Status
|
|
43
|
+
status: QuickReplyStatus;
|
|
44
|
+
|
|
45
|
+
// Metadata
|
|
46
|
+
usage_count?: number;
|
|
47
|
+
last_used_at?: Date | null;
|
|
48
|
+
created_by?: string;
|
|
49
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { IFireDoc } from '../../shared';
|
|
2
|
+
export declare const WabaTemplateStatusEnum: {
|
|
3
|
+
readonly Draft: "DRAFT";
|
|
4
|
+
readonly Approved: "APPROVED";
|
|
5
|
+
readonly Pending: "PENDING";
|
|
6
|
+
readonly Rejected: "REJECTED";
|
|
7
|
+
readonly Disabled: "DISABLED";
|
|
8
|
+
readonly Paused: "PAUSED";
|
|
9
|
+
};
|
|
10
|
+
export type WabaTemplateStatus = (typeof WabaTemplateStatusEnum)[keyof typeof WabaTemplateStatusEnum];
|
|
11
|
+
export declare const WabaTemplateCategoryEnum: {
|
|
12
|
+
readonly Authentication: "AUTHENTICATION";
|
|
13
|
+
readonly Marketing: "MARKETING";
|
|
14
|
+
readonly Utility: "UTILITY";
|
|
15
|
+
};
|
|
16
|
+
export type WabaTemplateCategory = (typeof WabaTemplateCategoryEnum)[keyof typeof WabaTemplateCategoryEnum];
|
|
17
|
+
export declare const WabaTemplateComponentTypeEnum: {
|
|
18
|
+
readonly Header: "HEADER";
|
|
19
|
+
readonly Body: "BODY";
|
|
20
|
+
readonly Footer: "FOOTER";
|
|
21
|
+
readonly Buttons: "BUTTONS";
|
|
22
|
+
};
|
|
23
|
+
export type WabaTemplateComponentType = (typeof WabaTemplateComponentTypeEnum)[keyof typeof WabaTemplateComponentTypeEnum];
|
|
24
|
+
export declare const WabaTemplateHeaderFormatEnum: {
|
|
25
|
+
readonly Text: "TEXT";
|
|
26
|
+
readonly Image: "IMAGE";
|
|
27
|
+
readonly Video: "VIDEO";
|
|
28
|
+
readonly Document: "DOCUMENT";
|
|
29
|
+
readonly Location: "LOCATION";
|
|
30
|
+
};
|
|
31
|
+
export type WabaTemplateHeaderFormat = (typeof WabaTemplateHeaderFormatEnum)[keyof typeof WabaTemplateHeaderFormatEnum];
|
|
32
|
+
export declare const WabaTemplateButtonTypeEnum: {
|
|
33
|
+
readonly QuickReply: "QUICK_REPLY";
|
|
34
|
+
readonly Url: "URL";
|
|
35
|
+
readonly PhoneNumber: "PHONE_NUMBER";
|
|
36
|
+
};
|
|
37
|
+
export type WabaTemplateButtonType = (typeof WabaTemplateButtonTypeEnum)[keyof typeof WabaTemplateButtonTypeEnum];
|
|
38
|
+
export declare const WabaTemplateParameterFormatEnum: {
|
|
39
|
+
readonly Named: "NAMED";
|
|
40
|
+
readonly Positional: "POSITIONAL";
|
|
41
|
+
};
|
|
42
|
+
export type WabaTemplateParameterFormat = (typeof WabaTemplateParameterFormatEnum)[keyof typeof WabaTemplateParameterFormatEnum];
|
|
43
|
+
export interface IWabaTemplateButton {
|
|
44
|
+
type: WabaTemplateButtonType;
|
|
45
|
+
text: string;
|
|
46
|
+
url?: string;
|
|
47
|
+
phone_number?: string;
|
|
48
|
+
example?: string[];
|
|
49
|
+
}
|
|
50
|
+
export interface IWabaTemplateComponent {
|
|
51
|
+
type: WabaTemplateComponentType;
|
|
52
|
+
format?: WabaTemplateHeaderFormat;
|
|
53
|
+
text?: string;
|
|
54
|
+
buttons?: IWabaTemplateButton[];
|
|
55
|
+
example?: {
|
|
56
|
+
header_text?: string[];
|
|
57
|
+
header_handle?: string[];
|
|
58
|
+
body_text?: string[][];
|
|
59
|
+
body_text_named_params?: Array<{
|
|
60
|
+
param_name: string;
|
|
61
|
+
example: string;
|
|
62
|
+
}>;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export interface IWabaTemplateDraftSource {
|
|
66
|
+
meta_id: string;
|
|
67
|
+
name: string;
|
|
68
|
+
}
|
|
69
|
+
export interface IWabaTemplate extends IFireDoc {
|
|
70
|
+
meta_id?: string;
|
|
71
|
+
name: string;
|
|
72
|
+
status: WabaTemplateStatus;
|
|
73
|
+
category: WabaTemplateCategory;
|
|
74
|
+
language: string;
|
|
75
|
+
components: IWabaTemplateComponent[];
|
|
76
|
+
parameter_format?: WabaTemplateParameterFormat;
|
|
77
|
+
quality_score?: {
|
|
78
|
+
score: string;
|
|
79
|
+
date: number;
|
|
80
|
+
};
|
|
81
|
+
rejected_reason?: string;
|
|
82
|
+
waba_id: string;
|
|
83
|
+
synced_at?: Date | null;
|
|
84
|
+
is_draft: boolean;
|
|
85
|
+
draft_source?: IWabaTemplateDraftSource;
|
|
86
|
+
}
|
|
87
|
+
export interface IWabaTemplateCreateRequest {
|
|
88
|
+
name: string;
|
|
89
|
+
category: WabaTemplateCategory;
|
|
90
|
+
language: string;
|
|
91
|
+
parameter_format?: WabaTemplateParameterFormat;
|
|
92
|
+
components: IWabaTemplateComponent[];
|
|
93
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WabaTemplateParameterFormatEnum = exports.WabaTemplateButtonTypeEnum = exports.WabaTemplateHeaderFormatEnum = exports.WabaTemplateComponentTypeEnum = exports.WabaTemplateCategoryEnum = exports.WabaTemplateStatusEnum = void 0;
|
|
4
|
+
// ── Enums ──
|
|
5
|
+
exports.WabaTemplateStatusEnum = {
|
|
6
|
+
Draft: 'DRAFT',
|
|
7
|
+
Approved: 'APPROVED',
|
|
8
|
+
Pending: 'PENDING',
|
|
9
|
+
Rejected: 'REJECTED',
|
|
10
|
+
Disabled: 'DISABLED',
|
|
11
|
+
Paused: 'PAUSED',
|
|
12
|
+
};
|
|
13
|
+
exports.WabaTemplateCategoryEnum = {
|
|
14
|
+
Authentication: 'AUTHENTICATION',
|
|
15
|
+
Marketing: 'MARKETING',
|
|
16
|
+
Utility: 'UTILITY',
|
|
17
|
+
};
|
|
18
|
+
exports.WabaTemplateComponentTypeEnum = {
|
|
19
|
+
Header: 'HEADER',
|
|
20
|
+
Body: 'BODY',
|
|
21
|
+
Footer: 'FOOTER',
|
|
22
|
+
Buttons: 'BUTTONS',
|
|
23
|
+
};
|
|
24
|
+
exports.WabaTemplateHeaderFormatEnum = {
|
|
25
|
+
Text: 'TEXT',
|
|
26
|
+
Image: 'IMAGE',
|
|
27
|
+
Video: 'VIDEO',
|
|
28
|
+
Document: 'DOCUMENT',
|
|
29
|
+
Location: 'LOCATION',
|
|
30
|
+
};
|
|
31
|
+
exports.WabaTemplateButtonTypeEnum = {
|
|
32
|
+
QuickReply: 'QUICK_REPLY',
|
|
33
|
+
Url: 'URL',
|
|
34
|
+
PhoneNumber: 'PHONE_NUMBER',
|
|
35
|
+
};
|
|
36
|
+
exports.WabaTemplateParameterFormatEnum = {
|
|
37
|
+
Named: 'NAMED',
|
|
38
|
+
Positional: 'POSITIONAL',
|
|
39
|
+
};
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { IFireDoc } from '../../shared';
|
|
2
|
+
|
|
3
|
+
// ── Enums ──
|
|
4
|
+
|
|
5
|
+
export const WabaTemplateStatusEnum = {
|
|
6
|
+
Draft: 'DRAFT',
|
|
7
|
+
Approved: 'APPROVED',
|
|
8
|
+
Pending: 'PENDING',
|
|
9
|
+
Rejected: 'REJECTED',
|
|
10
|
+
Disabled: 'DISABLED',
|
|
11
|
+
Paused: 'PAUSED',
|
|
12
|
+
} as const;
|
|
13
|
+
export type WabaTemplateStatus = (typeof WabaTemplateStatusEnum)[keyof typeof WabaTemplateStatusEnum];
|
|
14
|
+
|
|
15
|
+
export const WabaTemplateCategoryEnum = {
|
|
16
|
+
Authentication: 'AUTHENTICATION',
|
|
17
|
+
Marketing: 'MARKETING',
|
|
18
|
+
Utility: 'UTILITY',
|
|
19
|
+
} as const;
|
|
20
|
+
export type WabaTemplateCategory = (typeof WabaTemplateCategoryEnum)[keyof typeof WabaTemplateCategoryEnum];
|
|
21
|
+
|
|
22
|
+
export const WabaTemplateComponentTypeEnum = {
|
|
23
|
+
Header: 'HEADER',
|
|
24
|
+
Body: 'BODY',
|
|
25
|
+
Footer: 'FOOTER',
|
|
26
|
+
Buttons: 'BUTTONS',
|
|
27
|
+
} as const;
|
|
28
|
+
export type WabaTemplateComponentType = (typeof WabaTemplateComponentTypeEnum)[keyof typeof WabaTemplateComponentTypeEnum];
|
|
29
|
+
|
|
30
|
+
export const WabaTemplateHeaderFormatEnum = {
|
|
31
|
+
Text: 'TEXT',
|
|
32
|
+
Image: 'IMAGE',
|
|
33
|
+
Video: 'VIDEO',
|
|
34
|
+
Document: 'DOCUMENT',
|
|
35
|
+
Location: 'LOCATION',
|
|
36
|
+
} as const;
|
|
37
|
+
export type WabaTemplateHeaderFormat = (typeof WabaTemplateHeaderFormatEnum)[keyof typeof WabaTemplateHeaderFormatEnum];
|
|
38
|
+
|
|
39
|
+
export const WabaTemplateButtonTypeEnum = {
|
|
40
|
+
QuickReply: 'QUICK_REPLY',
|
|
41
|
+
Url: 'URL',
|
|
42
|
+
PhoneNumber: 'PHONE_NUMBER',
|
|
43
|
+
} as const;
|
|
44
|
+
export type WabaTemplateButtonType = (typeof WabaTemplateButtonTypeEnum)[keyof typeof WabaTemplateButtonTypeEnum];
|
|
45
|
+
|
|
46
|
+
export const WabaTemplateParameterFormatEnum = {
|
|
47
|
+
Named: 'NAMED',
|
|
48
|
+
Positional: 'POSITIONAL',
|
|
49
|
+
} as const;
|
|
50
|
+
export type WabaTemplateParameterFormat = (typeof WabaTemplateParameterFormatEnum)[keyof typeof WabaTemplateParameterFormatEnum];
|
|
51
|
+
|
|
52
|
+
// ── Component types ──
|
|
53
|
+
|
|
54
|
+
export interface IWabaTemplateButton {
|
|
55
|
+
type: WabaTemplateButtonType;
|
|
56
|
+
text: string;
|
|
57
|
+
url?: string;
|
|
58
|
+
phone_number?: string;
|
|
59
|
+
example?: string[];
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export interface IWabaTemplateComponent {
|
|
63
|
+
type: WabaTemplateComponentType;
|
|
64
|
+
format?: WabaTemplateHeaderFormat;
|
|
65
|
+
text?: string;
|
|
66
|
+
buttons?: IWabaTemplateButton[];
|
|
67
|
+
example?: {
|
|
68
|
+
header_text?: string[];
|
|
69
|
+
header_handle?: string[];
|
|
70
|
+
body_text?: string[][];
|
|
71
|
+
body_text_named_params?: Array<{ param_name: string; example: string }>;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// ── Draft source ──
|
|
76
|
+
|
|
77
|
+
export interface IWabaTemplateDraftSource {
|
|
78
|
+
meta_id: string;
|
|
79
|
+
name: string;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// ── Documento principal ──
|
|
83
|
+
|
|
84
|
+
export interface IWabaTemplate extends IFireDoc {
|
|
85
|
+
meta_id?: string;
|
|
86
|
+
name: string;
|
|
87
|
+
status: WabaTemplateStatus;
|
|
88
|
+
category: WabaTemplateCategory;
|
|
89
|
+
language: string;
|
|
90
|
+
components: IWabaTemplateComponent[];
|
|
91
|
+
parameter_format?: WabaTemplateParameterFormat;
|
|
92
|
+
quality_score?: { score: string; date: number };
|
|
93
|
+
rejected_reason?: string;
|
|
94
|
+
waba_id: string;
|
|
95
|
+
synced_at?: Date | null;
|
|
96
|
+
is_draft: boolean;
|
|
97
|
+
draft_source?: IWabaTemplateDraftSource;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
// ── Request types ──
|
|
101
|
+
|
|
102
|
+
export interface IWabaTemplateCreateRequest {
|
|
103
|
+
name: string;
|
|
104
|
+
category: WabaTemplateCategory;
|
|
105
|
+
language: string;
|
|
106
|
+
parameter_format?: WabaTemplateParameterFormat;
|
|
107
|
+
components: IWabaTemplateComponent[];
|
|
108
|
+
}
|
|
@@ -119,6 +119,10 @@ export interface IDepartment extends IFireDoc {
|
|
|
119
119
|
parent_departmentRef?: FirestoreDocumentReference | null;
|
|
120
120
|
readonly employee_counters?: IEmployeeCounters;
|
|
121
121
|
tags?: ITag[] | null;
|
|
122
|
+
/** Must be explicitly true for the department to receive chat transfers and be used as channel default. */
|
|
123
|
+
chat_enabled?: boolean;
|
|
124
|
+
/** Color for UI rendering in hub-omni (e.g., '#4CAF50'). */
|
|
125
|
+
chat_color?: string;
|
|
122
126
|
}
|
|
123
127
|
export interface IOffice extends IFireDoc {
|
|
124
128
|
code: string;
|
|
@@ -183,6 +183,11 @@ export interface IDepartment extends IFireDoc {
|
|
|
183
183
|
parent_departmentRef?: FirestoreDocumentReference | null;
|
|
184
184
|
readonly employee_counters?: IEmployeeCounters;
|
|
185
185
|
tags?: ITag[] | null;
|
|
186
|
+
|
|
187
|
+
/** Must be explicitly true for the department to receive chat transfers and be used as channel default. */
|
|
188
|
+
chat_enabled?: boolean;
|
|
189
|
+
/** Color for UI rendering in hub-omni (e.g., '#4CAF50'). */
|
|
190
|
+
chat_color?: string;
|
|
186
191
|
}
|
|
187
192
|
|
|
188
193
|
export interface IOffice extends IFireDoc {
|