@sinch/conversation 0.0.2 → 0.0.3
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/README.md +28 -13
- package/dist/models/v1/agent/agent.d.ts +3 -3
- package/dist/models/v1/agent-joined-event/agent-joined-event.d.ts +1 -1
- package/dist/models/v1/agent-left-event/agent-left-event.d.ts +1 -1
- package/dist/models/v1/app-event/app-event.d.ts +44 -1
- package/dist/models/v1/app-message/app-message.d.ts +198 -30
- package/dist/models/v1/app-message-message/app-message-message.d.ts +92 -1
- package/dist/models/v1/choice/choice.d.ts +17 -5
- package/dist/models/v1/comment-reply-event/comment-reply-event.d.ts +1 -1
- package/dist/models/v1/composing-end-event/composing-end-event.d.ts +1 -1
- package/dist/models/v1/composing-event/composing-event.d.ts +1 -1
- package/dist/models/v1/contact-event/contact-event.d.ts +32 -1
- package/dist/models/v1/contact-id/contact-id.d.ts +2 -1
- package/dist/models/v1/contact-info-message/contact-info-message.d.ts +1 -1
- package/dist/models/v1/contact-message/contact-message.d.ts +36 -6
- package/dist/models/v1/conversation-channel-credential/conversation-channel-credential.d.ts +3 -10
- package/dist/models/v1/conversation-channel-credential/index.d.ts +1 -1
- package/dist/models/v1/conversation-event/conversation-event.d.ts +6 -0
- package/dist/models/v1/conversation-message/conversation-message.d.ts +4 -2
- package/dist/models/v1/generic-event/generic-event.d.ts +1 -1
- package/dist/models/v1/get-channel-profile-request/get-channel-profile-request.d.ts +2 -2
- package/dist/models/v1/helper.d.ts +17 -9
- package/dist/models/v1/helper.js +26 -9
- package/dist/models/v1/helper.js.map +1 -1
- package/dist/models/v1/identified-by/identified-by.d.ts +1 -0
- package/dist/models/v1/index.d.ts +2 -3
- package/dist/models/v1/index.js +2 -3
- package/dist/models/v1/index.js.map +1 -1
- package/dist/models/v1/inject-conversation-event-request/inject-conversation-event-request.d.ts +12 -1
- package/dist/models/v1/inject-message-request/inject-message-request.d.ts +4 -2
- package/dist/models/v1/list-message/index.d.ts +1 -1
- package/dist/models/v1/list-message/list-message.d.ts +8 -3
- package/dist/models/v1/list-section/list-section.d.ts +1 -1
- package/dist/models/v1/lookup-capability-request/index.d.ts +1 -0
- package/dist/models/v1/lookup-capability-request/index.js.map +1 -0
- package/dist/models/v1/{lookup-capability/lookup-capability.d.ts → lookup-capability-request/lookup-capability-request.d.ts} +2 -2
- package/dist/models/v1/{query-capability-response/index.js → lookup-capability-request/lookup-capability-request.js} +1 -1
- package/dist/models/v1/lookup-capability-request/lookup-capability-request.js.map +1 -0
- package/dist/models/v1/lookup-capability-response/index.d.ts +1 -0
- package/dist/models/v1/lookup-capability-response/index.js.map +1 -0
- package/dist/models/v1/{query-capability-response/query-capability-response.d.ts → lookup-capability-response/lookup-capability-response.d.ts} +1 -1
- package/dist/models/v1/{lookup-capability/lookup-capability.js → lookup-capability-response/lookup-capability-response.js} +1 -1
- package/dist/models/v1/lookup-capability-response/lookup-capability-response.js.map +1 -0
- package/dist/models/v1/mod-callback-events/capability-event/capability-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/channel-event/channel-event.d.ts +4 -15
- package/dist/models/v1/mod-callback-events/contact-create-event/contact-create-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/contact-delete-event/contact-delete-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/contact-identities-duplication-event/contact-identities-duplication-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/contact-merge-event/contact-merge-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/contact-update-event/contact-update-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/conversation-callback-event/conversation-callback-event.d.ts +13 -0
- package/dist/models/v1/mod-callback-events/conversation-delete-event/conversation-delete-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/conversation-start-event/conversation-start-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/conversation-stop-event/conversation-stop-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/event-delivery/event-delivery.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/event-inbound/event-inbound.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/message-delivery-receipt-event/message-delivery-receipt-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/message-inbound-event/message-inbound-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/message-inbound-event-item/message-inbound-event-item.d.ts +3 -3
- package/dist/models/v1/mod-callback-events/message-inbound-smart-conversation-redaction-event/message-inbound-smart-conversation-redaction-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/message-submit-event/message-submit-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/opt-in-event/opt-in-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/opt-out-event/opt-out-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/record-notification/record-notification.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/smart-conversations-event/smart-conversations-event.d.ts +2 -14
- package/dist/models/v1/mod-callback-events/unsupported-callback-event/unsupported-callback-event.d.ts +2 -14
- package/dist/models/v1/send-event-request/index.d.ts +1 -1
- package/dist/models/v1/send-event-request/send-event-request.d.ts +37 -5
- package/dist/models/v1/send-message-request/index.d.ts +1 -1
- package/dist/models/v1/send-message-request/send-message-request.d.ts +53 -6
- package/dist/models/v1/transcode-message-response/transcode-message-response.d.ts +2 -1
- package/dist/models/v1/v2-template-translation/index.d.ts +1 -1
- package/dist/models/v1/v2-template-translation/v2-template-translation.d.ts +94 -10
- package/dist/rest/v1/capability/capability-api.d.ts +5 -5
- package/dist/rest/v1/capability/capability-api.jest.fixture.d.ts +5 -3
- package/dist/rest/v1/capability/capability-api.jest.fixture.js +1 -1
- package/dist/rest/v1/capability/capability-api.jest.fixture.js.map +1 -1
- package/dist/rest/v1/capability/capability-api.js +1 -1
- package/dist/rest/v1/capability/capability-api.js.map +1 -1
- package/dist/rest/v1/contact/contact-api.d.ts +7 -6
- package/dist/rest/v1/contact/contact-api.jest.fixture.d.ts +4 -2
- package/dist/rest/v1/contact/contact-api.jest.fixture.js.map +1 -1
- package/dist/rest/v1/contact/contact-api.js +3 -2
- package/dist/rest/v1/contact/contact-api.js.map +1 -1
- package/dist/rest/v1/events/events-api.d.ts +66 -5
- package/dist/rest/v1/events/events-api.jest.fixture.d.ts +39 -3
- package/dist/rest/v1/events/events-api.jest.fixture.js +24 -0
- package/dist/rest/v1/events/events-api.jest.fixture.js.map +1 -1
- package/dist/rest/v1/events/events-api.js +56 -3
- package/dist/rest/v1/events/events-api.js.map +1 -1
- package/dist/rest/v1/messages/messages-api.d.ts +96 -5
- package/dist/rest/v1/messages/messages-api.jest.fixture.d.ts +59 -3
- package/dist/rest/v1/messages/messages-api.jest.fixture.js +36 -0
- package/dist/rest/v1/messages/messages-api.jest.fixture.js.map +1 -1
- package/dist/rest/v1/messages/messages-api.js +80 -3
- package/dist/rest/v1/messages/messages-api.js.map +1 -1
- package/package.json +2 -2
- package/dist/models/v1/list-message-message-properties/index.d.ts +0 -1
- package/dist/models/v1/list-message-message-properties/index.js.map +0 -1
- package/dist/models/v1/list-message-message-properties/list-message-message-properties.d.ts +0 -9
- package/dist/models/v1/list-message-message-properties/list-message-message-properties.js +0 -3
- package/dist/models/v1/list-message-message-properties/list-message-message-properties.js.map +0 -1
- package/dist/models/v1/lookup-capability/index.d.ts +0 -1
- package/dist/models/v1/lookup-capability/index.js.map +0 -1
- package/dist/models/v1/lookup-capability/lookup-capability.js.map +0 -1
- package/dist/models/v1/query-capability-response/index.d.ts +0 -1
- package/dist/models/v1/query-capability-response/index.js.map +0 -1
- package/dist/models/v1/query-capability-response/query-capability-response.js +0 -3
- package/dist/models/v1/query-capability-response/query-capability-response.js.map +0 -1
- /package/dist/models/v1/{list-message-message-properties → lookup-capability-request}/index.js +0 -0
- /package/dist/models/v1/{lookup-capability → lookup-capability-response}/index.js +0 -0
package/README.md
CHANGED
|
@@ -38,18 +38,24 @@ If you are using this SDK as part of the Sinch SDK (`@sinch/sdk-core`) you can a
|
|
|
38
38
|
|
|
39
39
|
```typescript
|
|
40
40
|
import {
|
|
41
|
+
ConversationService,
|
|
41
42
|
SinchClient,
|
|
42
|
-
|
|
43
|
+
UnifiedCredentials,
|
|
44
|
+
SendMessageRequestData,
|
|
45
|
+
SendMessageResponse,
|
|
43
46
|
} from '@sinch/sdk-core';
|
|
44
47
|
|
|
45
|
-
const credentials:
|
|
48
|
+
const credentials: UnifiedCredentials = {
|
|
46
49
|
projectId: 'PROJECT_ID',
|
|
47
50
|
keyId: 'KEY_ID',
|
|
48
51
|
keySecret: 'KEY_SECRET',
|
|
49
52
|
};
|
|
50
53
|
|
|
54
|
+
// Access the 'conversation' service registered on the Sinch Client
|
|
51
55
|
const sinch = new SinchClient(credentials);
|
|
56
|
+
const conversationService: ConversationService = sinch.conversation;
|
|
52
57
|
|
|
58
|
+
// Build the request data
|
|
53
59
|
const requestData: SendMessageRequestData = {
|
|
54
60
|
sendMessageRequestBody: {
|
|
55
61
|
app_id: 'CONVERSATION_APP_ID',
|
|
@@ -61,12 +67,15 @@ const requestData: SendMessageRequestData = {
|
|
|
61
67
|
recipient: {
|
|
62
68
|
contact_id: 'CONTACT_ID',
|
|
63
69
|
},
|
|
70
|
+
channel_priority_order: [
|
|
71
|
+
'WHASAPP',
|
|
72
|
+
],
|
|
64
73
|
},
|
|
65
74
|
};
|
|
66
75
|
|
|
67
|
-
//
|
|
76
|
+
// Use the 'conversation' service registered on the Sinch client
|
|
68
77
|
const result: SendMessageResponse
|
|
69
|
-
= await
|
|
78
|
+
= await conversationService.messages.send(requestData);
|
|
70
79
|
```
|
|
71
80
|
|
|
72
81
|
### Standalone
|
|
@@ -75,21 +84,24 @@ The SDK can be used standalone if you need to use only the Conversation APIs.
|
|
|
75
84
|
|
|
76
85
|
```typescript
|
|
77
86
|
import {
|
|
78
|
-
|
|
87
|
+
UnifiedCredentials,
|
|
79
88
|
} from '@sinch/sdk-client';
|
|
80
89
|
import {
|
|
81
|
-
|
|
90
|
+
ConversationService,
|
|
91
|
+
SendMessageRequestData,
|
|
92
|
+
SendMessageResponse,
|
|
82
93
|
} from '@sinch/conversation';
|
|
83
94
|
|
|
84
|
-
const credentials:
|
|
95
|
+
const credentials: UnifiedCredentials = {
|
|
85
96
|
projectId: 'PROJECT_ID',
|
|
86
97
|
keyId: 'KEY_ID',
|
|
87
98
|
keySecret: 'KEY_SECRET',
|
|
88
99
|
};
|
|
89
100
|
|
|
90
101
|
// Declare the 'conversation' service in a standalone way
|
|
91
|
-
const
|
|
102
|
+
const conversationService = new ConversationService(options);
|
|
92
103
|
|
|
104
|
+
// Build the request data
|
|
93
105
|
const requestData: SendMessageRequestData = {
|
|
94
106
|
sendMessageRequestBody: {
|
|
95
107
|
app_id: 'CONVERSATION_APP_ID',
|
|
@@ -101,30 +113,33 @@ const requestData: SendMessageRequestData = {
|
|
|
101
113
|
recipient: {
|
|
102
114
|
contact_id: 'CONTACT_ID',
|
|
103
115
|
},
|
|
116
|
+
channel_priority_order: [
|
|
117
|
+
'WHASAPP',
|
|
118
|
+
],
|
|
104
119
|
},
|
|
105
120
|
};
|
|
106
121
|
|
|
107
|
-
// Use the standalone declaration of the 'conversation'
|
|
122
|
+
// Use the standalone declaration of the 'conversation' service
|
|
108
123
|
const result: SendMessageResponse
|
|
109
|
-
= await
|
|
124
|
+
= await conversationService.messages.send(requestData);
|
|
110
125
|
```
|
|
111
126
|
|
|
112
127
|
## Promises
|
|
113
128
|
|
|
114
|
-
All the methods that interact with the Sinch APIs use Promises. You can use `await` in an `async` method to wait for the response or you can resolve them yourself with `then()` / `catch()`.
|
|
129
|
+
All the methods that interact with the Sinch APIs use Promises. You can use `await` in an `async` method to wait for the response, or you can resolve them yourself with `then()` / `catch()`.
|
|
115
130
|
|
|
116
131
|
```typescript
|
|
117
132
|
// Method 1: Wait for the Promise to complete
|
|
118
133
|
let result: SendMessageResponse;
|
|
119
134
|
try {
|
|
120
|
-
result = await
|
|
135
|
+
result = await conversationService.messages.send(requestData);
|
|
121
136
|
console.log(`Message sent successfully. Message Id: ${result.id}`);
|
|
122
137
|
} catch (error: any) {
|
|
123
138
|
console.error(`ERROR ${error.statusCode}: `);
|
|
124
139
|
}
|
|
125
140
|
|
|
126
141
|
// Method 2: Resolve the promise
|
|
127
|
-
|
|
142
|
+
conversationService.messages.send(requestData)
|
|
128
143
|
.then(response => console.log(`Message sent successfully. Message Id: ${result.id}`))
|
|
129
144
|
.catch(error => console.error(`ERROR ${error.statusCode}: `));
|
|
130
145
|
```
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
* Represents an agent that is involved in a conversation.
|
|
3
3
|
*/
|
|
4
4
|
export interface Agent {
|
|
5
|
-
/** Agent
|
|
5
|
+
/** Agent's display name */
|
|
6
6
|
display_name: string;
|
|
7
|
-
/** Agent
|
|
7
|
+
/** Agent's classification. It can be UNKNOWN_AGENT_TYPE, HUMAN or BOT. */
|
|
8
8
|
type: 'UNKNOWN_AGENT_TYPE' | 'HUMAN' | 'BOT';
|
|
9
|
-
/** The Agent
|
|
9
|
+
/** The Agent's picture url. */
|
|
10
10
|
picture_url?: string;
|
|
11
11
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Agent } from '../agent';
|
|
2
2
|
export interface AgentJoinedEvent {
|
|
3
3
|
/** @see AgentJoinedEventType */
|
|
4
|
-
agent_joined_event
|
|
4
|
+
agent_joined_event: AgentJoinedEventType;
|
|
5
5
|
}
|
|
6
6
|
export interface AgentJoinedEventType {
|
|
7
7
|
/** Represents an agent that is involved in a conversation. */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Agent } from '../agent';
|
|
2
2
|
export interface AgentLeftEvent {
|
|
3
3
|
/** @see AgentLeftEventType */
|
|
4
|
-
agent_left_event
|
|
4
|
+
agent_left_event: AgentLeftEventType;
|
|
5
5
|
}
|
|
6
6
|
export interface AgentLeftEventType {
|
|
7
7
|
/** Represents an agent that is involved in a conversation. */
|
|
@@ -7,4 +7,47 @@ import { GenericEvent } from '../generic-event';
|
|
|
7
7
|
/**
|
|
8
8
|
* Event originating from an app
|
|
9
9
|
*/
|
|
10
|
-
export type AppEvent =
|
|
10
|
+
export type AppEvent = AppComposingEvent | AppComposingEndEvent | AppCommentReplyEvent | AppAgentJoinedEvent | AppAgentLeftEvent | AppGenericEvent;
|
|
11
|
+
interface AppComposingEvent extends ComposingEvent {
|
|
12
|
+
composing_end_event?: never;
|
|
13
|
+
comment_reply_event?: never;
|
|
14
|
+
agent_joined_event?: never;
|
|
15
|
+
agent_left_event?: never;
|
|
16
|
+
generic_event?: never;
|
|
17
|
+
}
|
|
18
|
+
interface AppComposingEndEvent extends ComposingEndEvent {
|
|
19
|
+
composing_event?: never;
|
|
20
|
+
comment_reply_event?: never;
|
|
21
|
+
agent_joined_event?: never;
|
|
22
|
+
agent_left_event?: never;
|
|
23
|
+
generic_event?: never;
|
|
24
|
+
}
|
|
25
|
+
interface AppCommentReplyEvent extends CommentReplyEvent {
|
|
26
|
+
composing_event?: never;
|
|
27
|
+
composing_end_event?: never;
|
|
28
|
+
agent_joined_event?: never;
|
|
29
|
+
agent_left_event?: never;
|
|
30
|
+
generic_event?: never;
|
|
31
|
+
}
|
|
32
|
+
interface AppAgentJoinedEvent extends AgentJoinedEvent {
|
|
33
|
+
composing_event?: never;
|
|
34
|
+
composing_end_event?: never;
|
|
35
|
+
comment_reply_event?: never;
|
|
36
|
+
agent_left_event?: never;
|
|
37
|
+
generic_event?: never;
|
|
38
|
+
}
|
|
39
|
+
interface AppAgentLeftEvent extends AgentLeftEvent {
|
|
40
|
+
composing_event?: never;
|
|
41
|
+
composing_end_event?: never;
|
|
42
|
+
comment_reply_event?: never;
|
|
43
|
+
agent_joined_event?: never;
|
|
44
|
+
generic_event?: never;
|
|
45
|
+
}
|
|
46
|
+
interface AppGenericEvent extends GenericEvent {
|
|
47
|
+
composing_event?: never;
|
|
48
|
+
composing_end_event?: never;
|
|
49
|
+
comment_reply_event?: never;
|
|
50
|
+
agent_joined_event?: never;
|
|
51
|
+
agent_left_event?: never;
|
|
52
|
+
}
|
|
53
|
+
export {};
|
|
@@ -2,50 +2,125 @@ import { Agent } from '../agent';
|
|
|
2
2
|
import { LocationMessage, LocationMessageItem } from '../location-message';
|
|
3
3
|
import { MediaMessage, MediaMessageItem } from '../media-message';
|
|
4
4
|
import { TextMessage, TextMessageItem } from '../text-message';
|
|
5
|
-
import {
|
|
5
|
+
import { TemplateMessageItem } from '../template-message';
|
|
6
|
+
import { TemplateReference } from '../template-reference';
|
|
6
7
|
import { CardMessage, CardMessageItem } from '../card-message';
|
|
7
|
-
import { ChoiceMessage } from '../choice-message';
|
|
8
|
-
import { CarouselMessage } from '../carousel-message';
|
|
9
|
-
import { ListMessage } from '../list-message';
|
|
8
|
+
import { ChoiceMessage, ChoiceMessageItem } from '../choice-message';
|
|
9
|
+
import { CarouselMessage, CarouselMessageItem } from '../carousel-message';
|
|
10
|
+
import { ListMessage, ListMessageItem } from '../list-message';
|
|
10
11
|
import { ContactInfoMessage, ContactInfoMessageItem } from '../contact-info-message';
|
|
12
|
+
import { ConversationChannel } from '../conversation-channel';
|
|
11
13
|
/**
|
|
12
14
|
* Message originating from an app
|
|
13
15
|
*/
|
|
14
|
-
export type AppMessage =
|
|
15
|
-
interface
|
|
16
|
+
export type AppMessage = AppCardMessage | AppChoiceMessage | AppLocationMessage | AppCarouselMessage | AppMediaMessage | AppTemplateMessage | AppTextMessage | AppListMessage | AppContactInfoMessage;
|
|
17
|
+
interface AppCardMessage extends AppMessageBase {
|
|
16
18
|
/** @see CardMessageItem */
|
|
17
|
-
card_message
|
|
19
|
+
card_message: CardMessageItem;
|
|
20
|
+
choice_message?: never;
|
|
21
|
+
location_message?: never;
|
|
22
|
+
carousel_message?: never;
|
|
23
|
+
media_message?: never;
|
|
24
|
+
template_message?: never;
|
|
25
|
+
text_message?: never;
|
|
26
|
+
list_message?: never;
|
|
27
|
+
contact_info_message?: never;
|
|
18
28
|
}
|
|
19
|
-
interface
|
|
20
|
-
/** @see
|
|
21
|
-
choice_message
|
|
29
|
+
interface AppChoiceMessage extends AppMessageBase {
|
|
30
|
+
/** @see ChoiceMessageItem */
|
|
31
|
+
choice_message: ChoiceMessageItem;
|
|
32
|
+
card_message?: never;
|
|
33
|
+
location_message?: never;
|
|
34
|
+
carousel_message?: never;
|
|
35
|
+
media_message?: never;
|
|
36
|
+
template_message?: never;
|
|
37
|
+
text_message?: never;
|
|
38
|
+
list_message?: never;
|
|
39
|
+
contact_info_message?: never;
|
|
22
40
|
}
|
|
23
|
-
interface
|
|
41
|
+
interface AppLocationMessage extends AppMessageBase {
|
|
24
42
|
/** @see LocationMessageItem */
|
|
25
|
-
location_message
|
|
43
|
+
location_message: LocationMessageItem;
|
|
44
|
+
card_message?: never;
|
|
45
|
+
choice_message?: never;
|
|
46
|
+
carousel_message?: never;
|
|
47
|
+
media_message?: never;
|
|
48
|
+
template_message?: never;
|
|
49
|
+
text_message?: never;
|
|
50
|
+
list_message?: never;
|
|
51
|
+
contact_info_message?: never;
|
|
26
52
|
}
|
|
27
|
-
interface
|
|
28
|
-
/** @see
|
|
29
|
-
carousel_message
|
|
53
|
+
interface AppCarouselMessage extends AppMessageBase {
|
|
54
|
+
/** @see CarouselMessageItem */
|
|
55
|
+
carousel_message: CarouselMessageItem;
|
|
56
|
+
card_message?: never;
|
|
57
|
+
choice_message?: never;
|
|
58
|
+
location_message?: never;
|
|
59
|
+
media_message?: never;
|
|
60
|
+
template_message?: never;
|
|
61
|
+
text_message?: never;
|
|
62
|
+
list_message?: never;
|
|
63
|
+
contact_info_message?: never;
|
|
30
64
|
}
|
|
31
|
-
interface
|
|
65
|
+
interface AppMediaMessage extends AppMessageBase {
|
|
32
66
|
/** @see MediaMessageItem */
|
|
33
|
-
media_message
|
|
67
|
+
media_message: MediaMessageItem;
|
|
68
|
+
card_message?: never;
|
|
69
|
+
choice_message?: never;
|
|
70
|
+
location_message?: never;
|
|
71
|
+
carousel_message?: never;
|
|
72
|
+
template_message?: never;
|
|
73
|
+
text_message?: never;
|
|
74
|
+
list_message?: never;
|
|
75
|
+
contact_info_message?: never;
|
|
34
76
|
}
|
|
35
|
-
interface
|
|
36
|
-
/** @see
|
|
37
|
-
template_message
|
|
77
|
+
interface AppTemplateMessage extends AppMessageBase {
|
|
78
|
+
/** @see TemplateMessageItem */
|
|
79
|
+
template_message: TemplateMessageItem;
|
|
80
|
+
card_message?: never;
|
|
81
|
+
choice_message?: never;
|
|
82
|
+
location_message?: never;
|
|
83
|
+
carousel_message?: never;
|
|
84
|
+
media_message?: never;
|
|
85
|
+
text_message?: never;
|
|
86
|
+
list_message?: never;
|
|
87
|
+
contact_info_message?: never;
|
|
38
88
|
}
|
|
39
|
-
interface
|
|
89
|
+
interface AppTextMessage extends AppMessageBase {
|
|
40
90
|
/** @see TextMessageItem */
|
|
41
|
-
text_message
|
|
91
|
+
text_message: TextMessageItem;
|
|
92
|
+
card_message?: never;
|
|
93
|
+
choice_message?: never;
|
|
94
|
+
location_message?: never;
|
|
95
|
+
carousel_message?: never;
|
|
96
|
+
media_message?: never;
|
|
97
|
+
template_message?: never;
|
|
98
|
+
list_message?: never;
|
|
99
|
+
contact_info_message?: never;
|
|
42
100
|
}
|
|
43
|
-
interface
|
|
44
|
-
/** @see
|
|
45
|
-
list_message
|
|
101
|
+
interface AppListMessage extends AppMessageBase {
|
|
102
|
+
/** @see ListMessageItem */
|
|
103
|
+
list_message: ListMessageItem;
|
|
104
|
+
card_message?: never;
|
|
105
|
+
choice_message?: never;
|
|
106
|
+
location_message?: never;
|
|
107
|
+
carousel_message?: never;
|
|
108
|
+
media_message?: never;
|
|
109
|
+
template_message?: never;
|
|
110
|
+
text_message?: never;
|
|
111
|
+
contact_info_message?: never;
|
|
46
112
|
}
|
|
47
|
-
interface
|
|
48
|
-
|
|
113
|
+
interface AppContactInfoMessage extends AppMessageBase {
|
|
114
|
+
/** @see ContactInfoMessageItem */
|
|
115
|
+
contact_info_message: ContactInfoMessageItem;
|
|
116
|
+
card_message?: never;
|
|
117
|
+
choice_message?: never;
|
|
118
|
+
location_message?: never;
|
|
119
|
+
carousel_message?: never;
|
|
120
|
+
media_message?: never;
|
|
121
|
+
template_message?: never;
|
|
122
|
+
text_message?: never;
|
|
123
|
+
list_message?: never;
|
|
49
124
|
}
|
|
50
125
|
interface AppMessageBase {
|
|
51
126
|
/**
|
|
@@ -53,17 +128,110 @@ interface AppMessageBase {
|
|
|
53
128
|
* The key in the map must point to a valid conversation channel as defined by the enum ConversationChannel.
|
|
54
129
|
*/
|
|
55
130
|
explicit_channel_message?: {
|
|
56
|
-
[key
|
|
131
|
+
[key in ConversationChannel]?: string;
|
|
57
132
|
};
|
|
58
133
|
/**
|
|
59
134
|
* The option to override the omni-channel template configuration with a channel-specific template
|
|
60
135
|
* (for channels on which channel-specific templates can be created. For more information, see [Channel Specific Templates](https://developers.sinch.com/docs/conversation/templates/#channel-specific-templates)).
|
|
61
136
|
*/
|
|
62
137
|
explicit_channel_omni_message?: {
|
|
63
|
-
[key
|
|
138
|
+
[key in ChannelSpecificTemplate]?: OmniMessage;
|
|
64
139
|
};
|
|
65
140
|
/** Identity of a sender */
|
|
66
141
|
agent?: Agent | null;
|
|
67
142
|
}
|
|
68
|
-
type
|
|
143
|
+
type ChannelSpecificTemplate = 'WHATSAPP' | 'KAKAOTALK' | 'WECHAT';
|
|
144
|
+
export type OmniMessage = OmniCardMessage | OmniCarouselMessage | OmniChoiceMessage | OmniLocationMessage | OmniMediaMessage | OmniTemplateMessage | OmniTextMessage | OmniListMessage | OmniContactInfoMessage;
|
|
145
|
+
interface OmniCardMessage extends CardMessage {
|
|
146
|
+
carousel_message?: never;
|
|
147
|
+
choice_message?: never;
|
|
148
|
+
location_message?: never;
|
|
149
|
+
media_message?: never;
|
|
150
|
+
template_reference?: never;
|
|
151
|
+
text_message?: never;
|
|
152
|
+
list_message?: never;
|
|
153
|
+
contact_info_message?: never;
|
|
154
|
+
}
|
|
155
|
+
interface OmniCarouselMessage extends CarouselMessage {
|
|
156
|
+
card_message?: never;
|
|
157
|
+
choice_message?: never;
|
|
158
|
+
location_message?: never;
|
|
159
|
+
media_message?: never;
|
|
160
|
+
template_reference?: never;
|
|
161
|
+
text_message?: never;
|
|
162
|
+
list_message?: never;
|
|
163
|
+
contact_info_message?: never;
|
|
164
|
+
}
|
|
165
|
+
interface OmniChoiceMessage extends ChoiceMessage {
|
|
166
|
+
card_message?: never;
|
|
167
|
+
carousel_message?: never;
|
|
168
|
+
location_message?: never;
|
|
169
|
+
media_message?: never;
|
|
170
|
+
template_reference?: never;
|
|
171
|
+
text_message?: never;
|
|
172
|
+
list_message?: never;
|
|
173
|
+
contact_info_message?: never;
|
|
174
|
+
}
|
|
175
|
+
interface OmniLocationMessage extends LocationMessage {
|
|
176
|
+
card_message?: never;
|
|
177
|
+
carousel_message?: never;
|
|
178
|
+
choice_message?: never;
|
|
179
|
+
media_message?: never;
|
|
180
|
+
template_reference?: never;
|
|
181
|
+
text_message?: never;
|
|
182
|
+
list_message?: never;
|
|
183
|
+
contact_info_message?: never;
|
|
184
|
+
}
|
|
185
|
+
interface OmniMediaMessage extends MediaMessage {
|
|
186
|
+
card_message?: never;
|
|
187
|
+
carousel_message?: never;
|
|
188
|
+
choice_message?: never;
|
|
189
|
+
location_message?: never;
|
|
190
|
+
template_reference?: never;
|
|
191
|
+
text_message?: never;
|
|
192
|
+
list_message?: never;
|
|
193
|
+
contact_info_message?: never;
|
|
194
|
+
}
|
|
195
|
+
interface OmniTemplateMessage {
|
|
196
|
+
/** @see TemplateReference */
|
|
197
|
+
template_reference: TemplateReference;
|
|
198
|
+
card_message?: never;
|
|
199
|
+
carousel_message?: never;
|
|
200
|
+
choice_message?: never;
|
|
201
|
+
location_message?: never;
|
|
202
|
+
media_message?: never;
|
|
203
|
+
text_message?: never;
|
|
204
|
+
list_message?: never;
|
|
205
|
+
contact_info_message?: never;
|
|
206
|
+
}
|
|
207
|
+
interface OmniTextMessage extends TextMessage {
|
|
208
|
+
card_message?: never;
|
|
209
|
+
carousel_message?: never;
|
|
210
|
+
choice_message?: never;
|
|
211
|
+
location_message?: never;
|
|
212
|
+
media_message?: never;
|
|
213
|
+
template_reference?: never;
|
|
214
|
+
list_message?: never;
|
|
215
|
+
contact_info_message?: never;
|
|
216
|
+
}
|
|
217
|
+
interface OmniListMessage extends ListMessage {
|
|
218
|
+
card_message?: never;
|
|
219
|
+
carousel_message?: never;
|
|
220
|
+
choice_message?: never;
|
|
221
|
+
location_message?: never;
|
|
222
|
+
media_message?: never;
|
|
223
|
+
template_reference?: never;
|
|
224
|
+
text_message?: never;
|
|
225
|
+
contact_info_message?: never;
|
|
226
|
+
}
|
|
227
|
+
interface OmniContactInfoMessage extends ContactInfoMessage {
|
|
228
|
+
card_message?: never;
|
|
229
|
+
carousel_message?: never;
|
|
230
|
+
choice_message?: never;
|
|
231
|
+
location_message?: never;
|
|
232
|
+
media_message?: never;
|
|
233
|
+
template_reference?: never;
|
|
234
|
+
text_message?: never;
|
|
235
|
+
list_message?: never;
|
|
236
|
+
}
|
|
69
237
|
export {};
|
|
@@ -8,4 +8,95 @@ import { ListMessage } from '../list-message';
|
|
|
8
8
|
import { TemplateMessage } from '../template-message';
|
|
9
9
|
import { ContactInfoMessage } from '../contact-info-message';
|
|
10
10
|
/** The content of the message */
|
|
11
|
-
export type AppMessageMessage =
|
|
11
|
+
export type AppMessageMessage = AppMessageCardMessage | AppMessageCarouselMessage | AppMessageChoiceMessage | AppMessageLocationMessage | AppMessageMediaMessage | AppMessageTemplateMessage | AppMessageTextMessage | AppMessageListMessage | AppMessageContactInfoMessage;
|
|
12
|
+
interface AppMessageCardMessage extends CardMessage {
|
|
13
|
+
carousel_message?: never;
|
|
14
|
+
choice_message?: never;
|
|
15
|
+
location_message?: never;
|
|
16
|
+
media_message?: never;
|
|
17
|
+
template_message?: never;
|
|
18
|
+
text_message?: never;
|
|
19
|
+
list_message?: never;
|
|
20
|
+
contact_info_message?: never;
|
|
21
|
+
}
|
|
22
|
+
interface AppMessageCarouselMessage extends CarouselMessage {
|
|
23
|
+
card_message?: never;
|
|
24
|
+
choice_message?: never;
|
|
25
|
+
location_message?: never;
|
|
26
|
+
media_message?: never;
|
|
27
|
+
template_message?: never;
|
|
28
|
+
text_message?: never;
|
|
29
|
+
list_message?: never;
|
|
30
|
+
contact_info_message?: never;
|
|
31
|
+
}
|
|
32
|
+
interface AppMessageChoiceMessage extends ChoiceMessage {
|
|
33
|
+
card_message?: never;
|
|
34
|
+
carousel_message?: never;
|
|
35
|
+
location_message?: never;
|
|
36
|
+
media_message?: never;
|
|
37
|
+
template_message?: never;
|
|
38
|
+
text_message?: never;
|
|
39
|
+
list_message?: never;
|
|
40
|
+
contact_info_message?: never;
|
|
41
|
+
}
|
|
42
|
+
interface AppMessageLocationMessage extends LocationMessage {
|
|
43
|
+
card_message?: never;
|
|
44
|
+
carousel_message?: never;
|
|
45
|
+
choice_message?: never;
|
|
46
|
+
media_message?: never;
|
|
47
|
+
template_message?: never;
|
|
48
|
+
text_message?: never;
|
|
49
|
+
list_message?: never;
|
|
50
|
+
contact_info_message?: never;
|
|
51
|
+
}
|
|
52
|
+
interface AppMessageMediaMessage extends MediaMessage {
|
|
53
|
+
card_message?: never;
|
|
54
|
+
carousel_message?: never;
|
|
55
|
+
choice_message?: never;
|
|
56
|
+
location_message?: never;
|
|
57
|
+
template_message?: never;
|
|
58
|
+
text_message?: never;
|
|
59
|
+
list_message?: never;
|
|
60
|
+
contact_info_message?: never;
|
|
61
|
+
}
|
|
62
|
+
interface AppMessageTemplateMessage extends TemplateMessage {
|
|
63
|
+
card_message?: never;
|
|
64
|
+
carousel_message?: never;
|
|
65
|
+
choice_message?: never;
|
|
66
|
+
location_message?: never;
|
|
67
|
+
media_message?: never;
|
|
68
|
+
text_message?: never;
|
|
69
|
+
list_message?: never;
|
|
70
|
+
contact_info_message?: never;
|
|
71
|
+
}
|
|
72
|
+
interface AppMessageTextMessage extends TextMessage {
|
|
73
|
+
card_message?: never;
|
|
74
|
+
carousel_message?: never;
|
|
75
|
+
choice_message?: never;
|
|
76
|
+
location_message?: never;
|
|
77
|
+
media_message?: never;
|
|
78
|
+
template_message?: never;
|
|
79
|
+
list_message?: never;
|
|
80
|
+
contact_info_message?: never;
|
|
81
|
+
}
|
|
82
|
+
interface AppMessageListMessage extends ListMessage {
|
|
83
|
+
card_message?: never;
|
|
84
|
+
carousel_message?: never;
|
|
85
|
+
choice_message?: never;
|
|
86
|
+
location_message?: never;
|
|
87
|
+
media_message?: never;
|
|
88
|
+
template_message?: never;
|
|
89
|
+
text_message?: never;
|
|
90
|
+
contact_info_message?: never;
|
|
91
|
+
}
|
|
92
|
+
interface AppMessageContactInfoMessage extends ContactInfoMessage {
|
|
93
|
+
card_message?: never;
|
|
94
|
+
carousel_message?: never;
|
|
95
|
+
choice_message?: never;
|
|
96
|
+
location_message?: never;
|
|
97
|
+
media_message?: never;
|
|
98
|
+
template_message?: never;
|
|
99
|
+
text_message?: never;
|
|
100
|
+
list_message?: never;
|
|
101
|
+
}
|
|
102
|
+
export {};
|
|
@@ -12,17 +12,29 @@ export interface ChoiceBase {
|
|
|
12
12
|
}
|
|
13
13
|
export interface CallMessageChoice extends ChoiceBase {
|
|
14
14
|
/** @see CallMessage */
|
|
15
|
-
call_message
|
|
15
|
+
call_message: CallMessage;
|
|
16
|
+
location_message?: never;
|
|
17
|
+
text_message?: never;
|
|
18
|
+
url_message?: never;
|
|
16
19
|
}
|
|
17
20
|
export interface LocationMessageChoice extends ChoiceBase {
|
|
18
|
-
/** @see
|
|
19
|
-
location_message
|
|
21
|
+
/** @see LocationMessageItem */
|
|
22
|
+
location_message: LocationMessageItem;
|
|
23
|
+
call_message?: never;
|
|
24
|
+
text_message?: never;
|
|
25
|
+
url_message?: never;
|
|
20
26
|
}
|
|
21
27
|
export interface TextMessageChoice extends ChoiceBase {
|
|
22
28
|
/** @see TextMessageItem */
|
|
23
|
-
text_message
|
|
29
|
+
text_message: TextMessageItem;
|
|
30
|
+
call_message?: never;
|
|
31
|
+
location_message?: never;
|
|
32
|
+
url_message?: never;
|
|
24
33
|
}
|
|
25
34
|
export interface UrlMessageChoice extends ChoiceBase {
|
|
26
35
|
/** @see UrlMessage */
|
|
27
|
-
url_message
|
|
36
|
+
url_message: UrlMessage;
|
|
37
|
+
call_message?: never;
|
|
38
|
+
location_message?: never;
|
|
39
|
+
text_message?: never;
|
|
28
40
|
}
|
|
@@ -4,4 +4,35 @@ import { CommentEvent } from '../comment-event';
|
|
|
4
4
|
import { GenericEvent } from '../generic-event';
|
|
5
5
|
import { ConversationDeletedEvent } from '../conversation-deleted-event';
|
|
6
6
|
/** Message originating from a contact */
|
|
7
|
-
export type ContactEvent =
|
|
7
|
+
export type ContactEvent = ContactComposingEvent | ContactComposingEndEvent | ContactConversationDeletedEvent | ContactCommentEvent | ContactGenericEvent;
|
|
8
|
+
interface ContactComposingEvent extends ComposingEvent {
|
|
9
|
+
composing_end_event?: never;
|
|
10
|
+
conversation_deleted_event?: never;
|
|
11
|
+
comment_event?: never;
|
|
12
|
+
generic_event?: never;
|
|
13
|
+
}
|
|
14
|
+
interface ContactComposingEndEvent extends ComposingEndEvent {
|
|
15
|
+
composing_event?: never;
|
|
16
|
+
conversation_deleted_event?: never;
|
|
17
|
+
comment_event?: never;
|
|
18
|
+
generic_event?: never;
|
|
19
|
+
}
|
|
20
|
+
interface ContactConversationDeletedEvent extends ConversationDeletedEvent {
|
|
21
|
+
composing_event?: never;
|
|
22
|
+
composing_end_event?: never;
|
|
23
|
+
comment_event?: never;
|
|
24
|
+
generic_event?: never;
|
|
25
|
+
}
|
|
26
|
+
interface ContactCommentEvent extends CommentEvent {
|
|
27
|
+
composing_event?: never;
|
|
28
|
+
composing_end_event?: never;
|
|
29
|
+
conversation_deleted_event?: never;
|
|
30
|
+
generic_event?: never;
|
|
31
|
+
}
|
|
32
|
+
interface ContactGenericEvent extends GenericEvent {
|
|
33
|
+
composing_event?: never;
|
|
34
|
+
composing_end_event?: never;
|
|
35
|
+
conversation_deleted_event?: never;
|
|
36
|
+
comment_event?: never;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Message containing contact information.
|
|
3
3
|
*/
|
|
4
4
|
export interface ContactInfoMessage {
|
|
5
|
-
/** @see
|
|
5
|
+
/** @see ContactInfoMessageItem */
|
|
6
6
|
contact_info_message?: ContactInfoMessageItem;
|
|
7
7
|
}
|
|
8
8
|
export interface ContactInfoMessageItem {
|