btrz-api-client 8.31.0 → 8.33.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.
Files changed (93) hide show
  1. package/.cursor/rules/jsdoc-endpoints.mdc +1 -1
  2. package/lib/client-standalone-min.js +3 -3
  3. package/lib/client.js +5 -0
  4. package/lib/endpoints/accounts/agencies.js +52 -0
  5. package/lib/endpoints/accounts/application-settings.js +19 -18
  6. package/lib/endpoints/accounts/applications.js +8 -7
  7. package/lib/endpoints/accounts/customers.js +27 -24
  8. package/lib/endpoints/accounts/domains.js +16 -11
  9. package/lib/endpoints/accounts/email-settings.js +22 -18
  10. package/lib/endpoints/accounts/email-templates.js +8 -4
  11. package/lib/endpoints/accounts/exchange-rates.js +12 -7
  12. package/lib/endpoints/accounts/exchange-receipts.js +10 -6
  13. package/lib/endpoints/accounts/external-customers.js +50 -0
  14. package/lib/endpoints/accounts/goal-settings.js +8 -6
  15. package/lib/endpoints/accounts/images.js +14 -13
  16. package/lib/endpoints/accounts/interline.js +35 -27
  17. package/lib/endpoints/accounts/journey-prices-settings.js +8 -6
  18. package/lib/endpoints/accounts/lexicons.js +13 -13
  19. package/lib/endpoints/accounts/market-pricing-settings.js +7 -6
  20. package/lib/endpoints/accounts/multiproduct-sales-settings.js +7 -6
  21. package/lib/endpoints/accounts/network.js +28 -13
  22. package/lib/endpoints/accounts/operation-settings.js +8 -6
  23. package/lib/endpoints/accounts/people-lookups.js +17 -17
  24. package/lib/endpoints/accounts/point-to-point-settings.js +6 -6
  25. package/lib/endpoints/accounts/print-settings.js +9 -6
  26. package/lib/endpoints/accounts/print-templates.js +37 -21
  27. package/lib/endpoints/accounts/printers.js +10 -4
  28. package/lib/endpoints/accounts/rms-settings.js +19 -11
  29. package/lib/endpoints/accounts/salesforce-settings.js +8 -6
  30. package/lib/endpoints/accounts/shift-settings.js +7 -6
  31. package/lib/endpoints/accounts/shifts.js +13 -9
  32. package/lib/endpoints/accounts/sms-templates.js +28 -19
  33. package/lib/endpoints/accounts/sub-print-templates.js +5 -3
  34. package/lib/endpoints/accounts/ticket-movement-settings.js +8 -5
  35. package/lib/endpoints/accounts/travellers.js +18 -12
  36. package/lib/endpoints/accounts/trusted-machines.js +11 -8
  37. package/lib/endpoints/accounts/twilio-settings.js +8 -5
  38. package/lib/endpoints/accounts/users.js +105 -63
  39. package/lib/endpoints/accounts/verified-emails.js +130 -0
  40. package/lib/endpoints/accounts/websales-config.js +7 -5
  41. package/lib/endpoints/coltrane/healthcheck.js +35 -0
  42. package/lib/endpoints/coltrane/info.js +35 -0
  43. package/lib/endpoints/coltrane/paths.js +17 -13
  44. package/package.json +1 -1
  45. package/src/client.js +5 -0
  46. package/src/endpoints/accounts/agencies.js +40 -0
  47. package/src/endpoints/accounts/application-settings.js +19 -18
  48. package/src/endpoints/accounts/applications.js +8 -7
  49. package/src/endpoints/accounts/customers.js +27 -24
  50. package/src/endpoints/accounts/domains.js +16 -11
  51. package/src/endpoints/accounts/email-settings.js +22 -18
  52. package/src/endpoints/accounts/email-templates.js +8 -4
  53. package/src/endpoints/accounts/exchange-rates.js +12 -7
  54. package/src/endpoints/accounts/exchange-receipts.js +10 -6
  55. package/src/endpoints/accounts/external-customers.js +37 -0
  56. package/src/endpoints/accounts/goal-settings.js +8 -6
  57. package/src/endpoints/accounts/images.js +14 -13
  58. package/src/endpoints/accounts/interline.js +35 -28
  59. package/src/endpoints/accounts/journey-prices-settings.js +8 -6
  60. package/src/endpoints/accounts/lexicons.js +13 -13
  61. package/src/endpoints/accounts/market-pricing-settings.js +7 -6
  62. package/src/endpoints/accounts/multiproduct-sales-settings.js +7 -6
  63. package/src/endpoints/accounts/network.js +28 -14
  64. package/src/endpoints/accounts/operation-settings.js +8 -6
  65. package/src/endpoints/accounts/people-lookups.js +17 -17
  66. package/src/endpoints/accounts/point-to-point-settings.js +6 -6
  67. package/src/endpoints/accounts/print-settings.js +9 -7
  68. package/src/endpoints/accounts/print-templates.js +31 -19
  69. package/src/endpoints/accounts/printers.js +10 -5
  70. package/src/endpoints/accounts/rms-settings.js +19 -11
  71. package/src/endpoints/accounts/salesforce-settings.js +8 -6
  72. package/src/endpoints/accounts/shift-settings.js +7 -6
  73. package/src/endpoints/accounts/shifts.js +13 -9
  74. package/src/endpoints/accounts/sms-templates.js +28 -19
  75. package/src/endpoints/accounts/sub-print-templates.js +5 -3
  76. package/src/endpoints/accounts/ticket-movement-settings.js +8 -5
  77. package/src/endpoints/accounts/travellers.js +18 -12
  78. package/src/endpoints/accounts/trusted-machines.js +11 -8
  79. package/src/endpoints/accounts/twilio-settings.js +8 -5
  80. package/src/endpoints/accounts/users.js +42 -5
  81. package/src/endpoints/accounts/verified-emails.js +100 -0
  82. package/src/endpoints/accounts/websales-config.js +7 -5
  83. package/src/endpoints/coltrane/healthcheck.js +28 -0
  84. package/src/endpoints/coltrane/info.js +28 -0
  85. package/src/endpoints/coltrane/paths.js +17 -13
  86. package/test/endpoints/accounts/agencies.test.js +58 -0
  87. package/test/endpoints/accounts/external-customers.test.js +62 -0
  88. package/test/endpoints/accounts/users.js +10 -0
  89. package/test/endpoints/accounts/verified-emails.test.js +35 -0
  90. package/test/endpoints/coltrane/healthcheck.test.js +13 -0
  91. package/test/endpoints/coltrane/info.test.js +13 -0
  92. package/types/endpoints/accounts/users.d.ts +2 -1
  93. package/types/endpoints/accounts/verified-emails.d.ts +19 -0
@@ -4,6 +4,13 @@
4
4
  var _require = require("../endpoints_helpers.js"),
5
5
  authorizationHeaders = _require.authorizationHeaders;
6
6
 
7
+ /**
8
+ * Query params for GET /network/agencies (btrz-api-accounts). See get-agencies-handler getSpec().
9
+ * @typedef {Object} NetworkAgenciesListQuery
10
+ * @property {string} [name] - Filter by agency/seller name (prefix, case-insensitive)
11
+ * @property {number} [page] - Page number (1-based)
12
+ */
13
+
7
14
  /**
8
15
  * Factory for network API (btrz-api-accounts).
9
16
  * @param {Object} deps
@@ -19,12 +26,14 @@ function networkFactory(_ref) {
19
26
 
20
27
  var agencies = {
21
28
  /**
22
- * GET /network/agencies - list agencies. API getSpec() does not define query params.
29
+ * GET /network/agencies - list agencies (paginated). Query: name, page.
23
30
  * @param {Object} opts
24
31
  * @param {string} [opts.token] - API key
25
32
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
33
+ * @param {NetworkAgenciesListQuery} [opts.query] - Query params (name, page)
26
34
  * @param {Object} [opts.headers] - Optional headers
27
- * @returns {Promise<import("axios").AxiosResponse>}
35
+ * @returns {Promise<import("axios").AxiosResponse<{ agencies: Array, next?: string, previous?: string, count?: number }>>}
36
+ * Errors: 401, 500
28
37
  */
29
38
  all: function all(_ref2) {
30
39
  var token = _ref2.token,
@@ -41,23 +50,27 @@ function networkFactory(_ref) {
41
50
  },
42
51
 
43
52
  /**
44
- * GET /network/agencies/:agencyId - get an agency by id. API does not accept query params.
53
+ * GET /network/agencies/:agencyId - get an agency by id.
45
54
  * @param {Object} opts
46
55
  * @param {string} [opts.token] - API key
47
- * @param {string} opts.sellerId - Seller/agency id (ObjectId), maps to path agencyId
56
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
57
+ * @param {string} opts.sellerId - Seller/agency id (ObjectId), path param agencyId
58
+ * @param {Object} [opts.query] - Optional query params
48
59
  * @param {Object} [opts.headers] - Optional headers
49
- * @returns {Promise<import("axios").AxiosResponse>}
60
+ * @returns {Promise<import("axios").AxiosResponse<{ agency: Object }>>}
61
+ * Errors: 400 (INVALID_AGENCY_ID), 401, 404 (AGENCY_NOT_FOUND), 500
50
62
  */
51
63
  get: function get(_ref3) {
52
64
  var token = _ref3.token,
65
+ jwtToken = _ref3.jwtToken,
53
66
  query = _ref3.query,
54
67
  headers = _ref3.headers,
55
68
  sellerId = _ref3.sellerId;
56
69
 
57
70
  return client({
58
71
  url: "/network/agencies/" + sellerId,
59
- params: query,
60
- headers: authorizationHeaders({ token: token, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
72
+ params: query || {},
73
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
61
74
  });
62
75
  },
63
76
 
@@ -120,13 +133,14 @@ function networkFactory(_ref) {
120
133
  },
121
134
 
122
135
  /**
123
- * PUT /network/agencies/remove-product - remove product from agency. API does not accept query params.
136
+ * PUT /network/agencies/remove-product - remove productId from all agencies for the account.
124
137
  * @param {Object} opts
125
138
  * @param {string} [opts.token] - API key
126
139
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
127
- * @param {string} opts.productId - Product id (ObjectId)
140
+ * @param {string} opts.productId - Product id (non-empty string)
128
141
  * @param {Object} [opts.headers] - Optional headers
129
- * @returns {Promise<import("axios").AxiosResponse>}
142
+ * @returns {Promise<import("axios").AxiosResponse<{}>>}
143
+ * Errors: 400 (WRONG_DATA), 401, 500
130
144
  */
131
145
  removeProduct: function removeProduct(_ref6) {
132
146
  var token = _ref6.token,
@@ -147,13 +161,14 @@ function networkFactory(_ref) {
147
161
  },
148
162
 
149
163
  /**
150
- * PUT /network/agencies/remove-fare - remove fare from agency. API does not accept query params.
164
+ * PUT /network/agencies/remove-fare - remove fareId from all agencies for the account.
151
165
  * @param {Object} opts
152
166
  * @param {string} [opts.token] - API key
153
167
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
154
- * @param {string} opts.fareId - Fare id (ObjectId)
168
+ * @param {string} opts.fareId - Fare id (non-empty string)
155
169
  * @param {Object} [opts.headers] - Optional headers
156
- * @returns {Promise<import("axios").AxiosResponse>}
170
+ * @returns {Promise<import("axios").AxiosResponse<{}>>}
171
+ * Errors: 400 (WRONG_DATA), 401, 500
157
172
  */
158
173
  removeFare: function removeFare(_ref7) {
159
174
  var token = _ref7.token,
@@ -4,7 +4,8 @@ var _require = require("./../endpoints_helpers.js"),
4
4
  authorizationHeaders = _require.authorizationHeaders;
5
5
 
6
6
  /**
7
- * Factory for operation-settings API (btrz-api-accounts).
7
+ * Factory for operation-settings API (btrz-api-accounts). Operation settings (manifest, schedule, preferences.operations).
8
+ * Requires BETTEREZ_APP audience. PUT emits webhook operationsettings.updated.
8
9
  * @param {Object} deps
9
10
  * @param {import("axios").AxiosInstance} deps.client
10
11
  * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
@@ -17,12 +18,13 @@ function operationSettingsFactory(_ref) {
17
18
  internalAuthTokenProvider = _ref.internalAuthTokenProvider;
18
19
 
19
20
  /**
20
- * GET /operation-settings - get operation settings. API does not accept query params.
21
+ * GET /operation-settings Get operation settings for the account.
21
22
  * @param {Object} opts
22
23
  * @param {string} [opts.token] - API key
23
24
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
25
+ * @param {Object} [opts.query] - Optional query params (passed to request)
24
26
  * @param {Object} [opts.headers] - Optional headers
25
- * @returns {Promise<import("axios").AxiosResponse>}
27
+ * @returns {Promise<import("axios").AxiosResponse<{ operationSettings: object }>>}
26
28
  */
27
29
  function get(_ref2) {
28
30
  var token = _ref2.token,
@@ -38,13 +40,13 @@ function operationSettingsFactory(_ref) {
38
40
  }
39
41
 
40
42
  /**
41
- * PUT /operation-settings - update operation settings. API does not accept query params.
43
+ * PUT /operation-settings Update operation settings. Body: { operationSettings } (OperationSettingsPutData). Emits operationsettings.updated.
42
44
  * @param {Object} opts
43
45
  * @param {string} [opts.token] - API key
44
46
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
45
- * @param {Object} opts.operationSettings - Settings payload
47
+ * @param {Object} opts.operationSettings - Operation settings payload (partial or full OperationSettingsPutData)
46
48
  * @param {Object} [opts.headers] - Optional headers
47
- * @returns {Promise<import("axios").AxiosResponse>}
49
+ * @returns {Promise<import("axios").AxiosResponse<{ operationSettings: object }>>}
48
50
  */
49
51
  function update(_ref3) {
50
52
  var jwtToken = _ref3.jwtToken,
@@ -7,11 +7,11 @@ var _require = require("./../endpoints_helpers.js"),
7
7
  authorizationHeaders = _require.authorizationHeaders;
8
8
 
9
9
  /**
10
- * Query params for GET /people-lookups (btrz-api-accounts). See get-handler getSpec().
10
+ * Query params for GET /people-lookups (btrz-api-accounts). Optional filters; when provided only matching people are returned.
11
11
  * @typedef {Object} PeopleLookupsListQuery
12
12
  * @property {string} [dynamicFormId] - If provided, only include this dynamic form's data in response
13
13
  * @property {string} [documentNumber] - Document number to search for
14
- * @property {string} [documentTypeId] - Document type id to search for
14
+ * @property {string} [documentTypeId] - Document type id (ObjectId) to search for
15
15
  * @property {string} [email] - Email to search for
16
16
  * @property {string} [customerNumber] - Customer number to search for
17
17
  * @property {string} [phone] - Phone to search for
@@ -37,14 +37,14 @@ function peopleLookupsFactory(_ref) {
37
37
  internalAuthTokenProvider = _ref.internalAuthTokenProvider;
38
38
 
39
39
  /**
40
- * GET /people-lookups - list people lookups.
40
+ * GET /people-lookups list people lookups (paginated). Requires BETTEREZ_APP audience.
41
41
  * @param {Object} opts
42
42
  * @param {string} [opts.token] - API key
43
43
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
44
44
  * @param {PeopleLookupsListQuery} [opts.query] - Query params (dynamicFormId, documentNumber, documentTypeId, email, customerNumber, phone)
45
45
  * @param {string} [opts.providerId] - Provider id (ObjectId); merged into query for provider context
46
46
  * @param {Object} [opts.headers] - Optional headers
47
- * @returns {Promise<import("axios").AxiosResponse>}
47
+ * @returns {Promise<import("axios").AxiosResponse<{ people: object[], totalRecords: number, page?: number, pageSize?: number }>>}
48
48
  */
49
49
  function all(_ref2) {
50
50
  var token = _ref2.token,
@@ -62,15 +62,15 @@ function peopleLookupsFactory(_ref) {
62
62
  }
63
63
 
64
64
  /**
65
- * GET /people-lookups/:personId - get a person lookup.
65
+ * GET /people-lookups/:personId get a single person lookup by id. Returns 404 if not found. Requires BETTEREZ_APP audience.
66
66
  * @param {Object} opts
67
67
  * @param {string} [opts.token] - API key
68
68
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
69
- * @param {string} opts.personId - Person id (ObjectId)
69
+ * @param {string} opts.personId - Person id (24 hex ObjectId)
70
70
  * @param {PeopleLookupGetByIdQuery} [opts.query] - Query params: dynamicFormId
71
71
  * @param {string} [opts.providerId] - Provider id (ObjectId); merged into query for provider context
72
72
  * @param {Object} [opts.headers] - Optional headers
73
- * @returns {Promise<import("axios").AxiosResponse>}
73
+ * @returns {Promise<import("axios").AxiosResponse<{ person: object }>>}
74
74
  */
75
75
  function getById(_ref3) {
76
76
  var token = _ref3.token,
@@ -90,15 +90,15 @@ function peopleLookupsFactory(_ref) {
90
90
  }
91
91
 
92
92
  /**
93
- * PUT /people-lookups/:personId - update a person lookup. API getSpec() does not define query params.
93
+ * PUT /people-lookups/:personId update a person lookup. Emits peopleLookups.updated webhook. Requires BETTEREZ_APP audience.
94
94
  * @param {Object} opts
95
95
  * @param {string} [opts.token] - API key
96
96
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
97
- * @param {string} opts.personId - Person id (ObjectId)
98
- * @param {Object} opts.person - Person payload
97
+ * @param {string} opts.personId - Person id (24 hex ObjectId)
98
+ * @param {Object} opts.person - Person payload (PeopleLookupPutData: documentTypeId, documentNumber, firstName, lastName, email, phone, dynamicForms, etc.)
99
99
  * @param {string} [opts.providerId] - Provider id (ObjectId); sent as query for provider context
100
100
  * @param {Object} [opts.headers] - Optional headers
101
- * @returns {Promise<import("axios").AxiosResponse>}
101
+ * @returns {Promise<import("axios").AxiosResponse<{ person: object }>>}
102
102
  */
103
103
  function update(_ref4) {
104
104
  var jwtToken = _ref4.jwtToken,
@@ -124,14 +124,14 @@ function peopleLookupsFactory(_ref) {
124
124
  }
125
125
 
126
126
  /**
127
- * POST /people-lookups - create a person lookup. API getSpec() does not define query params.
127
+ * POST /people-lookups create a person lookup. Emits peopleLookups.created webhook. Requires BETTEREZ_APP audience. Body requires documentTypeId and documentNumber.
128
128
  * @param {Object} opts
129
129
  * @param {string} [opts.token] - API key
130
130
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
131
- * @param {Object} opts.person - Person payload
131
+ * @param {Object} opts.person - Person payload (PeopleLookupPostData: documentTypeId, documentNumber required; firstName, lastName, email, phone, dynamicForms, etc.)
132
132
  * @param {string} [opts.providerId] - Provider id (ObjectId); sent as query for provider context
133
133
  * @param {Object} [opts.headers] - Optional headers
134
- * @returns {Promise<import("axios").AxiosResponse>}
134
+ * @returns {Promise<import("axios").AxiosResponse<{ person: object }>>}
135
135
  */
136
136
  function create(_ref5) {
137
137
  var jwtToken = _ref5.jwtToken,
@@ -156,13 +156,13 @@ function peopleLookupsFactory(_ref) {
156
156
  }
157
157
 
158
158
  /**
159
- * DELETE /people-lookups/:personId - remove a person lookup. API does not accept query params.
159
+ * DELETE /people-lookups/:personId remove a person lookup. Emits peoplelookups.deleted webhook. Returns 404 if person not found. Requires BETTEREZ_APP audience.
160
160
  * @param {Object} opts
161
161
  * @param {string} [opts.token] - API key
162
162
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
163
- * @param {string} opts.personId - Person id (ObjectId)
163
+ * @param {string} opts.personId - Person id (24 hex ObjectId)
164
164
  * @param {Object} [opts.headers] - Optional headers
165
- * @returns {Promise<import("axios").AxiosResponse>}
165
+ * @returns {Promise<import("axios").AxiosResponse<{ personId: string }>>}
166
166
  */
167
167
  function remove(_ref6) {
168
168
  var personId = _ref6.personId,
@@ -4,7 +4,7 @@ var _require = require("../endpoints_helpers.js"),
4
4
  authorizationHeaders = _require.authorizationHeaders;
5
5
 
6
6
  /**
7
- * Factory for point-to-point-settings API (btrz-api-accounts).
7
+ * Factory for point-to-point-settings API (btrz-api-accounts). Requires user logged in to backoffice app.
8
8
  * @param {Object} deps
9
9
  * @param {import("axios").AxiosInstance} deps.client
10
10
  * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
@@ -17,12 +17,12 @@ function pointToPointSettingsFactory(_ref) {
17
17
  internalAuthTokenProvider = _ref.internalAuthTokenProvider;
18
18
 
19
19
  /**
20
- * GET /point-to-point-settings - get point-to-point settings. API does not accept query params.
20
+ * GET /point-to-point-settings get point-to-point settings for the current account. No query params.
21
21
  * @param {Object} opts
22
22
  * @param {string} [opts.token] - API key
23
23
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
24
24
  * @param {Object} [opts.headers] - Optional headers
25
- * @returns {Promise<import("axios").AxiosResponse>}
25
+ * @returns {Promise<import("axios").AxiosResponse<{ pointToPointSettings: object }>>}
26
26
  */
27
27
  function get(_ref2) {
28
28
  var token = _ref2.token,
@@ -36,13 +36,13 @@ function pointToPointSettingsFactory(_ref) {
36
36
  }
37
37
 
38
38
  /**
39
- * PUT /point-to-point-settings - update point-to-point settings. API does not accept query params.
39
+ * PUT /point-to-point-settings update settings. Body: useOnlySpecificFareTable (boolean) required.
40
40
  * @param {Object} opts
41
41
  * @param {string} [opts.token] - API key
42
42
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
43
- * @param {Object} opts.pointToPointSettings - Settings payload
43
+ * @param {{ useOnlySpecificFareTable: boolean }} opts.pointToPointSettings - Settings payload (useOnlySpecificFareTable required)
44
44
  * @param {Object} [opts.headers] - Optional headers
45
- * @returns {Promise<import("axios").AxiosResponse>}
45
+ * @returns {Promise<import("axios").AxiosResponse<{ pointToPointSettings: object }>>}
46
46
  */
47
47
  function update(_ref3) {
48
48
  var token = _ref3.token,
@@ -17,32 +17,35 @@ function printSettingsFactory(_ref) {
17
17
  internalAuthTokenProvider = _ref.internalAuthTokenProvider;
18
18
 
19
19
  /**
20
- * GET /print-settings - list/get print settings. API does not accept query params.
20
+ * GET /print-settings get print settings for the current account. No query params.
21
21
  * @param {Object} opts
22
22
  * @param {string} [opts.token] - API key
23
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
24
+ * @param {Object} [opts.query] - Optional query params
23
25
  * @param {Object} [opts.headers] - Optional headers
24
- * @returns {Promise<import("axios").AxiosResponse>}
26
+ * @returns {Promise<import("axios").AxiosResponse<{ printSettings: object }>>}
25
27
  */
26
28
  function all(_ref2) {
27
29
  var token = _ref2.token,
30
+ jwtToken = _ref2.jwtToken,
28
31
  query = _ref2.query,
29
32
  headers = _ref2.headers;
30
33
 
31
34
  return client({
32
35
  url: "/print-settings",
33
36
  params: query,
34
- headers: authorizationHeaders({ token: token, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
37
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
35
38
  });
36
39
  }
37
40
 
38
41
  /**
39
- * PUT /print-settings - update print settings. API does not accept query params.
42
+ * PUT /print-settings update print settings. Emits printsettings.updated webhook. Requires BETTEREZ_APP.
40
43
  * @param {Object} opts
41
44
  * @param {string} [opts.token] - API key
42
45
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
43
- * @param {Object} opts.printSettings - Print settings payload
46
+ * @param {Object} opts.printSettings - Print settings payload (PrintSettingsPutData)
44
47
  * @param {Object} [opts.headers] - Optional headers
45
- * @returns {Promise<import("axios").AxiosResponse>}
48
+ * @returns {Promise<import("axios").AxiosResponse<{ printSettings: object }>>}
46
49
  */
47
50
  function update(_ref3) {
48
51
  var jwtToken = _ref3.jwtToken,
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ /* eslint-disable max-len */
3
4
  var _require = require("./../endpoints_helpers.js"),
4
5
  authorizationHeaders = _require.authorizationHeaders;
5
6
 
@@ -16,6 +17,7 @@ var _require = require("./../endpoints_helpers.js"),
16
17
  * @property {string} [sort] - relevance | natural | createdAsc | createdDesc | updatedAsc | updatedDesc
17
18
  * @property {string} [templateCollectionId] - default | epsontmt88v | zebralp2844 | zebragx420t
18
19
  * @property {string} [status] - draft | published
20
+ * @property {string} [agencyId] - Filter sub-templates for this agency (ObjectId)
19
21
  * @property {string} [mainTemplateAccountId] - Filter by source provider (ObjectId)
20
22
  * @property {number} [page] - 1-based page for pagination
21
23
  */
@@ -49,56 +51,67 @@ function printSettingsFactory(_ref) {
49
51
  internalAuthTokenProvider = _ref.internalAuthTokenProvider;
50
52
 
51
53
  /**
52
- * GET /print-templates - list print templates.
54
+ * GET /print-templates - list print templates (paginated when page is provided).
53
55
  * @param {Object} opts
54
56
  * @param {string} [opts.token] - API key
55
- * @param {PrintTemplatesListQuery} [opts.query] - Query params (providerId, type, channel, consumer, format, etc.)
57
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
58
+ * @param {PrintTemplatesListQuery} [opts.query] - Query params (providerId, type, channel, agencyId, etc.)
56
59
  * @param {Object} [opts.headers] - Optional headers
57
- * @returns {Promise<import("axios").AxiosResponse>}
60
+ * @returns {Promise<import("axios").AxiosResponse<{ printTemplates: object[], next?: string, previous?: string, totalRecords?: number, page?: number }>>}
61
+ * When page is used, response includes next, previous, totalRecords, page.
62
+ * @throws {import("axios").AxiosError} 400 WRONG_DATA, INVALID_PRODUCT_ID; 401; 500
58
63
  */
59
64
  function all(_ref2) {
60
65
  var token = _ref2.token,
61
- query = _ref2.query,
66
+ jwtToken = _ref2.jwtToken,
67
+ _ref2$query = _ref2.query,
68
+ query = _ref2$query === undefined ? {} : _ref2$query,
62
69
  headers = _ref2.headers;
63
70
 
64
71
  return client({
65
72
  url: "/print-templates",
66
73
  params: query,
67
- headers: authorizationHeaders({ token: token, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
74
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
68
75
  });
69
76
  }
70
77
 
71
78
  /**
72
- * GET /print-templates/:printTemplateId - get a print template.
79
+ * GET /print-templates/:printTemplateId - get a single print template.
73
80
  * @param {Object} opts
74
81
  * @param {string} [opts.token] - API key
82
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
75
83
  * @param {string} opts.printTemplateId - Print template id (ObjectId)
76
84
  * @param {PrintTemplateGetByIdQuery} [opts.query] - Query params (providerId, superUserId, superUserHash)
77
85
  * @param {Object} [opts.headers] - Optional headers
78
- * @returns {Promise<import("axios").AxiosResponse>}
86
+ * @returns {Promise<import("axios").AxiosResponse<{ printTemplate: object }>>}
87
+ * @throws {import("axios").AxiosError} 400 INVALID_PRINT_TEMPLATE_ID / INVALID_PROVIDER_ID, 401, 404 PRINT_TEMPLATE_NOT_FOUND, 500
79
88
  */
80
89
  function get(_ref3) {
81
90
  var token = _ref3.token,
82
- query = _ref3.query,
83
- headers = _ref3.headers,
84
- printTemplateId = _ref3.printTemplateId;
91
+ jwtToken = _ref3.jwtToken,
92
+ printTemplateId = _ref3.printTemplateId,
93
+ _ref3$query = _ref3.query,
94
+ query = _ref3$query === undefined ? {} : _ref3$query,
95
+ headers = _ref3.headers;
85
96
 
86
97
  return client({
87
98
  url: "/print-templates/" + printTemplateId,
88
99
  params: query,
89
- headers: authorizationHeaders({ token: token, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
100
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
90
101
  });
91
102
  }
92
103
 
93
104
  /**
94
- * PUT /print-templates/:printTemplateId - update a print template. API getSpec() does not define query params.
105
+ * PUT /print-templates/:printTemplateId - update a print template.
95
106
  * @param {Object} opts
96
107
  * @param {string} [opts.token] - API key
97
108
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
98
109
  * @param {string} opts.printTemplateId - Print template id (ObjectId)
99
- * @param {Object} opts.printTemplate - Print template payload
110
+ * @param {Object} opts.printTemplate - Print template payload (name, type; type-specific fields)
111
+ * @param {Object} [opts.query] - Optional (superUserId, superUserHash)
100
112
  * @param {Object} [opts.headers] - Optional headers
101
- * @returns {Promise<import("axios").AxiosResponse>}
113
+ * @returns {Promise<import("axios").AxiosResponse<{ printTemplate: object }>>}
114
+ * @throws {import("axios").AxiosError} 400 WRONG_DATA, type-specific; 401 NOT_SUPER_USER; 404; 500
102
115
  */
103
116
  function update(_ref4) {
104
117
  var jwtToken = _ref4.jwtToken,
@@ -122,13 +135,14 @@ function printSettingsFactory(_ref) {
122
135
  }
123
136
 
124
137
  /**
125
- * POST /print-templates - create a print template. API does not accept query params.
138
+ * POST /print-templates - create a print template. Body: printTemplate (name, type required; type-specific fields).
126
139
  * @param {Object} opts
127
140
  * @param {string} [opts.token] - API key
128
141
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
129
- * @param {Object} opts.printTemplate - Print template payload
142
+ * @param {Object} opts.printTemplate - Print template payload (see PrintTemplatePostData)
130
143
  * @param {Object} [opts.headers] - Optional headers
131
- * @returns {Promise<import("axios").AxiosResponse>}
144
+ * @returns {Promise<import("axios").AxiosResponse<{ printTemplate: object }>>}
145
+ * @throws {import("axios").AxiosError} 400 WRONG_DATA / PRODUCT_* / INVOICE_* / META_* / TEMPLATE_*, 401 NOT_SUPER_USER, 500
132
146
  */
133
147
  function create(_ref5) {
134
148
  var jwtToken = _ref5.jwtToken,
@@ -149,13 +163,14 @@ function printSettingsFactory(_ref) {
149
163
  }
150
164
 
151
165
  /**
152
- * DELETE /print-templates/:printTemplateId - remove a print template. API does not accept query params.
166
+ * DELETE /print-templates/:printTemplateId - delete a print template.
153
167
  * @param {Object} opts
154
168
  * @param {string} [opts.token] - API key
155
169
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
156
170
  * @param {string} opts.printTemplateId - Print template id (ObjectId)
157
171
  * @param {Object} [opts.headers] - Optional headers
158
- * @returns {Promise<import("axios").AxiosResponse>}
172
+ * @returns {Promise<import("axios").AxiosResponse<{ printTemplateId: string }>>}
173
+ * @throws {import("axios").AxiosError} 400 PRINT_TEMPLATE_ID, 401, 404 PRINT_TEMPLATE_NOT_FOUND, 500
159
174
  */
160
175
  function remove(_ref6) {
161
176
  var printTemplateId = _ref6.printTemplateId,
@@ -174,7 +189,7 @@ function printSettingsFactory(_ref) {
174
189
 
175
190
  var versions = {
176
191
  /**
177
- * PUT /print-templates/:printTemplateId/versions/:versionId - roll back print template to a version.
192
+ * PUT /print-templates/:printTemplateId/versions/:versionId - roll back to a saved version (versionId = zero-based index).
178
193
  * @param {Object} opts
179
194
  * @param {string} [opts.token] - API key
180
195
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
@@ -182,7 +197,8 @@ function printSettingsFactory(_ref) {
182
197
  * @param {string} opts.versionId - Zero-based version index (e.g. "0", "1")
183
198
  * @param {PrintTemplateVersionUpdateQuery} [opts.query] - Query params (superUserId, superUserHash)
184
199
  * @param {Object} [opts.headers] - Optional headers
185
- * @returns {Promise<import("axios").AxiosResponse>}
200
+ * @returns {Promise<import("axios").AxiosResponse<{ printTemplate: object }>>}
201
+ * @throws {import("axios").AxiosError} 400 WRONG_DATA; 401 NOT_SUPER_USER; 404; 500
186
202
  */
187
203
  update: function update(_ref7) {
188
204
  var printTemplateId = _ref7.printTemplateId,
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ /* eslint-disable max-len */
3
4
  var _require = require("./../endpoints_helpers.js"),
4
5
  authorizationHeaders = _require.authorizationHeaders;
5
6
 
@@ -17,21 +18,26 @@ function printersFactory(_ref) {
17
18
  internalAuthTokenProvider = _ref.internalAuthTokenProvider;
18
19
 
19
20
  /**
20
- * GET /printers - list printers. API does not accept query params.
21
+ * GET /printers - list supported printers and their print templates. No query parameters accepted.
21
22
  * @param {Object} opts
22
23
  * @param {string} [opts.token] - API key
24
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
25
+ * @param {Object} [opts.query] - Unused; API accepts no query params
23
26
  * @param {Object} [opts.headers] - Optional headers
24
- * @returns {Promise<import("axios").AxiosResponse>}
27
+ * @returns {Promise<import("axios").AxiosResponse<{ printers: Array<object> }>>}
28
+ * Response printers array: each has id, name, itemTypes, templates (see GET /printers).
29
+ * @throws {import("axios").AxiosError} 401 Unauthorized, 500 Internal server error
25
30
  */
26
31
  function all(_ref2) {
27
32
  var token = _ref2.token,
33
+ jwtToken = _ref2.jwtToken,
28
34
  query = _ref2.query,
29
35
  headers = _ref2.headers;
30
36
 
31
37
  return client({
32
38
  url: "/printers",
33
- params: query,
34
- headers: authorizationHeaders({ token: token, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
39
+ params: query || {},
40
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
35
41
  });
36
42
  }
37
43
 
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ /* eslint-disable max-len */
3
4
  var _require = require("./../endpoints_helpers.js"),
4
5
  authorizationHeaders = _require.authorizationHeaders;
5
6
 
@@ -17,12 +18,14 @@ function revenueManagementSettingsFactory(_ref) {
17
18
  internalAuthTokenProvider = _ref.internalAuthTokenProvider;
18
19
 
19
20
  /**
20
- * GET /rms-settings - get revenue management settings. API does not accept query params.
21
+ * GET /rms-settings get revenue management settings for the account. No query parameters.
21
22
  * @param {Object} opts
22
- * @param {string} [opts.token] - API key
23
- * @param {string} [opts.jwtToken] - JWT or internal auth symbol
24
- * @param {Object} [opts.headers] - Optional headers
25
- * @returns {Promise<import("axios").AxiosResponse>}
23
+ * @param {string} [opts.token] - API key (X-API-KEY)
24
+ * @param {string} [opts.jwtToken] - JWT or internal auth token
25
+ * @param {Object} [opts.headers] - Optional request headers
26
+ * @returns {Promise<import("axios").AxiosResponse<{ data: { revenueManagementSettings: { enabled: boolean, applicationId?: string, subscriptionId?: string, ratalityClientId?: string, userId?: string } } }>>}
27
+ * @throws {import("axios").AxiosError} 401 Unauthorized (missing or invalid API key/Authorization)
28
+ * @throws {import("axios").AxiosError} 500 Internal server error
26
29
  */
27
30
  function get(_ref2) {
28
31
  var token = _ref2.token,
@@ -36,13 +39,18 @@ function revenueManagementSettingsFactory(_ref) {
36
39
  }
37
40
 
38
41
  /**
39
- * PUT /rms-settings - update revenue management settings. API does not accept query params.
42
+ * PUT /rms-settings update revenue management settings. Body is the settings object (e.g. { enabled: true }).
43
+ * When enabling, Ratality credentials must already exist on the account. Emits rms.enabled / rms.disabled webhooks.
40
44
  * @param {Object} opts
41
- * @param {string} [opts.token] - API key
42
- * @param {string} [opts.jwtToken] - JWT or internal auth symbol
43
- * @param {Object} opts.revenueManagementSettings - Settings payload
44
- * @param {Object} [opts.headers] - Optional headers
45
- * @returns {Promise<import("axios").AxiosResponse>}
45
+ * @param {string} [opts.token] - API key (X-API-KEY)
46
+ * @param {string} [opts.jwtToken] - JWT or internal auth token
47
+ * @param {{ enabled: boolean, ratalityUsername?: string, ratalityPassword?: string }} opts.revenueManagementSettings - Settings payload (at least enabled; credentials required when enabling)
48
+ * @param {Object} [opts.headers] - Optional request headers
49
+ * @returns {Promise<import("axios").AxiosResponse<{ data: { revenueManagementSettings: { enabled: boolean, applicationId?: string, subscriptionId?: string, ratalityClientId?: string, userId?: string } } }>>}
50
+ * @throws {import("axios").AxiosError} 400 ACCOUNT_ALREADY_HAS_RMS_SETTINGS_ENABLED, RATALITY_CREDENTIALS_REQUIRED, CREATE_CLIENT_*
51
+ * @throws {import("axios").AxiosError} 401 Unauthorized
52
+ * @throws {import("axios").AxiosError} 404 ACCOUNT_NOT_FOUND
53
+ * @throws {import("axios").AxiosError} 500 CREATE_USER_ERROR or internal server error
46
54
  */
47
55
  function update(_ref3) {
48
56
  var token = _ref3.token,
@@ -4,7 +4,7 @@ var _require = require("./../endpoints_helpers.js"),
4
4
  authorizationHeaders = _require.authorizationHeaders;
5
5
 
6
6
  /**
7
- * Factory for salesforce-settings API (btrz-api-accounts).
7
+ * Factory for salesforce-settings API (btrz-api-accounts). Requires BETTEREZ_APP audience.
8
8
  * @param {Object} deps
9
9
  * @param {import("axios").AxiosInstance} deps.client
10
10
  * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
@@ -17,12 +17,13 @@ function salesforceSettingsFactory(_ref) {
17
17
  internalAuthTokenProvider = _ref.internalAuthTokenProvider;
18
18
 
19
19
  /**
20
- * GET /salesforce-settings - get Salesforce settings. API does not accept query params.
20
+ * GET /salesforce-settings get Salesforce settings for the current account. No query params.
21
21
  * @param {Object} opts
22
22
  * @param {string} [opts.token] - API key
23
23
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
24
+ * @param {Object} [opts.query] - Optional query params
24
25
  * @param {Object} [opts.headers] - Optional headers
25
- * @returns {Promise<import("axios").AxiosResponse>}
26
+ * @returns {Promise<import("axios").AxiosResponse<{ salesforceSettings: object }>>}
26
27
  */
27
28
  function get(_ref2) {
28
29
  var jwtToken = _ref2.jwtToken,
@@ -38,13 +39,14 @@ function salesforceSettingsFactory(_ref) {
38
39
  }
39
40
 
40
41
  /**
41
- * PUT /salesforce-settings - update Salesforce settings. API does not accept query params.
42
+ * PUT /salesforce-settings update Salesforce settings. When enabled is true, mcInstanceId,
43
+ * messageId, clientId, clientSecret are required. Emits salesforcesettings.updated webhook.
42
44
  * @param {Object} opts
43
45
  * @param {string} [opts.token] - API key
44
46
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
45
- * @param {Object} opts.salesforceSettings - Settings payload
47
+ * @param {Object} opts.salesforceSettings - Settings payload (SalesforceSettingsPayload; enabled required)
46
48
  * @param {Object} [opts.headers] - Optional headers
47
- * @returns {Promise<import("axios").AxiosResponse>}
49
+ * @returns {Promise<import("axios").AxiosResponse<{ salesforceSettings: object }>>}
48
50
  */
49
51
  function update(_ref3) {
50
52
  var jwtToken = _ref3.jwtToken,