btrz-api-client 9.16.0 → 9.17.0

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.
@@ -7,7 +7,7 @@ const {
7
7
  * @param {Object} deps
8
8
  * @param {import("axios").AxiosInstance} deps.client
9
9
  * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
10
- * @returns {{ sms: { create: function } }}
10
+ * @returns {{ sms: { create: function, deliveries: { get: function } } }}
11
11
  */
12
12
  function salesforceFactory({
13
13
  client,
@@ -43,6 +43,35 @@ function salesforceFactory({
43
43
  headers
44
44
  })
45
45
  });
46
+ },
47
+ deliveries: {
48
+ /**
49
+ * GET /salesforce/sms/deliveries/{tokenId} - Marketing Cloud delivery status.
50
+ * messageId is resolved server-side from the account Salesforce settings.
51
+ * @param {Object} opts
52
+ * @param {string} [opts.token] - API key
53
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
54
+ * @param {string} opts.tokenId - Marketing Cloud tokenId from the accepted send
55
+ * @param {Object} [opts.headers] - Optional headers
56
+ * @returns {Promise<import("axios").AxiosResponse>}
57
+ */
58
+ get({
59
+ token,
60
+ jwtToken,
61
+ tokenId,
62
+ headers
63
+ }) {
64
+ return client({
65
+ url: `/salesforce/sms/deliveries/${tokenId}`,
66
+ method: "get",
67
+ headers: authorizationHeaders({
68
+ token,
69
+ jwtToken,
70
+ internalAuthTokenProvider,
71
+ headers
72
+ })
73
+ });
74
+ }
46
75
  }
47
76
  }
48
77
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "btrz-api-client",
3
- "version": "9.16.0",
3
+ "version": "9.17.0",
4
4
  "description": "Api client for Betterez endpoints",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -7,7 +7,7 @@ const {
7
7
  * @param {Object} deps
8
8
  * @param {import("axios").AxiosInstance} deps.client
9
9
  * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
10
- * @returns {{ sms: { create: function } }}
10
+ * @returns {{ sms: { create: function, deliveries: { get: function } } }}
11
11
  */
12
12
  function salesforceFactory({
13
13
  client, internalAuthTokenProvider
@@ -34,6 +34,27 @@ function salesforceFactory({
34
34
  },
35
35
  headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers})
36
36
  });
37
+ },
38
+ deliveries: {
39
+ /**
40
+ * GET /salesforce/sms/deliveries/{tokenId} - Marketing Cloud delivery status.
41
+ * messageId is resolved server-side from the account Salesforce settings.
42
+ * @param {Object} opts
43
+ * @param {string} [opts.token] - API key
44
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
45
+ * @param {string} opts.tokenId - Marketing Cloud tokenId from the accepted send
46
+ * @param {Object} [opts.headers] - Optional headers
47
+ * @returns {Promise<import("axios").AxiosResponse>}
48
+ */
49
+ get({
50
+ token, jwtToken, tokenId, headers
51
+ }) {
52
+ return client({
53
+ url: `/salesforce/sms/deliveries/${tokenId}`,
54
+ method: "get",
55
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers})
56
+ });
57
+ }
37
58
  }
38
59
  }
39
60
  };
@@ -31,40 +31,41 @@ describe("accounts/websales-config", () => {
31
31
  token,
32
32
  jwtToken,
33
33
  websalesConfigId,
34
- "update": {
35
- "websales_bgcolor": "",
36
- "customCss": "updated custom css",
37
- "socialSharing": false,
38
- "fullpageLogoLink": "",
39
- "fullpageHeadline": "",
40
- "fullpageInfoHeadline": "",
41
- "fullpageInfoDetails": "",
42
- "waitingMessage": "",
43
- "websales_logoredirecturl": "",
44
- "disableBackButtonOnTripResults": false,
45
- "forceLogin": false,
46
- "lexiconKeys": {
47
- "fullpageHeadline": {
48
- "key": "624e08b5fdd69a15e973fcbc-websalesConfig-6261875eaad6f32745351fe2-fullpageHeadline",
49
- "values": {
34
+ update: {
35
+ websales_bgcolor: "",
36
+ customCss: "updated custom css",
37
+ socialSharing: false,
38
+ fullpageLogoLink: "",
39
+ fullpageHeadline: "",
40
+ fullpageInfoHeadline: "",
41
+ fullpageInfoDetails: "",
42
+ waitingMessage: "",
43
+ websales_logoredirecturl: "",
44
+ disableBackButtonOnTripResults: false,
45
+ forceLogin: false,
46
+ disableSignUp: false,
47
+ lexiconKeys: {
48
+ fullpageHeadline: {
49
+ key: "624e08b5fdd69a15e973fcbc-websalesConfig-6261875eaad6f32745351fe2-fullpageHeadline",
50
+ values: {
50
51
  "en-us": "updated fullpageHeadline"
51
52
  }
52
53
  },
53
- "fullpageInfoHeadline": {
54
- "key": "624e08b5fdd69a15e973fcbc-websalesConfig-6261875eaad6f32745351fe2-fullpageInfoHeadline",
55
- "values": {
54
+ fullpageInfoHeadline: {
55
+ key: "624e08b5fdd69a15e973fcbc-websalesConfig-6261875eaad6f32745351fe2-fullpageInfoHeadline",
56
+ values: {
56
57
  "en-us": "updated fullpageInfoHeadline"
57
58
  }
58
59
  },
59
- "fullpageInfoDetails": {
60
- "key": "624e08b5fdd69a15e973fcbc-websalesConfig-6261875eaad6f32745351fe2-fullpageInfoDetails",
61
- "values": {
60
+ fullpageInfoDetails: {
61
+ key: "624e08b5fdd69a15e973fcbc-websalesConfig-6261875eaad6f32745351fe2-fullpageInfoDetails",
62
+ values: {
62
63
  "en-us": "fullpageInfoDetails"
63
64
  }
64
65
  },
65
- "ssoErrorMsg": {
66
- "key": "624e08b5fdd69a15e973fcbc-websalesConfig-6261875eaad6f32745351fe2-ssoErrorMsg",
67
- "values": {
66
+ ssoErrorMsg: {
67
+ key: "624e08b5fdd69a15e973fcbc-websalesConfig-6261875eaad6f32745351fe2-ssoErrorMsg",
68
+ values: {
68
69
  "en-us": "updated ssoErrorMsg"
69
70
  }
70
71
  }
@@ -24,4 +24,15 @@ describe("notifications/salesforce", () => {
24
24
  };
25
25
  return api.notifications.salesforce.sms.create({token, jwtToken, sms});
26
26
  });
27
+
28
+ it("should get sms delivery status by tokenId", () => {
29
+ const tokenId = "tok-delivery-123";
30
+ axiosMock.onGet(`/salesforce/sms/deliveries/${tokenId}`).reply(({headers}) => {
31
+ if (headers["x-api-key"] === token && headers.authorization === `Bearer ${jwtToken}`) {
32
+ return [200, {response: {status: "Finished", tracking: []}}];
33
+ }
34
+ return [403];
35
+ });
36
+ return api.notifications.salesforce.sms.deliveries.get({token, jwtToken, tokenId});
37
+ });
27
38
  });
@@ -4,7 +4,7 @@ export = salesforceFactory;
4
4
  * @param {Object} deps
5
5
  * @param {import("axios").AxiosInstance} deps.client
6
6
  * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
7
- * @returns {{ sms: { create: function } }}
7
+ * @returns {{ sms: { create: function, deliveries: { get: function } } }}
8
8
  */
9
9
  declare function salesforceFactory({ client, internalAuthTokenProvider }: {
10
10
  client: import("axios").AxiosInstance;
@@ -14,5 +14,8 @@ declare function salesforceFactory({ client, internalAuthTokenProvider }: {
14
14
  }): {
15
15
  sms: {
16
16
  create: Function;
17
+ deliveries: {
18
+ get: Function;
19
+ };
17
20
  };
18
21
  };