@d19n/youfibre-odin-sdk 2.0.362 → 2.0.364

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 CHANGED
@@ -395,7 +395,7 @@ This SDK includes **202** entities across **13** modules.
395
395
 
396
396
  ## Actions
397
397
 
398
- This SDK includes **933** actions.
398
+ This SDK includes **934** actions.
399
399
 
400
400
  ### Action Types
401
401
 
@@ -1628,6 +1628,7 @@ This SDK includes **933** actions.
1628
1628
  | `CreateContact` | CREATE | k1.t-hEOJjsDb.CrmModule.Contact.Create.CreateContact |
1629
1629
  | `CreateContactSalesApp` | CREATE | k1.t-hEOJjsDb.CrmModule.Contact.Create.CreateContactSalesApp |
1630
1630
  | `UpdateAdditionalCare` | UPDATE | k1.t-hEOJjsDb.CrmModule.Contact.Update.UpdateAdditionalCare |
1631
+ | `UpdateContactAppPreferences` | UPDATE | k1.t-hEOJjsDb.CrmModule.Contact.Update.UpdateContactAppPreferences |
1631
1632
  | `UpdateContact` | UPDATE | k1.t-hEOJjsDb.CrmModule.Contact.Update.UpdateContact |
1632
1633
  | `UpdateReferralCode` | UPDATE | k1.t-hEOJjsDb.CrmModule.Contact.Update.UpdateReferralCode |
1633
1634
  | `UpdateWhitelistQueueAndEndTime` | UPDATE | k1.t-hEOJjsDb.CrmModule.Contact.Update.UpdateWhitelistQueueAndEndTime |
@@ -23,7 +23,7 @@ export interface CreateOrderReferralMessage extends OdinRecordCreatedEvent<Creat
23
23
  * Properties for CreateOrderReferral action
24
24
  *
25
25
  * @property Required fields: 7
26
- * @property Optional fields: 0
26
+ * @property Optional fields: 1
27
27
  */
28
28
  export interface CreateOrderReferralProperties {
29
29
  /**
@@ -82,6 +82,13 @@ export interface CreateOrderReferralProperties {
82
82
  * @required
83
83
  */
84
84
  RewardValueReferrer: number;
85
+ /**
86
+ * PayoutPolicySnapshot
87
+ *
88
+ * Full campaign PayoutPolicy array as it existed when this referral was created. Used to recalculate RewardValueReferrer/RewardValueReferee if the order’s product changes before completion, without being affected by later edits to the live campaign policy. Null on referrals created before this field existed.
89
+ * @type {JSON}
90
+ */
91
+ PayoutPolicySnapshot?: string | null;
85
92
  }
86
93
  /**
87
94
  * Create Order Referral
@@ -0,0 +1,93 @@
1
+ /**
2
+ * UpdateContactAppPreferences Action DTO
3
+ *
4
+ * Record whether the customer has push notifications and biometric login turned on in the app, and when each last changed.
5
+ *
6
+ * @module CrmModule
7
+ * @entity Contact
8
+ * @actionKey UpdateContactAppPreferences
9
+ * @event k1.t-hEOJjsDb.CrmModule.Contact.Update.UpdateContactAppPreferences
10
+ *
11
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
12
+ */
13
+ import { OdinRecord, OdinRecordUpdateDto, OdinRecordUpdatedEvent } from '@d19n/odin-types/dist/core';
14
+ /**
15
+ * RabbitMQ message payload for UpdateContactAppPreferences updated events
16
+ *
17
+ * @event k1.t-hEOJjsDb.CrmModule.Contact.Update.UpdateContactAppPreferences
18
+ */
19
+ export interface UpdateContactAppPreferencesMessage extends OdinRecordUpdatedEvent<UpdateContactAppPreferencesDto, UpdateContactAppPreferencesProperties> {
20
+ }
21
+ /**
22
+ * Properties for UpdateContactAppPreferences action
23
+ *
24
+ * @property Required fields: 0
25
+ * @property Optional fields: 4
26
+ */
27
+ export interface UpdateContactAppPreferencesProperties {
28
+ /**
29
+ * App Push Notifications
30
+ *
31
+ * Whether the customer receives push notifications from the app: ENABLED only when the in-app toggle is on and the phone allows notifications. Empty until the app reports it (PORTAPP-3345).
32
+ * @type {ENUM}
33
+ */
34
+ AppPushNotificationStatus?: string | null;
35
+ /**
36
+ * App Push Notifications Last Changed
37
+ *
38
+ * When AppPushNotificationStatus last changed (PORTAPP-3345).
39
+ * @type {DATE_TIME}
40
+ */
41
+ AppPushNotificationStatusDate?: string | null;
42
+ /**
43
+ * App Biometric Login
44
+ *
45
+ * Whether the customer has biometric login (Face ID, fingerprint) turned on in the app. Empty until the app reports it (PORTAPP-3345).
46
+ * @type {ENUM}
47
+ */
48
+ AppBiometricLoginStatus?: string | null;
49
+ /**
50
+ * App Biometric Login Last Changed
51
+ *
52
+ * When AppBiometricLoginStatus last changed (PORTAPP-3345).
53
+ * @type {DATE_TIME}
54
+ */
55
+ AppBiometricLoginStatusDate?: string | null;
56
+ }
57
+ /**
58
+ * UpdateContactAppPreferences
59
+ *
60
+ * Record whether the customer has push notifications and biometric login turned on in the app, and when each last changed.
61
+ *
62
+ * @actionType UPDATE - Updates an existing Contact record
63
+ * @module CrmModule
64
+ * @entity Contact
65
+ * @event k1.t-hEOJjsDb.CrmModule.Contact.Update.UpdateContactAppPreferences
66
+ * @permission schema.action.updatecontactapppreferences.trigger
67
+ * @benchmark This action is tracked for performance benchmarks
68
+ */
69
+ export declare class UpdateContactAppPreferencesDto extends OdinRecordUpdateDto<UpdateContactAppPreferencesProperties> {
70
+ /** Used by SDK generators to identify action type */
71
+ static readonly ACTION_TYPE = "UPDATE";
72
+ static readonly ACTION_KEY = "UpdateContactAppPreferences";
73
+ static readonly MODULE_NAME = "CrmModule";
74
+ static readonly ENTITIES: string[];
75
+ static readonly EVENT_NAME = "k1.t-hEOJjsDb.CrmModule.Contact.Update.UpdateContactAppPreferences";
76
+ static readonly PERMISSION = "schema.action.updatecontactapppreferences.trigger";
77
+ /** Step metadata - entity this action targets */
78
+ static readonly STEP_ENTITY = "CrmModule:Contact";
79
+ static readonly STEP_SCHEMA_ID = "33643a0d-5b77-4895-a2da-991e0fd3432f";
80
+ static readonly STEP_SCHEMA_ACTION_ID = "32c74a4b-d6dc-43d1-9b5e-a076f801b3e3";
81
+ static readonly AUTO_LINK_PARENT = false;
82
+ readonly actionName: string;
83
+ readonly schemaActionId: string;
84
+ readonly entity: string;
85
+ constructor(record: OdinRecord<any> | {
86
+ id: string;
87
+ entity: string;
88
+ type?: string;
89
+ }, properties: UpdateContactAppPreferencesProperties, options?: {
90
+ journeyId?: string;
91
+ stageKey?: string;
92
+ });
93
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ /**
3
+ * UpdateContactAppPreferences Action DTO
4
+ *
5
+ * Record whether the customer has push notifications and biometric login turned on in the app, and when each last changed.
6
+ *
7
+ * @module CrmModule
8
+ * @entity Contact
9
+ * @actionKey UpdateContactAppPreferences
10
+ * @event k1.t-hEOJjsDb.CrmModule.Contact.Update.UpdateContactAppPreferences
11
+ *
12
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.UpdateContactAppPreferencesDto = void 0;
16
+ const core_1 = require("@d19n/odin-types/dist/core");
17
+ /**
18
+ * UpdateContactAppPreferences
19
+ *
20
+ * Record whether the customer has push notifications and biometric login turned on in the app, and when each last changed.
21
+ *
22
+ * @actionType UPDATE - Updates an existing Contact record
23
+ * @module CrmModule
24
+ * @entity Contact
25
+ * @event k1.t-hEOJjsDb.CrmModule.Contact.Update.UpdateContactAppPreferences
26
+ * @permission schema.action.updatecontactapppreferences.trigger
27
+ * @benchmark This action is tracked for performance benchmarks
28
+ */
29
+ class UpdateContactAppPreferencesDto extends core_1.OdinRecordUpdateDto {
30
+ constructor(record, properties, options) {
31
+ super({
32
+ id: record.id,
33
+ entity: record.entity,
34
+ type: record.type,
35
+ properties,
36
+ journeyId: options === null || options === void 0 ? void 0 : options.journeyId,
37
+ stageKey: options === null || options === void 0 ? void 0 : options.stageKey,
38
+ });
39
+ this.actionName = 'UpdateContactAppPreferences';
40
+ this.schemaActionId = '32c74a4b-d6dc-43d1-9b5e-a076f801b3e3';
41
+ this.entity = 'CrmModule:Contact';
42
+ }
43
+ }
44
+ exports.UpdateContactAppPreferencesDto = UpdateContactAppPreferencesDto;
45
+ /** Used by SDK generators to identify action type */
46
+ UpdateContactAppPreferencesDto.ACTION_TYPE = 'UPDATE';
47
+ UpdateContactAppPreferencesDto.ACTION_KEY = 'UpdateContactAppPreferences';
48
+ UpdateContactAppPreferencesDto.MODULE_NAME = 'CrmModule';
49
+ UpdateContactAppPreferencesDto.ENTITIES = ['Contact'];
50
+ UpdateContactAppPreferencesDto.EVENT_NAME = 'k1.t-hEOJjsDb.CrmModule.Contact.Update.UpdateContactAppPreferences';
51
+ UpdateContactAppPreferencesDto.PERMISSION = 'schema.action.updatecontactapppreferences.trigger';
52
+ /** Step metadata - entity this action targets */
53
+ UpdateContactAppPreferencesDto.STEP_ENTITY = 'CrmModule:Contact';
54
+ UpdateContactAppPreferencesDto.STEP_SCHEMA_ID = '33643a0d-5b77-4895-a2da-991e0fd3432f';
55
+ UpdateContactAppPreferencesDto.STEP_SCHEMA_ACTION_ID = '32c74a4b-d6dc-43d1-9b5e-a076f801b3e3';
56
+ UpdateContactAppPreferencesDto.AUTO_LINK_PARENT = false;
@@ -134,7 +134,6 @@ export interface ReferralProperties {
134
134
  *
135
135
  * @type {JSON}
136
136
  * @default
137
- * @hidden This field is hidden in the UI
138
137
  */
139
138
  PayoutPolicySnapshot: string;
140
139
  }
@@ -183,7 +182,6 @@ export interface OrderReferralProperties {
183
182
  *
184
183
  * @type {JSON}
185
184
  * @default
186
- * @hidden This field is hidden in the UI
187
185
  */
188
186
  PayoutPolicySnapshot: string;
189
187
  }
@@ -130,64 +130,64 @@ export declare enum VoiceConfigurationPortFromProvider {
130
130
  * Use these constants instead of string literals for type safety
131
131
  */
132
132
  export declare enum VoiceConfigurationPropertyKeys {
133
- /** AuthorizedLOA (Network Operations - VoiceConfiguration) */
134
- AuthorizedLoa = "AuthorizedLOA",
133
+ /** When the Magrathea "port accepted" customer email was sent for this port. Checked before sending and stamped after -- the redelivery-dedup guard for an at-least-once RabbitMQ consumer whose only prior guard (prevStatus !== nextStatus) was built from message-carried fields and so could not survive a redelivery. Scoped per port (this VoiceConfiguration record), not per contact, so a genuine second port for the same customer still sends. */
134
+ PortingUpdateEmailSentAt = "PortingUpdateEmailSentAt",
135
135
  /** ExternalReference */
136
136
  ExternalReference = "ExternalReference",
137
- /** the phone number provided by us to the customer (Network Operations - VoiceConfiguration) */
138
- IssuedPhoneNumber = "IssuedPhoneNumber",
139
- /** IssuedPhoneNumberParts (Network Operations - VoiceConfiguration) */
140
- IssuedPhoneNumberParts = "IssuedPhoneNumberParts",
141
- /** Data field for VoiceConfiguration records. Used by Network Operations team. */
142
- LastAction = "LastAction",
143
- /** LastActionDate (Network Operations - VoiceConfiguration) */
144
- LastActionDate = "LastActionDate",
145
- /** LastCheckStatusDate (Network Operations - VoiceConfiguration) */
146
- LastCheckStatusDate = "LastCheckStatusDate",
147
- /** the order id provided by magrathea (Network Operations - VoiceConfiguration) */
148
- MagratheaOrderId = "MagratheaOrderId",
149
137
  /** MagratheaOrderLastUpdate (Network Operations - VoiceConfiguration) */
150
138
  MagratheaOrderLastUpdate = "MagratheaOrderLastUpdate",
151
- /** MagratheaOrderLastUpdateTime (Network Operations - VoiceConfiguration) */
152
- MagratheaOrderLastUpdateTime = "MagratheaOrderLastUpdateTime",
139
+ /** SystemMessageDate (Network Operations - VoiceConfiguration) */
140
+ SystemMessageDate = "SystemMessageDate",
141
+ /** the order id provided by magrathea (Network Operations - VoiceConfiguration) */
142
+ MagratheaOrderId = "MagratheaOrderId",
143
+ /** SipwiseCustomerId (Network Operations - VoiceConfiguration) */
144
+ SipwiseCustomerId = "SipwiseCustomerId",
145
+ /** VoicePortOperStatus (Network Operations - VoiceConfiguration) */
146
+ VoicePortOperStatus = "VoicePortOperStatus",
147
+ /** VoicePortAdminStatus (Network Operations - VoiceConfiguration) */
148
+ VoicePortAdminStatus = "VoicePortAdminStatus",
149
+ /** LastCheckStatusDate (Network Operations - VoiceConfiguration) */
150
+ LastCheckStatusDate = "LastCheckStatusDate",
151
+ /** Data field for VoiceConfiguration records. Used by Network Operations team. */
152
+ LastAction = "LastAction",
153
+ /** VoiceLineState (Network Operations - VoiceConfiguration) */
154
+ VoiceLineState = "VoiceLineState",
155
+ /** SipwiseCustomerContactId (Network Operations - VoiceConfiguration) */
156
+ SipwiseCustomerContactId = "SipwiseCustomerContactId",
157
+ /** AuthorizedLOA (Network Operations - VoiceConfiguration) */
158
+ AuthorizedLoa = "AuthorizedLOA",
159
+ /** SystemMessage (Network Operations - VoiceConfiguration) */
160
+ SystemMessage = "SystemMessage",
161
+ /** The parts include CountryCode, AreaCode, SubscriberNumber (Network Operations - VoiceConfiguration) */
162
+ PhoneNumberToPortParts = "PhoneNumberToPortParts",
163
+ /** OrderItemId (Network Operations - VoiceConfiguration) */
164
+ OrderItemId = "OrderItemId",
165
+ /** Data field for VoiceConfiguration records. Used by Network Operations team. */
166
+ VoiceIp = "VoiceIp",
167
+ /** VoiceServerStatus (Network Operations - VoiceConfiguration) */
168
+ VoiceServerStatus = "VoiceServerStatus",
169
+ /** SipwiseSubscriberId (Network Operations - VoiceConfiguration) */
170
+ SipwiseSubscriberId = "SipwiseSubscriberId",
153
171
  /** MagratheaOrderStatus (Network Operations - VoiceConfiguration) */
154
172
  MagratheaOrderStatus = "MagratheaOrderStatus",
173
+ /** MagratheaOrderLastUpdateTime (Network Operations - VoiceConfiguration) */
174
+ MagratheaOrderLastUpdateTime = "MagratheaOrderLastUpdateTime",
175
+ /** LastActionDate (Network Operations - VoiceConfiguration) */
176
+ LastActionDate = "LastActionDate",
177
+ /** PortFromProvider (Network Operations - VoiceConfiguration) */
178
+ PortFromProvider = "PortFromProvider",
155
179
  /** MagratheaOrderStatusDate (Network Operations - VoiceConfiguration) */
156
180
  MagratheaOrderStatusDate = "MagratheaOrderStatusDate",
157
- /** Magrathea Port Date */
158
- MagratheaPortDate = "MagratheaPortDate",
181
+ /** IssuedPhoneNumberParts (Network Operations - VoiceConfiguration) */
182
+ IssuedPhoneNumberParts = "IssuedPhoneNumberParts",
159
183
  /** NetworkServiceId (Network Operations - VoiceConfiguration) */
160
184
  NetworkServiceId = "NetworkServiceId",
161
- /** OrderItemId (Network Operations - VoiceConfiguration) */
162
- OrderItemId = "OrderItemId",
163
185
  /** phone number to port (Network Operations - VoiceConfiguration) */
164
186
  PhoneNumberToPort = "PhoneNumberToPort",
165
- /** The parts include CountryCode, AreaCode, SubscriberNumber (Network Operations - VoiceConfiguration) */
166
- PhoneNumberToPortParts = "PhoneNumberToPortParts",
167
- /** PortFromProvider (Network Operations - VoiceConfiguration) */
168
- PortFromProvider = "PortFromProvider",
169
- /** When the Magrathea "port accepted" customer email was sent for this port. Checked before sending and stamped after -- the redelivery-dedup guard for an at-least-once RabbitMQ consumer whose only prior guard (prevStatus !== nextStatus) was built from message-carried fields and so could not survive a redelivery. Scoped per port (this VoiceConfiguration record), not per contact, so a genuine second port for the same customer still sends. */
170
- PortingUpdateEmailSentAt = "PortingUpdateEmailSentAt",
171
- /** SipwiseCustomerContactId (Network Operations - VoiceConfiguration) */
172
- SipwiseCustomerContactId = "SipwiseCustomerContactId",
173
- /** SipwiseCustomerId (Network Operations - VoiceConfiguration) */
174
- SipwiseCustomerId = "SipwiseCustomerId",
175
- /** SipwiseSubscriberId (Network Operations - VoiceConfiguration) */
176
- SipwiseSubscriberId = "SipwiseSubscriberId",
177
- /** SystemMessage (Network Operations - VoiceConfiguration) */
178
- SystemMessage = "SystemMessage",
179
- /** SystemMessageDate (Network Operations - VoiceConfiguration) */
180
- SystemMessageDate = "SystemMessageDate",
181
- /** Data field for VoiceConfiguration records. Used by Network Operations team. */
182
- VoiceIp = "VoiceIp",
183
- /** VoiceLineState (Network Operations - VoiceConfiguration) */
184
- VoiceLineState = "VoiceLineState",
185
- /** VoicePortAdminStatus (Network Operations - VoiceConfiguration) */
186
- VoicePortAdminStatus = "VoicePortAdminStatus",
187
- /** VoicePortOperStatus (Network Operations - VoiceConfiguration) */
188
- VoicePortOperStatus = "VoicePortOperStatus",
189
- /** VoiceServerStatus (Network Operations - VoiceConfiguration) */
190
- VoiceServerStatus = "VoiceServerStatus"
187
+ /** the phone number provided by us to the customer (Network Operations - VoiceConfiguration) */
188
+ IssuedPhoneNumber = "IssuedPhoneNumber",
189
+ /** Magrathea Port Date */
190
+ MagratheaPortDate = "MagratheaPortDate"
191
191
  }
192
192
  /**
193
193
  * Properties for VoiceConfiguration records
@@ -195,167 +195,167 @@ export declare enum VoiceConfigurationPropertyKeys {
195
195
  * @see ServiceModule:VoiceConfiguration
196
196
  */
197
197
  export interface VoiceConfigurationProperties {
198
- /** AuthorizedLOA (Network Operations - VoiceConfiguration)
198
+ /** When the Magrathea "port accepted" customer email was sent for this port. Checked before sending and stamped after -- the redelivery-dedup guard for an at-least-once RabbitMQ consumer whose only prior guard (prevStatus !== nextStatus) was built from message-carried fields and so could not survive a redelivery. Scoped per port (this VoiceConfiguration record), not per contact, so a genuine second port for the same customer still sends.
199
199
  *
200
- * @type {BOOLEAN}
200
+ * @type {DATE_TIME}
201
+ * @default
201
202
  */
202
- AuthorizedLoa: boolean;
203
+ PortingUpdateEmailSentAt: string;
203
204
  /** ExternalReference
204
205
  *
205
206
  * @type {TEXT}
206
207
  */
207
208
  ExternalReference: string;
208
- /** the phone number provided by us to the customer (Network Operations - VoiceConfiguration)
209
- *
210
- * @type {PHONE_NUMBER_E164_GB}
211
- * @pii This field contains personally identifiable information
212
- */
213
- IssuedPhoneNumber: string;
214
- /** IssuedPhoneNumberParts (Network Operations - VoiceConfiguration)
215
- *
216
- * @type {JSON}
217
- * @pii This field contains personally identifiable information
218
- */
219
- IssuedPhoneNumberParts: string;
220
- /** Data field for VoiceConfiguration records. Used by Network Operations team.
209
+ /** MagratheaOrderLastUpdate (Network Operations - VoiceConfiguration)
221
210
  *
222
211
  * @type {TEXT}
223
- * @hidden This field is hidden in the UI
224
- */
225
- LastAction: string;
226
- /** LastActionDate (Network Operations - VoiceConfiguration)
227
- *
228
- * @type {DATE_TIME}
229
- * @format DD/MM/YYYY hh:mm:ss
230
- * @hidden This field is hidden in the UI
231
212
  */
232
- LastActionDate: string;
233
- /** LastCheckStatusDate (Network Operations - VoiceConfiguration)
213
+ MagratheaOrderLastUpdate: string;
214
+ /** SystemMessageDate (Network Operations - VoiceConfiguration)
234
215
  *
235
216
  * @type {DATE_TIME}
236
217
  * @format DD/MM/YYYY hh:mm:ss
218
+ * @default
237
219
  * @hidden This field is hidden in the UI
238
220
  */
239
- LastCheckStatusDate: string;
221
+ SystemMessageDate: string;
240
222
  /** the order id provided by magrathea (Network Operations - VoiceConfiguration)
241
223
  *
242
224
  * @type {TEXT}
243
225
  */
244
226
  MagratheaOrderId: string;
245
- /** MagratheaOrderLastUpdate (Network Operations - VoiceConfiguration)
227
+ /** SipwiseCustomerId (Network Operations - VoiceConfiguration)
246
228
  *
247
- * @type {TEXT}
229
+ * @type {NUMBER}
248
230
  */
249
- MagratheaOrderLastUpdate: string;
250
- /** MagratheaOrderLastUpdateTime (Network Operations - VoiceConfiguration)
231
+ SipwiseCustomerId: number;
232
+ /** VoicePortOperStatus (Network Operations - VoiceConfiguration)
251
233
  *
252
234
  * @type {TEXT}
253
235
  */
254
- MagratheaOrderLastUpdateTime: string;
255
- /** MagratheaOrderStatus (Network Operations - VoiceConfiguration)
236
+ VoicePortOperStatus: string;
237
+ /** VoicePortAdminStatus (Network Operations - VoiceConfiguration)
256
238
  *
257
239
  * @type {TEXT}
258
240
  */
259
- MagratheaOrderStatus: string;
260
- /** MagratheaOrderStatusDate (Network Operations - VoiceConfiguration)
241
+ VoicePortAdminStatus: string;
242
+ /** LastCheckStatusDate (Network Operations - VoiceConfiguration)
261
243
  *
262
244
  * @type {DATE_TIME}
263
245
  * @format DD/MM/YYYY hh:mm:ss
246
+ * @hidden This field is hidden in the UI
264
247
  */
265
- MagratheaOrderStatusDate: string;
266
- /** Magrathea Port Date
248
+ LastCheckStatusDate: string;
249
+ /** Data field for VoiceConfiguration records. Used by Network Operations team.
267
250
  *
268
- * @type {DATE}
251
+ * @type {TEXT}
252
+ * @hidden This field is hidden in the UI
269
253
  */
270
- MagratheaPortDate: string;
271
- /** NetworkServiceId (Network Operations - VoiceConfiguration)
254
+ LastAction: string;
255
+ /** VoiceLineState (Network Operations - VoiceConfiguration)
272
256
  *
273
257
  * @type {TEXT}
274
258
  */
275
- NetworkServiceId: string;
276
- /** OrderItemId (Network Operations - VoiceConfiguration)
259
+ VoiceLineState: string;
260
+ /** SipwiseCustomerContactId (Network Operations - VoiceConfiguration)
277
261
  *
278
- * @type {LOOKUP}
262
+ * @type {NUMERIC}
279
263
  */
280
- OrderItemId: string;
281
- /** phone number to port (Network Operations - VoiceConfiguration)
264
+ SipwiseCustomerContactId: number;
265
+ /** AuthorizedLOA (Network Operations - VoiceConfiguration)
282
266
  *
283
- * @type {PHONE_NUMBER_E164_GB}
284
- * @pii This field contains personally identifiable information
267
+ * @type {BOOLEAN}
285
268
  */
286
- PhoneNumberToPort: string;
269
+ AuthorizedLoa: boolean;
270
+ /** SystemMessage (Network Operations - VoiceConfiguration)
271
+ *
272
+ * @type {TEXT}
273
+ * @hidden This field is hidden in the UI
274
+ */
275
+ SystemMessage: string;
287
276
  /** The parts include CountryCode, AreaCode, SubscriberNumber (Network Operations - VoiceConfiguration)
288
277
  *
289
278
  * @type {JSON}
290
279
  * @pii This field contains personally identifiable information
291
280
  */
292
281
  PhoneNumberToPortParts: string;
293
- /** PortFromProvider (Network Operations - VoiceConfiguration)
294
- *
295
- * @type {ENUM}
296
- * @enum {VoiceConfigurationPortFromProvider}
297
- */
298
- PortFromProvider: VoiceConfigurationPortFromProvider;
299
- /** When the Magrathea "port accepted" customer email was sent for this port. Checked before sending and stamped after -- the redelivery-dedup guard for an at-least-once RabbitMQ consumer whose only prior guard (prevStatus !== nextStatus) was built from message-carried fields and so could not survive a redelivery. Scoped per port (this VoiceConfiguration record), not per contact, so a genuine second port for the same customer still sends.
282
+ /** OrderItemId (Network Operations - VoiceConfiguration)
300
283
  *
301
- * @type {DATE_TIME}
302
- * @default
284
+ * @type {LOOKUP}
303
285
  */
304
- PortingUpdateEmailSentAt: string;
305
- /** SipwiseCustomerContactId (Network Operations - VoiceConfiguration)
286
+ OrderItemId: string;
287
+ /** Data field for VoiceConfiguration records. Used by Network Operations team.
306
288
  *
307
- * @type {NUMERIC}
289
+ * @type {TEXT}
308
290
  */
309
- SipwiseCustomerContactId: number;
310
- /** SipwiseCustomerId (Network Operations - VoiceConfiguration)
291
+ VoiceIp: string;
292
+ /** VoiceServerStatus (Network Operations - VoiceConfiguration)
311
293
  *
312
- * @type {NUMBER}
294
+ * @type {TEXT}
313
295
  */
314
- SipwiseCustomerId: number;
296
+ VoiceServerStatus: string;
315
297
  /** SipwiseSubscriberId (Network Operations - VoiceConfiguration)
316
298
  *
317
299
  * @type {NUMBER}
318
300
  */
319
301
  SipwiseSubscriberId: number;
320
- /** SystemMessage (Network Operations - VoiceConfiguration)
302
+ /** MagratheaOrderStatus (Network Operations - VoiceConfiguration)
321
303
  *
322
304
  * @type {TEXT}
323
- * @hidden This field is hidden in the UI
324
305
  */
325
- SystemMessage: string;
326
- /** SystemMessageDate (Network Operations - VoiceConfiguration)
306
+ MagratheaOrderStatus: string;
307
+ /** MagratheaOrderLastUpdateTime (Network Operations - VoiceConfiguration)
308
+ *
309
+ * @type {TEXT}
310
+ */
311
+ MagratheaOrderLastUpdateTime: string;
312
+ /** LastActionDate (Network Operations - VoiceConfiguration)
327
313
  *
328
314
  * @type {DATE_TIME}
329
315
  * @format DD/MM/YYYY hh:mm:ss
330
- * @default
331
316
  * @hidden This field is hidden in the UI
332
317
  */
333
- SystemMessageDate: string;
334
- /** Data field for VoiceConfiguration records. Used by Network Operations team.
318
+ LastActionDate: string;
319
+ /** PortFromProvider (Network Operations - VoiceConfiguration)
335
320
  *
336
- * @type {TEXT}
321
+ * @type {ENUM}
322
+ * @enum {VoiceConfigurationPortFromProvider}
337
323
  */
338
- VoiceIp: string;
339
- /** VoiceLineState (Network Operations - VoiceConfiguration)
324
+ PortFromProvider: VoiceConfigurationPortFromProvider;
325
+ /** MagratheaOrderStatusDate (Network Operations - VoiceConfiguration)
340
326
  *
341
- * @type {TEXT}
327
+ * @type {DATE_TIME}
328
+ * @format DD/MM/YYYY hh:mm:ss
342
329
  */
343
- VoiceLineState: string;
344
- /** VoicePortAdminStatus (Network Operations - VoiceConfiguration)
330
+ MagratheaOrderStatusDate: string;
331
+ /** IssuedPhoneNumberParts (Network Operations - VoiceConfiguration)
345
332
  *
346
- * @type {TEXT}
333
+ * @type {JSON}
334
+ * @pii This field contains personally identifiable information
347
335
  */
348
- VoicePortAdminStatus: string;
349
- /** VoicePortOperStatus (Network Operations - VoiceConfiguration)
336
+ IssuedPhoneNumberParts: string;
337
+ /** NetworkServiceId (Network Operations - VoiceConfiguration)
350
338
  *
351
339
  * @type {TEXT}
352
340
  */
353
- VoicePortOperStatus: string;
354
- /** VoiceServerStatus (Network Operations - VoiceConfiguration)
341
+ NetworkServiceId: string;
342
+ /** phone number to port (Network Operations - VoiceConfiguration)
355
343
  *
356
- * @type {TEXT}
344
+ * @type {PHONE_NUMBER_E164_GB}
345
+ * @pii This field contains personally identifiable information
357
346
  */
358
- VoiceServerStatus: string;
347
+ PhoneNumberToPort: string;
348
+ /** the phone number provided by us to the customer (Network Operations - VoiceConfiguration)
349
+ *
350
+ * @type {PHONE_NUMBER_E164_GB}
351
+ * @pii This field contains personally identifiable information
352
+ */
353
+ IssuedPhoneNumber: string;
354
+ /** Magrathea Port Date
355
+ *
356
+ * @type {DATE}
357
+ */
358
+ MagratheaPortDate: string;
359
359
  }
360
360
  /**
361
361
  * VoiceConfiguration entity from ServiceModule
@@ -135,64 +135,64 @@ var VoiceConfigurationPortFromProvider;
135
135
  */
136
136
  var VoiceConfigurationPropertyKeys;
137
137
  (function (VoiceConfigurationPropertyKeys) {
138
- /** AuthorizedLOA (Network Operations - VoiceConfiguration) */
139
- VoiceConfigurationPropertyKeys["AuthorizedLoa"] = "AuthorizedLOA";
138
+ /** When the Magrathea "port accepted" customer email was sent for this port. Checked before sending and stamped after -- the redelivery-dedup guard for an at-least-once RabbitMQ consumer whose only prior guard (prevStatus !== nextStatus) was built from message-carried fields and so could not survive a redelivery. Scoped per port (this VoiceConfiguration record), not per contact, so a genuine second port for the same customer still sends. */
139
+ VoiceConfigurationPropertyKeys["PortingUpdateEmailSentAt"] = "PortingUpdateEmailSentAt";
140
140
  /** ExternalReference */
141
141
  VoiceConfigurationPropertyKeys["ExternalReference"] = "ExternalReference";
142
- /** the phone number provided by us to the customer (Network Operations - VoiceConfiguration) */
143
- VoiceConfigurationPropertyKeys["IssuedPhoneNumber"] = "IssuedPhoneNumber";
144
- /** IssuedPhoneNumberParts (Network Operations - VoiceConfiguration) */
145
- VoiceConfigurationPropertyKeys["IssuedPhoneNumberParts"] = "IssuedPhoneNumberParts";
146
- /** Data field for VoiceConfiguration records. Used by Network Operations team. */
147
- VoiceConfigurationPropertyKeys["LastAction"] = "LastAction";
148
- /** LastActionDate (Network Operations - VoiceConfiguration) */
149
- VoiceConfigurationPropertyKeys["LastActionDate"] = "LastActionDate";
150
- /** LastCheckStatusDate (Network Operations - VoiceConfiguration) */
151
- VoiceConfigurationPropertyKeys["LastCheckStatusDate"] = "LastCheckStatusDate";
152
- /** the order id provided by magrathea (Network Operations - VoiceConfiguration) */
153
- VoiceConfigurationPropertyKeys["MagratheaOrderId"] = "MagratheaOrderId";
154
142
  /** MagratheaOrderLastUpdate (Network Operations - VoiceConfiguration) */
155
143
  VoiceConfigurationPropertyKeys["MagratheaOrderLastUpdate"] = "MagratheaOrderLastUpdate";
156
- /** MagratheaOrderLastUpdateTime (Network Operations - VoiceConfiguration) */
157
- VoiceConfigurationPropertyKeys["MagratheaOrderLastUpdateTime"] = "MagratheaOrderLastUpdateTime";
158
- /** MagratheaOrderStatus (Network Operations - VoiceConfiguration) */
159
- VoiceConfigurationPropertyKeys["MagratheaOrderStatus"] = "MagratheaOrderStatus";
160
- /** MagratheaOrderStatusDate (Network Operations - VoiceConfiguration) */
161
- VoiceConfigurationPropertyKeys["MagratheaOrderStatusDate"] = "MagratheaOrderStatusDate";
162
- /** Magrathea Port Date */
163
- VoiceConfigurationPropertyKeys["MagratheaPortDate"] = "MagratheaPortDate";
164
- /** NetworkServiceId (Network Operations - VoiceConfiguration) */
165
- VoiceConfigurationPropertyKeys["NetworkServiceId"] = "NetworkServiceId";
166
- /** OrderItemId (Network Operations - VoiceConfiguration) */
167
- VoiceConfigurationPropertyKeys["OrderItemId"] = "OrderItemId";
168
- /** phone number to port (Network Operations - VoiceConfiguration) */
169
- VoiceConfigurationPropertyKeys["PhoneNumberToPort"] = "PhoneNumberToPort";
170
- /** The parts include CountryCode, AreaCode, SubscriberNumber (Network Operations - VoiceConfiguration) */
171
- VoiceConfigurationPropertyKeys["PhoneNumberToPortParts"] = "PhoneNumberToPortParts";
172
- /** PortFromProvider (Network Operations - VoiceConfiguration) */
173
- VoiceConfigurationPropertyKeys["PortFromProvider"] = "PortFromProvider";
174
- /** When the Magrathea "port accepted" customer email was sent for this port. Checked before sending and stamped after -- the redelivery-dedup guard for an at-least-once RabbitMQ consumer whose only prior guard (prevStatus !== nextStatus) was built from message-carried fields and so could not survive a redelivery. Scoped per port (this VoiceConfiguration record), not per contact, so a genuine second port for the same customer still sends. */
175
- VoiceConfigurationPropertyKeys["PortingUpdateEmailSentAt"] = "PortingUpdateEmailSentAt";
176
- /** SipwiseCustomerContactId (Network Operations - VoiceConfiguration) */
177
- VoiceConfigurationPropertyKeys["SipwiseCustomerContactId"] = "SipwiseCustomerContactId";
144
+ /** SystemMessageDate (Network Operations - VoiceConfiguration) */
145
+ VoiceConfigurationPropertyKeys["SystemMessageDate"] = "SystemMessageDate";
146
+ /** the order id provided by magrathea (Network Operations - VoiceConfiguration) */
147
+ VoiceConfigurationPropertyKeys["MagratheaOrderId"] = "MagratheaOrderId";
178
148
  /** SipwiseCustomerId (Network Operations - VoiceConfiguration) */
179
149
  VoiceConfigurationPropertyKeys["SipwiseCustomerId"] = "SipwiseCustomerId";
180
- /** SipwiseSubscriberId (Network Operations - VoiceConfiguration) */
181
- VoiceConfigurationPropertyKeys["SipwiseSubscriberId"] = "SipwiseSubscriberId";
150
+ /** VoicePortOperStatus (Network Operations - VoiceConfiguration) */
151
+ VoiceConfigurationPropertyKeys["VoicePortOperStatus"] = "VoicePortOperStatus";
152
+ /** VoicePortAdminStatus (Network Operations - VoiceConfiguration) */
153
+ VoiceConfigurationPropertyKeys["VoicePortAdminStatus"] = "VoicePortAdminStatus";
154
+ /** LastCheckStatusDate (Network Operations - VoiceConfiguration) */
155
+ VoiceConfigurationPropertyKeys["LastCheckStatusDate"] = "LastCheckStatusDate";
156
+ /** Data field for VoiceConfiguration records. Used by Network Operations team. */
157
+ VoiceConfigurationPropertyKeys["LastAction"] = "LastAction";
158
+ /** VoiceLineState (Network Operations - VoiceConfiguration) */
159
+ VoiceConfigurationPropertyKeys["VoiceLineState"] = "VoiceLineState";
160
+ /** SipwiseCustomerContactId (Network Operations - VoiceConfiguration) */
161
+ VoiceConfigurationPropertyKeys["SipwiseCustomerContactId"] = "SipwiseCustomerContactId";
162
+ /** AuthorizedLOA (Network Operations - VoiceConfiguration) */
163
+ VoiceConfigurationPropertyKeys["AuthorizedLoa"] = "AuthorizedLOA";
182
164
  /** SystemMessage (Network Operations - VoiceConfiguration) */
183
165
  VoiceConfigurationPropertyKeys["SystemMessage"] = "SystemMessage";
184
- /** SystemMessageDate (Network Operations - VoiceConfiguration) */
185
- VoiceConfigurationPropertyKeys["SystemMessageDate"] = "SystemMessageDate";
166
+ /** The parts include CountryCode, AreaCode, SubscriberNumber (Network Operations - VoiceConfiguration) */
167
+ VoiceConfigurationPropertyKeys["PhoneNumberToPortParts"] = "PhoneNumberToPortParts";
168
+ /** OrderItemId (Network Operations - VoiceConfiguration) */
169
+ VoiceConfigurationPropertyKeys["OrderItemId"] = "OrderItemId";
186
170
  /** Data field for VoiceConfiguration records. Used by Network Operations team. */
187
171
  VoiceConfigurationPropertyKeys["VoiceIp"] = "VoiceIp";
188
- /** VoiceLineState (Network Operations - VoiceConfiguration) */
189
- VoiceConfigurationPropertyKeys["VoiceLineState"] = "VoiceLineState";
190
- /** VoicePortAdminStatus (Network Operations - VoiceConfiguration) */
191
- VoiceConfigurationPropertyKeys["VoicePortAdminStatus"] = "VoicePortAdminStatus";
192
- /** VoicePortOperStatus (Network Operations - VoiceConfiguration) */
193
- VoiceConfigurationPropertyKeys["VoicePortOperStatus"] = "VoicePortOperStatus";
194
172
  /** VoiceServerStatus (Network Operations - VoiceConfiguration) */
195
173
  VoiceConfigurationPropertyKeys["VoiceServerStatus"] = "VoiceServerStatus";
174
+ /** SipwiseSubscriberId (Network Operations - VoiceConfiguration) */
175
+ VoiceConfigurationPropertyKeys["SipwiseSubscriberId"] = "SipwiseSubscriberId";
176
+ /** MagratheaOrderStatus (Network Operations - VoiceConfiguration) */
177
+ VoiceConfigurationPropertyKeys["MagratheaOrderStatus"] = "MagratheaOrderStatus";
178
+ /** MagratheaOrderLastUpdateTime (Network Operations - VoiceConfiguration) */
179
+ VoiceConfigurationPropertyKeys["MagratheaOrderLastUpdateTime"] = "MagratheaOrderLastUpdateTime";
180
+ /** LastActionDate (Network Operations - VoiceConfiguration) */
181
+ VoiceConfigurationPropertyKeys["LastActionDate"] = "LastActionDate";
182
+ /** PortFromProvider (Network Operations - VoiceConfiguration) */
183
+ VoiceConfigurationPropertyKeys["PortFromProvider"] = "PortFromProvider";
184
+ /** MagratheaOrderStatusDate (Network Operations - VoiceConfiguration) */
185
+ VoiceConfigurationPropertyKeys["MagratheaOrderStatusDate"] = "MagratheaOrderStatusDate";
186
+ /** IssuedPhoneNumberParts (Network Operations - VoiceConfiguration) */
187
+ VoiceConfigurationPropertyKeys["IssuedPhoneNumberParts"] = "IssuedPhoneNumberParts";
188
+ /** NetworkServiceId (Network Operations - VoiceConfiguration) */
189
+ VoiceConfigurationPropertyKeys["NetworkServiceId"] = "NetworkServiceId";
190
+ /** phone number to port (Network Operations - VoiceConfiguration) */
191
+ VoiceConfigurationPropertyKeys["PhoneNumberToPort"] = "PhoneNumberToPort";
192
+ /** the phone number provided by us to the customer (Network Operations - VoiceConfiguration) */
193
+ VoiceConfigurationPropertyKeys["IssuedPhoneNumber"] = "IssuedPhoneNumber";
194
+ /** Magrathea Port Date */
195
+ VoiceConfigurationPropertyKeys["MagratheaPortDate"] = "MagratheaPortDate";
196
196
  })(VoiceConfigurationPropertyKeys = exports.VoiceConfigurationPropertyKeys || (exports.VoiceConfigurationPropertyKeys = {}));
197
197
  /**
198
198
  * VoiceConfiguration entity from ServiceModule
@@ -25,6 +25,7 @@ import { CreateCaseProperties } from '../actions-v2/CreateCaseFromContactDto';
25
25
  import { CreateContactProperties } from '../actions-v2/CreateContactDto';
26
26
  import { CreateContactSalesAppProperties } from '../actions-v2/CreateContactSalesAppDto';
27
27
  import { UpdateAdditionalCareProperties } from '../actions-v2/UpdateAdditionalCareDto';
28
+ import { UpdateContactAppPreferencesProperties } from '../actions-v2/UpdateContactAppPreferencesDto';
28
29
  import { UpdateContactProperties } from '../actions-v2/UpdateContactDto';
29
30
  import { UpdateReferralCodeProperties } from '../actions-v2/UpdateReferralCodeDto';
30
31
  import { UpdateWhitelistQueueAndEndTimeProperties } from '../actions-v2/UpdateWhitelistQueueAndEndTimeDto';
@@ -864,6 +865,33 @@ export declare class ContactRecord<TProps = ContactProperties> {
864
865
  journeyId?: string;
865
866
  stageKey?: string;
866
867
  }): ActionBuilder;
868
+ /**
869
+ * UpdateContactAppPreferences
870
+ *
871
+ * Updates this Contact record.
872
+ * Returns an ActionBuilder - call .execute() to update or .dryRun() for debugging.
873
+ *
874
+ * @param propertiesOrOptions - Properties to update, or options object
875
+ * @param options - Optional settings (journeyId, stageKey)
876
+ * @returns ActionBuilder - call .execute() to update or .dryRun() for payload
877
+ * @throws Error if called on a new (unsaved) record
878
+ *
879
+ * @example
880
+ * ```typescript
881
+ * const record = await odinClient.contacts.get(id);
882
+ * await record.updateContactAppPreferences({ ... }).execute();
883
+ *
884
+ * // Dry run (for debugging)
885
+ * const payload = record.updateContactAppPreferences({ ... }).dryRun();
886
+ * ```
887
+ */
888
+ updateContactAppPreferences(propertiesOrOptions?: UpdateContactAppPreferencesProperties | {
889
+ journeyId?: string;
890
+ stageKey?: string;
891
+ }, options?: {
892
+ journeyId?: string;
893
+ stageKey?: string;
894
+ }): ActionBuilder;
867
895
  /**
868
896
  * UpdateContact
869
897
  *
@@ -1277,6 +1277,43 @@ class ContactRecord {
1277
1277
  const payload = Object.assign({ id: this._record.id, entity: this._record.entity, type: this._record.type, actionName: 'UpdateAdditionalCare', properties, associations: this._pendingLinks.length > 0 ? this._pendingLinks : undefined }, options);
1278
1278
  return new ActionBuilder(this._provider, 'CrmModule', 'Contact', payload, () => { this._pendingLinks = []; });
1279
1279
  }
1280
+ /**
1281
+ * UpdateContactAppPreferences
1282
+ *
1283
+ * Updates this Contact record.
1284
+ * Returns an ActionBuilder - call .execute() to update or .dryRun() for debugging.
1285
+ *
1286
+ * @param propertiesOrOptions - Properties to update, or options object
1287
+ * @param options - Optional settings (journeyId, stageKey)
1288
+ * @returns ActionBuilder - call .execute() to update or .dryRun() for payload
1289
+ * @throws Error if called on a new (unsaved) record
1290
+ *
1291
+ * @example
1292
+ * ```typescript
1293
+ * const record = await odinClient.contacts.get(id);
1294
+ * await record.updateContactAppPreferences({ ... }).execute();
1295
+ *
1296
+ * // Dry run (for debugging)
1297
+ * const payload = record.updateContactAppPreferences({ ... }).dryRun();
1298
+ * ```
1299
+ */
1300
+ updateContactAppPreferences(propertiesOrOptions, options) {
1301
+ var _a;
1302
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
1303
+ throw new Error('updateContactAppPreferences requires an existing record. Use accessor.get() first.');
1304
+ let properties = {};
1305
+ let opts = options;
1306
+ if (propertiesOrOptions) {
1307
+ if ('journeyId' in propertiesOrOptions || 'stageKey' in propertiesOrOptions) {
1308
+ opts = propertiesOrOptions;
1309
+ }
1310
+ else {
1311
+ properties = propertiesOrOptions;
1312
+ }
1313
+ }
1314
+ const payload = Object.assign({ id: this._record.id, entity: this._record.entity, type: this._record.type, actionName: 'UpdateContactAppPreferences', properties, associations: this._pendingLinks.length > 0 ? this._pendingLinks : undefined }, opts);
1315
+ return new ActionBuilder(this._provider, 'CrmModule', 'Contact', payload, () => { this._pendingLinks = []; });
1316
+ }
1280
1317
  /**
1281
1318
  * UpdateContact
1282
1319
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d19n/youfibre-odin-sdk",
3
- "version": "2.0.362",
3
+ "version": "2.0.364",
4
4
  "description": "",
5
5
  "author": "@d19n",
6
6
  "license": "UNLICENSED",