@awell-health/awell-extensions 2.1.89 → 2.1.90

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.
@@ -1,4 +1,7 @@
1
- export declare const CreateSMSBroadcastMockResponse: {
1
+ /**
2
+ * Mock response for successful broadcast creation.
3
+ */
4
+ export declare const CreateSMSBroadcastSuccessMockResponse: {
2
5
  status: number;
3
6
  statusText: string;
4
7
  headers: {
@@ -35,21 +38,40 @@ export declare const CreateSMSBroadcastMockResponse: {
35
38
  State: null;
36
39
  Permissions: null;
37
40
  };
38
- RetryTimes: number;
39
- CallThrottle: number;
40
- LivePersonTotal: number;
41
- AnsweringMachineTotal: number;
42
- BusyNoAnswerTotal: number;
43
- InvalidNumberTotal: number;
44
- SurveyResponseTotal: number;
45
- TransferTotal: number;
46
- SurveyResponses: null;
47
- MaxMessageLength: number;
48
- MessageRecordingInstruction: null;
49
- EstimatedDuration: number;
50
- EstimatedCompletion: null;
51
- ExcludedDaysIgnored: boolean;
52
- CallingWindowIgnored: boolean;
53
- NotEnoughTimeToComplete: boolean;
41
+ };
42
+ };
43
+ /**
44
+ * Mock response for invalid/opted-out phone number.
45
+ * ErrorCode 3005 = NoValidBroadcastContacts
46
+ */
47
+ export declare const InvalidNumberMockResponse: {
48
+ status: number;
49
+ statusText: string;
50
+ data: {
51
+ ErrorCode: number;
52
+ ErrorName: string;
53
+ ErrorType: string;
54
+ Message: string;
55
+ };
56
+ };
57
+ /**
58
+ * Mock response for rate limiting (429).
59
+ */
60
+ export declare const RateLimitMockResponse: {
61
+ status: number;
62
+ statusText: string;
63
+ data: {};
64
+ };
65
+ /**
66
+ * Mock response for generic API error.
67
+ */
68
+ export declare const GenericErrorMockResponse: {
69
+ status: number;
70
+ statusText: string;
71
+ data: {
72
+ ErrorCode: number;
73
+ ErrorName: string;
74
+ ErrorType: string;
75
+ Message: string;
54
76
  };
55
77
  };
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CreateSMSBroadcastMockResponse = void 0;
4
- exports.CreateSMSBroadcastMockResponse = {
3
+ exports.GenericErrorMockResponse = exports.RateLimitMockResponse = exports.InvalidNumberMockResponse = exports.CreateSMSBroadcastSuccessMockResponse = void 0;
4
+ /**
5
+ * Mock response for successful broadcast creation.
6
+ */
7
+ exports.CreateSMSBroadcastSuccessMockResponse = {
5
8
  status: 200,
6
9
  statusText: 'OK',
7
10
  headers: {
@@ -38,22 +41,41 @@ exports.CreateSMSBroadcastMockResponse = {
38
41
  State: null,
39
42
  Permissions: null,
40
43
  },
41
- RetryTimes: 1,
42
- CallThrottle: 0,
43
- LivePersonTotal: 0,
44
- AnsweringMachineTotal: 0,
45
- BusyNoAnswerTotal: 0,
46
- InvalidNumberTotal: 0,
47
- SurveyResponseTotal: 0,
48
- TransferTotal: 0,
49
- SurveyResponses: null,
50
- MaxMessageLength: 30,
51
- MessageRecordingInstruction: null,
52
- EstimatedDuration: 0,
53
- EstimatedCompletion: null,
54
- ExcludedDaysIgnored: false,
55
- CallingWindowIgnored: false,
56
- NotEnoughTimeToComplete: false,
44
+ },
45
+ };
46
+ /**
47
+ * Mock response for invalid/opted-out phone number.
48
+ * ErrorCode 3005 = NoValidBroadcastContacts
49
+ */
50
+ exports.InvalidNumberMockResponse = {
51
+ status: 400,
52
+ statusText: 'Bad Request',
53
+ data: {
54
+ ErrorCode: 3005,
55
+ ErrorName: 'NoValidBroadcastContacts',
56
+ ErrorType: 'Informational',
57
+ Message: 'Unable to create broadcast. None of the contacts are able to receive text messages.',
58
+ },
59
+ };
60
+ /**
61
+ * Mock response for rate limiting (429).
62
+ */
63
+ exports.RateLimitMockResponse = {
64
+ status: 429,
65
+ statusText: 'Too Many Requests',
66
+ data: {},
67
+ };
68
+ /**
69
+ * Mock response for generic API error.
70
+ */
71
+ exports.GenericErrorMockResponse = {
72
+ status: 400,
73
+ statusText: 'Bad Request',
74
+ data: {
75
+ ErrorCode: 9999,
76
+ ErrorName: 'SomeOtherError',
77
+ ErrorType: 'Error',
78
+ Message: 'Something went wrong',
57
79
  },
58
80
  };
59
81
  //# sourceMappingURL=CreateSMSBroadcast.mock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateSMSBroadcast.mock.js","sourceRoot":"","sources":["../../../../../../extensions/text-em-all/actions/createSMSBroadcast/__testdata__/CreateSMSBroadcast.mock.ts"],"names":[],"mappings":";;;AAEa,QAAA,8BAA8B,GAAG;IAC5C,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE;QACP,QAAQ,EAAE,oDAAoD;KAC/D;IACD,IAAI,EAAE;QACJ,GAAG,EAAE,yBAAyB;QAC9B,mBAAmB,EAAE,iCAAiC;QACtD,WAAW,EAAE,QAAQ;QACrB,aAAa,EAAE,eAAe;QAC9B,aAAa,EAAE,KAAK;QACpB,eAAe,EAAE,uBAAuB;QACxC,uBAAuB,EAAE,WAAW;QACpC,WAAW,EAAE,0BAA0B;QACvC,SAAS,EAAE,0BAA0B;QACrC,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,4CAA4C;QACzD,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,CAAC;QAChB,gBAAgB,EAAE,CAAC;QACnB,cAAc,EAAE,CAAC;QACjB,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,IAAI;SAClB;QACD,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,CAAC;QACf,eAAe,EAAE,CAAC;QAClB,qBAAqB,EAAE,CAAC;QACxB,iBAAiB,EAAE,CAAC;QACpB,kBAAkB,EAAE,CAAC;QACrB,mBAAmB,EAAE,CAAC;QACtB,aAAa,EAAE,CAAC;QAChB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,EAAE;QACpB,2BAA2B,EAAE,IAAI;QACjC,iBAAiB,EAAE,CAAC;QACpB,mBAAmB,EAAE,IAAI;QACzB,mBAAmB,EAAE,KAAK;QAC1B,oBAAoB,EAAE,KAAK;QAC3B,uBAAuB,EAAE,KAAK;KAC/B;CAC+B,CAAA"}
1
+ {"version":3,"file":"CreateSMSBroadcast.mock.js","sourceRoot":"","sources":["../../../../../../extensions/text-em-all/actions/createSMSBroadcast/__testdata__/CreateSMSBroadcast.mock.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,qCAAqC,GAAG;IACnD,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,IAAI;IAChB,OAAO,EAAE;QACP,QAAQ,EAAE,oDAAoD;KAC/D;IACD,IAAI,EAAE;QACJ,GAAG,EAAE,yBAAyB;QAC9B,mBAAmB,EAAE,iCAAiC;QACtD,WAAW,EAAE,QAAQ;QACrB,aAAa,EAAE,eAAe;QAC9B,aAAa,EAAE,KAAK;QACpB,eAAe,EAAE,uBAAuB;QACxC,uBAAuB,EAAE,WAAW;QACpC,WAAW,EAAE,0BAA0B;QACvC,SAAS,EAAE,0BAA0B;QACrC,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,YAAY;QAC1B,WAAW,EAAE,4CAA4C;QACzD,WAAW,EAAE,IAAI;QACjB,aAAa,EAAE,CAAC;QAChB,gBAAgB,EAAE,CAAC;QACnB,cAAc,EAAE,CAAC;QACjB,IAAI,EAAE;YACJ,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE,KAAK;YACnB,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,IAAI;SAClB;KACF;CAC+B,CAAA;AAElC;;;GAGG;AACU,QAAA,yBAAyB,GAAG;IACvC,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,aAAa;IACzB,IAAI,EAAE;QACJ,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,0BAA0B;QACrC,SAAS,EAAE,eAAe;QAC1B,OAAO,EACL,qFAAqF;KACxF;CAC+B,CAAA;AAElC;;GAEG;AACU,QAAA,qBAAqB,GAAG;IACnC,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,mBAAmB;IAC/B,IAAI,EAAE,EAAE;CACwB,CAAA;AAElC;;GAEG;AACU,QAAA,wBAAwB,GAAG;IACtC,MAAM,EAAE,GAAG;IACX,UAAU,EAAE,aAAa;IACzB,IAAI,EAAE;QACJ,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,gBAAgB;QAC3B,SAAS,EAAE,OAAO;QAClB,OAAO,EAAE,sBAAsB;KAChC;CAC+B,CAAA"}
@@ -38,6 +38,18 @@ export declare const fields: {
38
38
  description: string;
39
39
  };
40
40
  };
41
+ /**
42
+ * Result types for SMS broadcast creation.
43
+ * - 'sent': Broadcast created successfully, message sent to carrier
44
+ * - 'invalid_number': Phone number is invalid or recipient cannot receive texts (opted out, etc.)
45
+ * - 'failed': Other API errors
46
+ */
47
+ export declare const DeliveryResultType: {
48
+ readonly SENT: "sent";
49
+ readonly INVALID_NUMBER: "invalid_number";
50
+ readonly FAILED: "failed";
51
+ };
52
+ export type DeliveryResult = (typeof DeliveryResultType)[keyof typeof DeliveryResultType];
41
53
  export declare const dataPoints: {
42
54
  broadcastId: {
43
55
  key: string;
@@ -59,6 +71,25 @@ export declare const dataPoints: {
59
71
  key: string;
60
72
  valueType: "string";
61
73
  };
74
+ /**
75
+ * The result of the SMS broadcast creation.
76
+ * Possible values:
77
+ * - 'sent': Broadcast created, message sent to carrier for delivery
78
+ * - 'invalid_number': Phone number is invalid or recipient cannot receive texts
79
+ * - 'failed': Other API errors
80
+ */
81
+ deliveryResult: {
82
+ key: string;
83
+ valueType: "string";
84
+ };
85
+ /**
86
+ * Additional details about the result.
87
+ * Contains the error message from Text-Em-All for failed requests.
88
+ */
89
+ deliveryResultDetails: {
90
+ key: string;
91
+ valueType: "string";
92
+ };
62
93
  };
63
94
  export declare const FieldsSchema: z.ZodObject<{
64
95
  broadcastName: z.ZodString;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FieldsSchema = exports.dataPoints = exports.fields = void 0;
6
+ exports.FieldsSchema = exports.dataPoints = exports.DeliveryResultType = exports.fields = void 0;
7
7
  const zod_1 = require("zod");
8
8
  const extensions_core_1 = require("@awell-health/extensions-core");
9
9
  const libphonenumber_js_1 = require("libphonenumber-js");
@@ -47,6 +47,17 @@ exports.fields = {
47
47
  description: 'The time the broadcast should start. Will default to start immediately. If provided must be a datetime as ISO 8601 string and time to send the message in UTC',
48
48
  },
49
49
  };
50
+ /**
51
+ * Result types for SMS broadcast creation.
52
+ * - 'sent': Broadcast created successfully, message sent to carrier
53
+ * - 'invalid_number': Phone number is invalid or recipient cannot receive texts (opted out, etc.)
54
+ * - 'failed': Other API errors
55
+ */
56
+ exports.DeliveryResultType = {
57
+ SENT: 'sent',
58
+ INVALID_NUMBER: 'invalid_number',
59
+ FAILED: 'failed',
60
+ };
50
61
  exports.dataPoints = {
51
62
  broadcastId: {
52
63
  key: 'broadcastId',
@@ -68,6 +79,25 @@ exports.dataPoints = {
68
79
  key: 'broadcastStartDate',
69
80
  valueType: 'string',
70
81
  },
82
+ /**
83
+ * The result of the SMS broadcast creation.
84
+ * Possible values:
85
+ * - 'sent': Broadcast created, message sent to carrier for delivery
86
+ * - 'invalid_number': Phone number is invalid or recipient cannot receive texts
87
+ * - 'failed': Other API errors
88
+ */
89
+ deliveryResult: {
90
+ key: 'deliveryResult',
91
+ valueType: 'string',
92
+ },
93
+ /**
94
+ * Additional details about the result.
95
+ * Contains the error message from Text-Em-All for failed requests.
96
+ */
97
+ deliveryResultDetails: {
98
+ key: 'deliveryResultDetails',
99
+ valueType: 'string',
100
+ },
71
101
  };
72
102
  exports.FieldsSchema = zod_1.z.object({
73
103
  broadcastName: zod_1.z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../extensions/text-em-all/actions/createSMSBroadcast/config.ts"],"names":[],"mappings":";;;;;;AAAA,6BAAuB;AAEvB,mEAMsC;AACtC,yDAAoD;AACpD,mCAA8B;AAC9B,6DAAoC;AAEvB,QAAA,MAAM,GAAG;IACpB,aAAa,EAAE;QACb,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,4BAA4B;KAC1C;IACD,WAAW,EAAE;QACX,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,2BAAS,CAAC,MAAM;QACtB,UAAU,EAAE,4BAAU,CAAC,KAAK;QAC5B,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,+GAA+G;KAClH;IACD,WAAW,EAAE;QACX,EAAE,EAAE,aAAa;QACjB,KAAK,EAAE,cAAc;QACrB,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,4GAA4G;KAC/G;IACD,YAAY,EAAE;QACZ,EAAE,EAAE,cAAc;QAClB,KAAK,EAAE,gBAAgB;QACvB,IAAI,EAAE,2BAAS,CAAC,OAAO;QACvB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,8HAA8H;KACjI;IACD,SAAS,EAAE;QACT,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,2BAAS,CAAC,IAAI;QACpB,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,+JAA+J;KAClK;CACe,CAAA;AAEL,QAAA,UAAU,GAAG;IACxB,WAAW,EAAE;QACX,GAAG,EAAE,aAAa;QAClB,SAAS,EAAE,QAAQ;KACpB;IACD,eAAe,EAAE;QACf,GAAG,EAAE,iBAAiB;QACtB,SAAS,EAAE,QAAQ;KACpB;IACD,mBAAmB,EAAE;QACnB,GAAG,EAAE,qBAAqB;QAC1B,SAAS,EAAE,QAAQ;KACpB;IACD,uBAAuB,EAAE;QACvB,GAAG,EAAE,yBAAyB;QAC9B,SAAS,EAAE,QAAQ;KACpB;IACD,kBAAkB,EAAE;QAClB,GAAG,EAAE,oBAAoB;QACzB,SAAS,EAAE,QAAQ;KACpB;CAC4C,CAAA;AAElC,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;IACzB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1C,MAAM,YAAY,GAAG,IAAA,oCAAgB,EAAC,KAAK,CAAC,CAAA;QAC5C,OAAO,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA,CAAC,uCAAuC;IAChF,CAAC,CAAC;IACF,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,gCAAc,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;QACtD,IAAI,IAAA,cAAK,EAAC,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;YAAE,OAAO,SAAS,CAAA;QAChD,wCAAwC;QACxC,OAAO,IAAA,gBAAM,EAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAA;IAClD,CAAC,CAAC;CACH,CAAC,CAAA"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../extensions/text-em-all/actions/createSMSBroadcast/config.ts"],"names":[],"mappings":"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"}
@@ -6,15 +6,38 @@ const extensions_core_1 = require("@awell-health/extensions-core");
6
6
  const config_1 = require("./config");
7
7
  const settings_1 = require("../../settings");
8
8
  const lib_1 = require("../../lib");
9
+ /**
10
+ * Known Text-Em-All error codes and their meanings.
11
+ */
12
+ const ERROR_CODES = {
13
+ NO_VALID_CONTACTS: 3005, // "NoValidBroadcastContacts" - invalid/opted-out number
14
+ };
15
+ /**
16
+ * Determines the delivery result based on an error response.
17
+ */
18
+ function getResultFromError(errorCode, errorName, message) {
19
+ // Handle known error codes
20
+ if (errorCode === ERROR_CODES.NO_VALID_CONTACTS || errorName === 'NoValidBroadcastContacts') {
21
+ return {
22
+ result: config_1.DeliveryResultType.INVALID_NUMBER,
23
+ details: message !== null && message !== void 0 ? message : 'Phone number is invalid or recipient cannot receive text messages',
24
+ };
25
+ }
26
+ // Default for unknown errors
27
+ return {
28
+ result: config_1.DeliveryResultType.FAILED,
29
+ details: message !== null && message !== void 0 ? message : 'Broadcast creation failed',
30
+ };
31
+ }
9
32
  exports.createSMSBroadcast = {
10
33
  key: 'createSMSBroadcast',
11
34
  title: 'Send a new SMS broadcast',
12
- description: 'A broadcast is a feature that allows you to send a text message to a recipient at specific time',
35
+ description: 'Send a text message to a recipient. Returns the delivery result (sent, invalid_number, failed, etc.) for triage purposes.',
13
36
  category: extensions_core_1.Category.COMMUNICATION,
14
37
  fields: config_1.fields,
15
38
  dataPoints: config_1.dataPoints,
16
39
  previewable: true,
17
- onEvent: async ({ payload, onComplete, onError, helpers }) => {
40
+ onEvent: async ({ payload, onComplete, onError }) => {
18
41
  const { fields: { broadcastName: BroadcastName, phoneNumber, textMessage: TextMessage, textNumberID: TextNumberID, startDate: StartDate, }, settings, } = (0, extensions_core_1.validate)({
19
42
  schema: zod_1.z.object({ fields: config_1.FieldsSchema, settings: settings_1.SettingsSchema }),
20
43
  payload,
@@ -30,13 +53,14 @@ exports.createSMSBroadcast = {
30
53
  };
31
54
  const resp = await client.createBroadcast(request);
32
55
  const data = resp.data;
56
+ // Success - broadcast created
33
57
  if (resp.status === 200 && 'BroadcastID' in data) {
34
58
  await onComplete({
35
59
  events: [
36
60
  {
37
61
  date: new Date().toISOString(),
38
62
  text: {
39
- en: `Broadcast created. Response: ${JSON.stringify(data)}`,
63
+ en: `SMS broadcast created successfully`,
40
64
  },
41
65
  },
42
66
  ],
@@ -46,38 +70,67 @@ exports.createSMSBroadcast = {
46
70
  uriBroadcastDetails: data.UriBroadcastDetails,
47
71
  broadcastStatusCategory: data.BroadcastStatusCategory,
48
72
  broadcastStartDate: data.StartDate,
73
+ deliveryResult: config_1.DeliveryResultType.SENT,
74
+ deliveryResultDetails: 'Message sent to carrier for delivery',
49
75
  },
50
76
  });
77
+ return;
51
78
  }
52
- else if (resp.status === 400) {
53
- const errorMessage = 'Message' in data ? data.Message : 'Unknown error';
79
+ // Handle rate limiting (429)
80
+ if (resp.status === 429) {
54
81
  await onError({
55
82
  events: [
56
83
  {
57
84
  date: new Date().toISOString(),
58
- text: { en: `Broadcast creation failed: ${errorMessage}` },
85
+ text: { en: 'Rate limit exceeded. Please try again later.' },
59
86
  error: {
60
- category: 'BAD_REQUEST',
61
- message: 'Broadcast creation failed',
87
+ category: 'SERVER_ERROR',
88
+ message: 'Rate limit exceeded (429)',
62
89
  },
63
90
  },
64
91
  ],
65
92
  });
93
+ return;
66
94
  }
67
- else {
68
- await onError({
95
+ // Handle API errors (400, etc.) - these are valid results, not failures
96
+ if ('ErrorCode' in data || 'ErrorName' in data || 'Message' in data) {
97
+ const errorData = data;
98
+ const { result, details } = getResultFromError(errorData.ErrorCode, errorData.ErrorName, errorData.Message);
99
+ // Return as success with the error result - this is valid triage data
100
+ await onComplete({
69
101
  events: [
70
102
  {
71
103
  date: new Date().toISOString(),
72
- text: { en: 'Broadcast creation failed' },
73
- error: {
74
- category: 'SERVER_ERROR',
75
- message: 'Broadcast creation failed',
104
+ text: {
105
+ en: `SMS broadcast result: ${result} - ${details}`,
76
106
  },
77
107
  },
78
108
  ],
109
+ data_points: {
110
+ broadcastId: '',
111
+ broadcastStatus: '',
112
+ uriBroadcastDetails: '',
113
+ broadcastStatusCategory: '',
114
+ broadcastStartDate: '',
115
+ deliveryResult: result,
116
+ deliveryResultDetails: details,
117
+ },
79
118
  });
119
+ return;
80
120
  }
121
+ // Unknown error
122
+ await onError({
123
+ events: [
124
+ {
125
+ date: new Date().toISOString(),
126
+ text: { en: 'Broadcast creation failed with unknown error' },
127
+ error: {
128
+ category: 'SERVER_ERROR',
129
+ message: 'Broadcast creation failed',
130
+ },
131
+ },
132
+ ],
133
+ });
81
134
  },
82
135
  };
83
136
  //# sourceMappingURL=createSMSBroadcast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createSMSBroadcast.js","sourceRoot":"","sources":["../../../../../extensions/text-em-all/actions/createSMSBroadcast/createSMSBroadcast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createSMSBroadcast.js","sourceRoot":"","sources":["../../../../../extensions/text-em-all/actions/createSMSBroadcast/createSMSBroadcast.ts"],"names":[],"mappings":"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"}
@@ -58,5 +58,5 @@ export declare const actions: {
58
58
  required: true;
59
59
  description: string;
60
60
  };
61
- }, "broadcastId" | "broadcastStatus" | "uriBroadcastDetails" | "broadcastStatusCategory" | "broadcastStartDate">;
61
+ }, "broadcastId" | "broadcastStatus" | "uriBroadcastDetails" | "broadcastStatusCategory" | "broadcastStartDate" | "deliveryResult" | "deliveryResultDetails">;
62
62
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@awell-health/awell-extensions",
3
- "version": "2.1.89",
3
+ "version": "2.1.90",
4
4
  "packageManager": "yarn@4.5.3",
5
5
  "main": "dist/src/index.js",
6
6
  "repository": {