@hapl/api-queries 0.2.24 → 0.2.25

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 (29) hide show
  1. package/dist/api-queries.cjs.development.js +1698 -1392
  2. package/dist/api-queries.cjs.development.js.map +1 -1
  3. package/dist/api-queries.cjs.production.min.js +1 -1
  4. package/dist/api-queries.cjs.production.min.js.map +1 -1
  5. package/dist/api-queries.esm.js +1698 -1392
  6. package/dist/api-queries.esm.js.map +1 -1
  7. package/dist/clients/v1/api/callTask/callCallTaskExpert.d.ts +30 -0
  8. package/dist/clients/v1/api/callTask/createCallTask.d.ts +3 -1
  9. package/dist/clients/v1/api/callTask/findCallTaskSourceInfo.d.ts +44 -0
  10. package/dist/clients/v1/api/callTask/joinCallTaskCall.d.ts +30 -0
  11. package/dist/clients/v1/api/callTask/returnCallTaskCall.d.ts +29 -0
  12. package/dist/clients/v1/api/callTask/shiftCallTask.d.ts +35 -0
  13. package/dist/clients/v1/api/index.d.ts +5 -0
  14. package/dist/clients/v1/api/user/updateUser/index.d.ts +3 -0
  15. package/dist/clients/v1/dictionaries/CallTask.d.ts +5 -1
  16. package/dist/clients/v1/index.d.ts +5 -0
  17. package/dist/clients/v1/types/CallTask.d.ts +12 -0
  18. package/package.json +3 -3
  19. package/src/clients/v1/api/callTask/callCallTaskExpert.ts +46 -0
  20. package/src/clients/v1/api/callTask/createCallTask.ts +3 -1
  21. package/src/clients/v1/api/callTask/findCallTaskSourceInfo.ts +49 -0
  22. package/src/clients/v1/api/callTask/joinCallTaskCall.ts +46 -0
  23. package/src/clients/v1/api/callTask/returnCallTaskCall.ts +46 -0
  24. package/src/clients/v1/api/callTask/shiftCallTask.ts +45 -0
  25. package/src/clients/v1/api/index.ts +5 -0
  26. package/src/clients/v1/api/user/updateUser/index.ts +3 -0
  27. package/src/clients/v1/dictionaries/CallTask.ts +5 -0
  28. package/src/clients/v1/index.ts +27 -0
  29. package/src/clients/v1/types/CallTask.ts +10 -0
@@ -0,0 +1,30 @@
1
+ import { AxiosResponse, AxiosError } from 'axios';
2
+ import { Call } from '../../types';
3
+ declare type SuccessData = {
4
+ success: true;
5
+ data: Call;
6
+ };
7
+ declare type ErrorData = {
8
+ success: false;
9
+ data: {
10
+ error: string;
11
+ };
12
+ };
13
+ declare type ResultData = SuccessData['data'];
14
+ declare type ResultError = ErrorData['data']['error'];
15
+ export declare type CallCallTaskExpertHeaders = {
16
+ 'x-auth-hc'?: string;
17
+ };
18
+ export declare type CallCallTaskExpertUrlParams = {
19
+ id: number;
20
+ expertId: number;
21
+ };
22
+ export declare type CallCallTaskExpertData = AxiosResponse<ResultData>;
23
+ export declare type CallCallTaskExpertError = AxiosError<ResultError>;
24
+ export declare type CallCallTaskExpertConfig = {
25
+ baseURL?: string;
26
+ headers?: CallCallTaskExpertHeaders;
27
+ urlParams: CallCallTaskExpertUrlParams;
28
+ };
29
+ export declare function callCallTaskExpertRequest({ baseURL, urlParams, headers, }: CallCallTaskExpertConfig): Promise<CallCallTaskExpertData>;
30
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { AxiosResponse, AxiosError } from 'axios';
2
- import { CallTask } from '../../types';
2
+ import { CallTask, CallTaskDirection } from '../../types';
3
3
  declare type ResultData = CallTask;
4
4
  declare type ResultError = string;
5
5
  export declare type CreateCallTaskHeaders = {
@@ -11,6 +11,8 @@ export declare type CreateCallTaskBody = {
11
11
  comment?: CallTask['comment'];
12
12
  cookies?: Record<string, string>;
13
13
  complexId?: number;
14
+ direction: CallTaskDirection;
15
+ sourceInfo?: CallTask['sourceInfo'];
14
16
  expertId?: number;
15
17
  realtyId?: number;
16
18
  source?: CallTask['source'];
@@ -0,0 +1,44 @@
1
+ import { AxiosResponse, AxiosError } from 'axios';
2
+ declare type SuccessData = {
3
+ success: true;
4
+ data: {
5
+ source: string[];
6
+ campaign: string[];
7
+ content: string[];
8
+ };
9
+ };
10
+ declare type ErrorData = {
11
+ success: false;
12
+ data: {
13
+ error: string;
14
+ };
15
+ };
16
+ declare type ResultData = SuccessData['data'];
17
+ declare type ResultError = ErrorData['data']['error'];
18
+ export declare type FindCallTaskSourceInfoParams = {
19
+ filter?: {
20
+ 'sourceInfo.source'?: string;
21
+ 'sourceInfo.campaign'?: string;
22
+ 'sourceInfo.content'?: string;
23
+ };
24
+ limits?: {
25
+ page?: number;
26
+ count: number | 'all';
27
+ };
28
+ sorting?: {
29
+ direction: 'asc' | 'desc';
30
+ type: 'createdAt' | 'id';
31
+ };
32
+ };
33
+ export declare type FindCallTaskSourceInfoHeaders = {
34
+ 'x-auth-hc': string;
35
+ };
36
+ export declare type FindCallTaskSourceInfoData = AxiosResponse<ResultData>;
37
+ export declare type FindCallTaskSourceInfoError = AxiosError<ResultError>;
38
+ export declare type FindCallTaskSourceInfoConfig = {
39
+ baseURL?: string;
40
+ params: FindCallTaskSourceInfoParams;
41
+ headers: FindCallTaskSourceInfoHeaders;
42
+ };
43
+ export declare function findCallTaskSourceInfoRequest({ baseURL, params, headers, }: FindCallTaskSourceInfoConfig): Promise<FindCallTaskSourceInfoData>;
44
+ export {};
@@ -0,0 +1,30 @@
1
+ import { AxiosResponse, AxiosError } from 'axios';
2
+ import { Call } from '../../types';
3
+ declare type SuccessData = {
4
+ success: true;
5
+ data: Call;
6
+ };
7
+ declare type ErrorData = {
8
+ success: false;
9
+ data: {
10
+ error: string;
11
+ };
12
+ };
13
+ declare type ResultData = SuccessData['data'];
14
+ declare type ResultError = ErrorData['data']['error'];
15
+ export declare type JoinCallTaskCallHeaders = {
16
+ 'x-auth-hc'?: string;
17
+ };
18
+ export declare type JoinCallTaskCallUrlParams = {
19
+ id: number;
20
+ expertId: number;
21
+ };
22
+ export declare type JoinCallTaskCallData = AxiosResponse<ResultData>;
23
+ export declare type JoinCallTaskCallError = AxiosError<ResultError>;
24
+ export declare type JoinCallTaskCallConfig = {
25
+ baseURL?: string;
26
+ headers?: JoinCallTaskCallHeaders;
27
+ urlParams: JoinCallTaskCallUrlParams;
28
+ };
29
+ export declare function joinCallTaskCallRequest({ baseURL, urlParams, headers, }: JoinCallTaskCallConfig): Promise<JoinCallTaskCallData>;
30
+ export {};
@@ -0,0 +1,29 @@
1
+ import { AxiosResponse, AxiosError } from 'axios';
2
+ import { Call } from '../../types';
3
+ declare type SuccessData = {
4
+ success: true;
5
+ data: Call;
6
+ };
7
+ declare type ErrorData = {
8
+ success: false;
9
+ data: {
10
+ error: string;
11
+ };
12
+ };
13
+ declare type ResultData = SuccessData['data'];
14
+ declare type ResultError = ErrorData['data']['error'];
15
+ export declare type ReturnCallTaskCallHeaders = {
16
+ 'x-auth-hc'?: string;
17
+ };
18
+ export declare type ReturnCallTaskCallUrlParams = {
19
+ id: number;
20
+ };
21
+ export declare type ReturnCallTaskCallData = AxiosResponse<ResultData>;
22
+ export declare type ReturnCallTaskCallError = AxiosError<ResultError>;
23
+ export declare type ReturnCallTaskCallConfig = {
24
+ baseURL?: string;
25
+ headers?: ReturnCallTaskCallHeaders;
26
+ urlParams: ReturnCallTaskCallUrlParams;
27
+ };
28
+ export declare function returnCallTaskCallRequest({ baseURL, urlParams, headers, }: ReturnCallTaskCallConfig): Promise<ReturnCallTaskCallData>;
29
+ export {};
@@ -0,0 +1,35 @@
1
+ import { AxiosResponse, AxiosError } from 'axios';
2
+ import { CallTask } from '../../types';
3
+ declare type SuccessData = {
4
+ success: true;
5
+ data: CallTask;
6
+ };
7
+ declare type ErrorData = {
8
+ success: false;
9
+ data: {
10
+ error: string;
11
+ };
12
+ };
13
+ declare type ResultData = SuccessData['data'];
14
+ declare type ResultError = ErrorData['data']['error'];
15
+ export declare type ShiftCallTaskHeaders = {
16
+ 'x-auth-hc'?: string;
17
+ };
18
+ export declare type ShiftCallTaskUrlParams = {
19
+ id: number;
20
+ };
21
+ export declare type ShiftCallTaskBody = {
22
+ id: number;
23
+ actualAt: string;
24
+ comment?: string;
25
+ };
26
+ export declare type ShiftCallTaskData = AxiosResponse<ResultData>;
27
+ export declare type ShiftCallTaskError = AxiosError<ResultError>;
28
+ export declare type ShiftCallTaskConfig = {
29
+ baseURL?: string;
30
+ headers?: ShiftCallTaskHeaders;
31
+ urlParams: ShiftCallTaskUrlParams;
32
+ body: ShiftCallTaskBody;
33
+ };
34
+ export declare function shiftCallTaskRequest({ baseURL, urlParams, headers, body, }: ShiftCallTaskConfig): Promise<ShiftCallTaskData>;
35
+ export {};
@@ -33,10 +33,15 @@ export * from './callCenter/finishOperatorWork';
33
33
  export * from './callCenter/getOperatorStatus';
34
34
  export * from './callCenter/startOperatorWork';
35
35
  export * from './callTask/callCallTask';
36
+ export * from './callTask/callCallTaskExpert';
36
37
  export * from './callTask/closeCallTask';
37
38
  export * from './callTask/createCallTask';
38
39
  export * from './callTask/findCallTaskById';
40
+ export * from './callTask/findCallTaskSourceInfo';
39
41
  export * from './callTask/findCallTasks';
42
+ export * from './callTask/joinCallTaskCall';
43
+ export * from './callTask/returnCallTaskCall';
44
+ export * from './callTask/shiftCallTask';
40
45
  export * from './callTask/updateCallTask';
41
46
  export * from './comment/findComments';
42
47
  export * from './contract/approveContract';
@@ -48,6 +48,9 @@ export declare type UpdateUserBody = {
48
48
  phones?: Array<Omit<UserPhone, 'id'>>;
49
49
  roles?: Required<User>['roles'];
50
50
  supervisor?: Required<User>['supervisor'];
51
+ groupLead?: Required<User>['groupLead'];
52
+ textReviews?: Required<User>['textReviews'];
53
+ videoReviews?: Required<User>['videoReviews'];
51
54
  };
52
55
  export declare type UpdateUserData = AxiosResponse<ResultData>;
53
56
  export declare type UpdateUserError = AxiosError<ResultError>;
@@ -1,4 +1,4 @@
1
- import { CallTaskPriority, CallTaskStatus, CallTaskReason, CallTaskColdReason, CallTaskTriggeredByEvent, CallTaskType } from '../types';
1
+ import { CallTaskPriority, CallTaskStatus, CallTaskReason, CallTaskColdReason, CallTaskTriggeredByEvent, CallTaskType, CallTaskDirection } from '../types';
2
2
  export declare const CallTaskDictionary: {
3
3
  Priority: {
4
4
  10: string;
@@ -6,6 +6,10 @@ export declare const CallTaskDictionary: {
6
6
  100: string;
7
7
  200: string;
8
8
  };
9
+ Direction: {
10
+ moscowOffice: string;
11
+ asia: string;
12
+ };
9
13
  Status: {
10
14
  open: string;
11
15
  booked: string;
@@ -37,10 +37,15 @@ export declare class Api {
37
37
  startOperatorWork: (headers: api.StartOperatorWorkHeaders) => Promise<api.StartOperatorWorkData>;
38
38
  getOperatorStatus: (headers: api.GetOperatorStatusHeaders) => Promise<api.GetOperatorStatusData>;
39
39
  callCallTask: (urlParams: api.CallCallTaskUrlParams, headers?: api.CreateCallTaskHeaders | undefined) => Promise<api.CallCallTaskData>;
40
+ callCallTaskExpert: (urlParams: api.CallCallTaskExpertUrlParams, headers?: api.CallCallTaskExpertHeaders | undefined) => Promise<api.CallCallTaskExpertData>;
40
41
  closeCallTask: (urlParams: api.CallCallTaskUrlParams, body: api.CloseCallTaskBody, headers?: api.CreateCallTaskHeaders | undefined) => Promise<api.CloseCallTaskData>;
41
42
  createCallTask: (body: api.CreateCallTaskBody, headers?: api.CreateCallTaskHeaders | undefined) => Promise<api.CreateCallTaskData>;
42
43
  findCallTaskById: (urlParams: api.FindCallByIdUrlParams, headers: api.FindCallTaskByIdHeaders) => Promise<api.FindCallTaskByIdData>;
44
+ findCallTaskSourceInfo: (params: api.FindCallTaskSourceInfoParams, headers: api.FindCallTaskSourceInfoHeaders) => Promise<api.FindCallTaskSourceInfoData>;
43
45
  findCallTasks: (params: api.FindCallTasksParams, headers: api.FindCallTasksHeaders) => Promise<api.FindCallTasksData>;
46
+ joinCallTaskCall: (urlParams: api.JoinCallTaskCallUrlParams, headers?: api.JoinCallTaskCallHeaders | undefined) => Promise<api.JoinCallTaskCallData>;
47
+ returnCallTaskCall: (urlParams: api.ReturnCallTaskCallUrlParams, headers?: api.ReturnCallTaskCallHeaders | undefined) => Promise<api.ReturnCallTaskCallData>;
48
+ shiftCallTask: (urlParams: api.ShiftCallTaskUrlParams, body: api.ShiftCallTaskBody, headers?: api.ShiftCallTaskHeaders | undefined) => Promise<api.ShiftCallTaskData>;
44
49
  updateCallTask: (urlParams: api.UpdateCallTaskUrlParams, body: api.UpdateCallTaskBody, headers: api.FindCallTasksHeaders) => Promise<api.UpdateCallTaskData>;
45
50
  findComments: (params: api.FindCommentsParams, headers: api.FindCommentsHeaders) => Promise<api.FindCommentsData>;
46
51
  approveContract: (urlParams: api.ApproveContractUrlParams, body: api.ApproveContractBody, headers: api.ApproveContractHeaders) => Promise<api.ApproveContractData>;
@@ -68,6 +68,15 @@ export declare enum CallTaskType {
68
68
  ActiveClientSearch = "active_client_search",
69
69
  Other = "other"
70
70
  }
71
+ export declare enum CallTaskDirection {
72
+ MoscowOffice = "moscowOffice",
73
+ Asia = "asia"
74
+ }
75
+ export declare type CallTaskSourceInfo = {
76
+ source: string;
77
+ campaign: string;
78
+ content: string;
79
+ };
71
80
  export declare type CallTask = {
72
81
  actualAt: string;
73
82
  calls: Array<Partial<Call> & {
@@ -88,6 +97,9 @@ export declare type CallTask = {
88
97
  type: CallTaskType;
89
98
  updatedAt: string;
90
99
  viewsCount: number;
100
+ direction: CallTaskDirection;
101
+ isAgent?: boolean;
102
+ sourceInfo?: Partial<CallTaskSourceInfo>;
91
103
  bookedBy?: Partial<User> & {
92
104
  id: string;
93
105
  };
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.2.24",
2
+ "version": "0.2.25",
3
3
  "license": "MIT",
4
4
  "main": "dist/index.js",
5
5
  "typings": "dist/index.d.ts",
@@ -46,11 +46,11 @@
46
46
  "size-limit": [
47
47
  {
48
48
  "path": "dist/api-queries.cjs.production.min.js",
49
- "limit": "50 KB"
49
+ "limit": "80 KB"
50
50
  },
51
51
  {
52
52
  "path": "dist/api-queries.esm.js",
53
- "limit": "50 KB"
53
+ "limit": "80 KB"
54
54
  }
55
55
  ],
56
56
  "devDependencies": {
@@ -0,0 +1,46 @@
1
+ import axios, { AxiosResponse, AxiosError, AxiosTransformer } from 'axios';
2
+ import { Call } from '../../types';
3
+
4
+ type SuccessData = { success: true; data: Call };
5
+ type ErrorData = { success: false; data: { error: string } };
6
+
7
+ type ResultData = SuccessData['data'];
8
+ type ResultError = ErrorData['data']['error'];
9
+
10
+ export type CallCallTaskExpertHeaders = { 'x-auth-hc'?: string };
11
+ export type CallCallTaskExpertUrlParams = { id: number; expertId: number };
12
+ export type CallCallTaskExpertData = AxiosResponse<ResultData>;
13
+ export type CallCallTaskExpertError = AxiosError<ResultError>;
14
+ export type CallCallTaskExpertConfig = {
15
+ baseURL?: string;
16
+ headers?: CallCallTaskExpertHeaders;
17
+ urlParams: CallCallTaskExpertUrlParams;
18
+ };
19
+
20
+ export function callCallTaskExpertRequest({
21
+ baseURL = 'https://clients.homeapp.ru',
22
+ urlParams,
23
+ headers,
24
+ }: CallCallTaskExpertConfig) {
25
+ return axios
26
+ .post(
27
+ `/api/call-center/call-task/${urlParams.id}/call/${urlParams.expertId}`,
28
+ {},
29
+ {
30
+ baseURL,
31
+ headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },
32
+ transformResponse: [
33
+ ...(axios.defaults.transformResponse as AxiosTransformer[]),
34
+ (data: SuccessData | ErrorData): ResultData | ResultError => {
35
+ if (data.success) return data.data;
36
+
37
+ return data.data.error;
38
+ },
39
+ ],
40
+ }
41
+ )
42
+ .then((res: CallCallTaskExpertData) => res)
43
+ .catch((err: CallCallTaskExpertError) => {
44
+ throw err;
45
+ });
46
+ }
@@ -1,5 +1,5 @@
1
1
  import axios, { AxiosResponse, AxiosError, AxiosTransformer } from 'axios';
2
- import { CallTask } from '../../types';
2
+ import { CallTask, CallTaskDirection } from '../../types';
3
3
 
4
4
  type SuccessData = { success: true; data: CallTask };
5
5
  type ErrorData = { success: false; data: { error: string } };
@@ -14,6 +14,8 @@ export type CreateCallTaskBody = {
14
14
  comment?: CallTask['comment'];
15
15
  cookies?: Record<string, string>;
16
16
  complexId?: number;
17
+ direction: CallTaskDirection;
18
+ sourceInfo?: CallTask['sourceInfo'];
17
19
  expertId?: number;
18
20
  realtyId?: number;
19
21
  source?: CallTask['source'];
@@ -0,0 +1,49 @@
1
+ import axios, { AxiosResponse, AxiosError, AxiosTransformer } from 'axios';
2
+ import qs from 'qs';
3
+
4
+ type SuccessData = { success: true; data: { source: string[]; campaign: string[]; content: string[] } };
5
+ type ErrorData = { success: false; data: { error: string } };
6
+
7
+ type ResultData = SuccessData['data'];
8
+ type ResultError = ErrorData['data']['error'];
9
+
10
+ export type FindCallTaskSourceInfoParams = {
11
+ filter?: {
12
+ 'sourceInfo.source'?: string;
13
+ 'sourceInfo.campaign'?: string;
14
+ 'sourceInfo.content'?: string;
15
+ };
16
+ limits?: { page?: number; count: number | 'all' };
17
+ sorting?: { direction: 'asc' | 'desc'; type: 'createdAt' | 'id' };
18
+ };
19
+ export type FindCallTaskSourceInfoHeaders = { 'x-auth-hc': string };
20
+ export type FindCallTaskSourceInfoData = AxiosResponse<ResultData>;
21
+ export type FindCallTaskSourceInfoError = AxiosError<ResultError>;
22
+
23
+ export type FindCallTaskSourceInfoConfig = {
24
+ baseURL?: string;
25
+ params: FindCallTaskSourceInfoParams;
26
+ headers: FindCallTaskSourceInfoHeaders;
27
+ };
28
+
29
+ export function findCallTaskSourceInfoRequest({
30
+ baseURL = 'https://clients.homeapp.ru',
31
+ params,
32
+ headers,
33
+ }: FindCallTaskSourceInfoConfig) {
34
+ return axios
35
+ .get(`/api/calls/task/sourceInfo`, {
36
+ baseURL,
37
+ params,
38
+ paramsSerializer: params => qs.stringify(params, { arrayFormat: 'brackets' }),
39
+ headers: { Accept: 'application/json', ...headers },
40
+ transformResponse: [
41
+ ...(axios.defaults.transformResponse as AxiosTransformer[]),
42
+ (data: SuccessData | ErrorData): ResultData | ResultError => (data.success ? data.data : data.data.error),
43
+ ],
44
+ })
45
+ .then((res: FindCallTaskSourceInfoData) => res)
46
+ .catch((err: FindCallTaskSourceInfoError) => {
47
+ throw err;
48
+ });
49
+ }
@@ -0,0 +1,46 @@
1
+ import axios, { AxiosResponse, AxiosError, AxiosTransformer } from 'axios';
2
+ import { Call } from '../../types';
3
+
4
+ type SuccessData = { success: true; data: Call };
5
+ type ErrorData = { success: false; data: { error: string } };
6
+
7
+ type ResultData = SuccessData['data'];
8
+ type ResultError = ErrorData['data']['error'];
9
+
10
+ export type JoinCallTaskCallHeaders = { 'x-auth-hc'?: string };
11
+ export type JoinCallTaskCallUrlParams = { id: number; expertId: number };
12
+ export type JoinCallTaskCallData = AxiosResponse<ResultData>;
13
+ export type JoinCallTaskCallError = AxiosError<ResultError>;
14
+ export type JoinCallTaskCallConfig = {
15
+ baseURL?: string;
16
+ headers?: JoinCallTaskCallHeaders;
17
+ urlParams: JoinCallTaskCallUrlParams;
18
+ };
19
+
20
+ export function joinCallTaskCallRequest({
21
+ baseURL = 'https://clients.homeapp.ru',
22
+ urlParams,
23
+ headers,
24
+ }: JoinCallTaskCallConfig) {
25
+ return axios
26
+ .post(
27
+ `/api/call-center/call-task/${urlParams.id}/join/${urlParams.expertId}`,
28
+ {},
29
+ {
30
+ baseURL,
31
+ headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },
32
+ transformResponse: [
33
+ ...(axios.defaults.transformResponse as AxiosTransformer[]),
34
+ (data: SuccessData | ErrorData): ResultData | ResultError => {
35
+ if (data.success) return data.data;
36
+
37
+ return data.data.error;
38
+ },
39
+ ],
40
+ }
41
+ )
42
+ .then((res: JoinCallTaskCallData) => res)
43
+ .catch((err: JoinCallTaskCallError) => {
44
+ throw err;
45
+ });
46
+ }
@@ -0,0 +1,46 @@
1
+ import axios, { AxiosResponse, AxiosError, AxiosTransformer } from 'axios';
2
+ import { Call } from '../../types';
3
+
4
+ type SuccessData = { success: true; data: Call };
5
+ type ErrorData = { success: false; data: { error: string } };
6
+
7
+ type ResultData = SuccessData['data'];
8
+ type ResultError = ErrorData['data']['error'];
9
+
10
+ export type ReturnCallTaskCallHeaders = { 'x-auth-hc'?: string };
11
+ export type ReturnCallTaskCallUrlParams = { id: number };
12
+ export type ReturnCallTaskCallData = AxiosResponse<ResultData>;
13
+ export type ReturnCallTaskCallError = AxiosError<ResultError>;
14
+ export type ReturnCallTaskCallConfig = {
15
+ baseURL?: string;
16
+ headers?: ReturnCallTaskCallHeaders;
17
+ urlParams: ReturnCallTaskCallUrlParams;
18
+ };
19
+
20
+ export function returnCallTaskCallRequest({
21
+ baseURL = 'https://clients.homeapp.ru',
22
+ urlParams,
23
+ headers,
24
+ }: ReturnCallTaskCallConfig) {
25
+ return axios
26
+ .post(
27
+ `/api/call-center/call-task/${urlParams.id}/return/client`,
28
+ {},
29
+ {
30
+ baseURL,
31
+ headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },
32
+ transformResponse: [
33
+ ...(axios.defaults.transformResponse as AxiosTransformer[]),
34
+ (data: SuccessData | ErrorData): ResultData | ResultError => {
35
+ if (data.success) return data.data;
36
+
37
+ return data.data.error;
38
+ },
39
+ ],
40
+ }
41
+ )
42
+ .then((res: ReturnCallTaskCallData) => res)
43
+ .catch((err: ReturnCallTaskCallError) => {
44
+ throw err;
45
+ });
46
+ }
@@ -0,0 +1,45 @@
1
+ import axios, { AxiosResponse, AxiosError, AxiosTransformer } from 'axios';
2
+ import { CallTask } from '../../types';
3
+
4
+ type SuccessData = { success: true; data: CallTask };
5
+ type ErrorData = { success: false; data: { error: string } };
6
+
7
+ type ResultData = SuccessData['data'];
8
+ type ResultError = ErrorData['data']['error'];
9
+
10
+ export type ShiftCallTaskHeaders = { 'x-auth-hc'?: string };
11
+ export type ShiftCallTaskUrlParams = { id: number };
12
+ export type ShiftCallTaskBody = { id: number; actualAt: string; comment?: string };
13
+ export type ShiftCallTaskData = AxiosResponse<ResultData>;
14
+ export type ShiftCallTaskError = AxiosError<ResultError>;
15
+ export type ShiftCallTaskConfig = {
16
+ baseURL?: string;
17
+ headers?: ShiftCallTaskHeaders;
18
+ urlParams: ShiftCallTaskUrlParams;
19
+ body: ShiftCallTaskBody;
20
+ };
21
+
22
+ export function shiftCallTaskRequest({
23
+ baseURL = 'https://clients.homeapp.ru',
24
+ urlParams,
25
+ headers,
26
+ body,
27
+ }: ShiftCallTaskConfig) {
28
+ return axios
29
+ .put(`/api/calls/task/shift/${urlParams.id}`, body, {
30
+ baseURL,
31
+ headers: { Accept: 'application/json', 'Content-Type': 'application/json', ...headers },
32
+ transformResponse: [
33
+ ...(axios.defaults.transformResponse as AxiosTransformer[]),
34
+ (data: SuccessData | ErrorData): ResultData | ResultError => {
35
+ if (data.success) return data.data;
36
+
37
+ return data.data.error;
38
+ },
39
+ ],
40
+ })
41
+ .then((res: ShiftCallTaskData) => res)
42
+ .catch((err: ShiftCallTaskError) => {
43
+ throw err;
44
+ });
45
+ }
@@ -39,10 +39,15 @@ export * from './callCenter/getOperatorStatus';
39
39
  export * from './callCenter/startOperatorWork';
40
40
 
41
41
  export * from './callTask/callCallTask';
42
+ export * from './callTask/callCallTaskExpert';
42
43
  export * from './callTask/closeCallTask';
43
44
  export * from './callTask/createCallTask';
44
45
  export * from './callTask/findCallTaskById';
46
+ export * from './callTask/findCallTaskSourceInfo';
45
47
  export * from './callTask/findCallTasks';
48
+ export * from './callTask/joinCallTaskCall';
49
+ export * from './callTask/returnCallTaskCall';
50
+ export * from './callTask/shiftCallTask';
46
51
  export * from './callTask/updateCallTask';
47
52
 
48
53
  export * from './comment/findComments';
@@ -37,6 +37,9 @@ export type UpdateUserBody = {
37
37
  phones?: Array<Omit<UserPhone, 'id'>>;
38
38
  roles?: Required<User>['roles'];
39
39
  supervisor?: Required<User>['supervisor'];
40
+ groupLead?: Required<User>['groupLead'];
41
+ textReviews?: Required<User>['textReviews'];
42
+ videoReviews?: Required<User>['videoReviews'];
40
43
  };
41
44
 
42
45
  export type UpdateUserData = AxiosResponse<ResultData>;
@@ -5,6 +5,7 @@ import {
5
5
  CallTaskColdReason,
6
6
  CallTaskTriggeredByEvent,
7
7
  CallTaskType,
8
+ CallTaskDirection,
8
9
  } from '../types';
9
10
 
10
11
  export const CallTaskDictionary = {
@@ -14,6 +15,10 @@ export const CallTaskDictionary = {
14
15
  [CallTaskPriority.High]: 'Высокий',
15
16
  [CallTaskPriority.VeryHigh]: 'Очень высокий',
16
17
  },
18
+ Direction: {
19
+ [CallTaskDirection.MoscowOffice]: 'Московский офис',
20
+ [CallTaskDirection.Asia]: 'Заявка по Азии',
21
+ },
17
22
  Status: {
18
23
  [CallTaskStatus.Open]: 'Не обработано',
19
24
  [CallTaskStatus.Booked]: 'В обработке',
@@ -202,6 +202,10 @@ export class Api {
202
202
  return api.callCallTaskRequest({ urlParams, headers, baseURL: await this.baseURL });
203
203
  };
204
204
 
205
+ callCallTaskExpert = async (urlParams: api.CallCallTaskExpertUrlParams, headers?: api.CallCallTaskExpertHeaders) => {
206
+ return api.callCallTaskExpertRequest({ urlParams, headers, baseURL: await this.baseURL });
207
+ };
208
+
205
209
  closeCallTask = async (
206
210
  urlParams: api.CallCallTaskUrlParams,
207
211
  body: api.CloseCallTaskBody,
@@ -218,10 +222,33 @@ export class Api {
218
222
  return api.findCallTaskByIdRequest({ urlParams, headers, baseURL: await this.baseURL });
219
223
  };
220
224
 
225
+ findCallTaskSourceInfo = async (
226
+ params: api.FindCallTaskSourceInfoParams,
227
+ headers: api.FindCallTaskSourceInfoHeaders
228
+ ) => {
229
+ return api.findCallTaskSourceInfoRequest({ params, headers, baseURL: await this.baseURL });
230
+ };
231
+
221
232
  findCallTasks = async (params: api.FindCallTasksParams, headers: api.FindCallTasksHeaders) => {
222
233
  return api.findCallTasksRequest({ params, headers, baseURL: await this.baseURL });
223
234
  };
224
235
 
236
+ joinCallTaskCall = async (urlParams: api.JoinCallTaskCallUrlParams, headers?: api.JoinCallTaskCallHeaders) => {
237
+ return api.joinCallTaskCallRequest({ urlParams, headers, baseURL: await this.baseURL });
238
+ };
239
+
240
+ returnCallTaskCall = async (urlParams: api.ReturnCallTaskCallUrlParams, headers?: api.ReturnCallTaskCallHeaders) => {
241
+ return api.returnCallTaskCallRequest({ urlParams, headers, baseURL: await this.baseURL });
242
+ };
243
+
244
+ shiftCallTask = async (
245
+ urlParams: api.ShiftCallTaskUrlParams,
246
+ body: api.ShiftCallTaskBody,
247
+ headers?: api.ShiftCallTaskHeaders
248
+ ) => {
249
+ return api.shiftCallTaskRequest({ urlParams, body, headers, baseURL: await this.baseURL });
250
+ };
251
+
225
252
  updateCallTask = async (
226
253
  urlParams: api.UpdateCallTaskUrlParams,
227
254
  body: api.UpdateCallTaskBody,
@@ -75,6 +75,13 @@ export enum CallTaskType {
75
75
  Other = 'other',
76
76
  }
77
77
 
78
+ export enum CallTaskDirection {
79
+ MoscowOffice = 'moscowOffice',
80
+ Asia = 'asia',
81
+ }
82
+
83
+ export type CallTaskSourceInfo = { source: string; campaign: string; content: string };
84
+
78
85
  export type CallTask = {
79
86
  actualAt: string;
80
87
  calls: Array<Partial<Call> & { id: number }>;
@@ -91,7 +98,10 @@ export type CallTask = {
91
98
  type: CallTaskType;
92
99
  updatedAt: string;
93
100
  viewsCount: number;
101
+ direction: CallTaskDirection;
94
102
 
103
+ isAgent?: boolean;
104
+ sourceInfo?: Partial<CallTaskSourceInfo>;
95
105
  bookedBy?: Partial<User> & { id: string };
96
106
  bookingExpiresAt?: string;
97
107
  closedAt?: string;