btrz-api-client 8.31.0 → 8.32.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 (85) 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 +3 -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/package.json +1 -1
  42. package/src/client.js +3 -0
  43. package/src/endpoints/accounts/agencies.js +40 -0
  44. package/src/endpoints/accounts/application-settings.js +19 -18
  45. package/src/endpoints/accounts/applications.js +8 -7
  46. package/src/endpoints/accounts/customers.js +27 -24
  47. package/src/endpoints/accounts/domains.js +16 -11
  48. package/src/endpoints/accounts/email-settings.js +22 -18
  49. package/src/endpoints/accounts/email-templates.js +8 -4
  50. package/src/endpoints/accounts/exchange-rates.js +12 -7
  51. package/src/endpoints/accounts/exchange-receipts.js +10 -6
  52. package/src/endpoints/accounts/external-customers.js +37 -0
  53. package/src/endpoints/accounts/goal-settings.js +8 -6
  54. package/src/endpoints/accounts/images.js +14 -13
  55. package/src/endpoints/accounts/interline.js +35 -28
  56. package/src/endpoints/accounts/journey-prices-settings.js +8 -6
  57. package/src/endpoints/accounts/lexicons.js +13 -13
  58. package/src/endpoints/accounts/market-pricing-settings.js +7 -6
  59. package/src/endpoints/accounts/multiproduct-sales-settings.js +7 -6
  60. package/src/endpoints/accounts/network.js +28 -14
  61. package/src/endpoints/accounts/operation-settings.js +8 -6
  62. package/src/endpoints/accounts/people-lookups.js +17 -17
  63. package/src/endpoints/accounts/point-to-point-settings.js +6 -6
  64. package/src/endpoints/accounts/print-settings.js +9 -7
  65. package/src/endpoints/accounts/print-templates.js +31 -19
  66. package/src/endpoints/accounts/printers.js +10 -5
  67. package/src/endpoints/accounts/rms-settings.js +19 -11
  68. package/src/endpoints/accounts/salesforce-settings.js +8 -6
  69. package/src/endpoints/accounts/shift-settings.js +7 -6
  70. package/src/endpoints/accounts/shifts.js +13 -9
  71. package/src/endpoints/accounts/sms-templates.js +28 -19
  72. package/src/endpoints/accounts/sub-print-templates.js +5 -3
  73. package/src/endpoints/accounts/ticket-movement-settings.js +8 -5
  74. package/src/endpoints/accounts/travellers.js +18 -12
  75. package/src/endpoints/accounts/trusted-machines.js +11 -8
  76. package/src/endpoints/accounts/twilio-settings.js +8 -5
  77. package/src/endpoints/accounts/users.js +42 -5
  78. package/src/endpoints/accounts/verified-emails.js +100 -0
  79. package/src/endpoints/accounts/websales-config.js +7 -5
  80. package/test/endpoints/accounts/agencies.test.js +58 -0
  81. package/test/endpoints/accounts/external-customers.test.js +62 -0
  82. package/test/endpoints/accounts/users.js +10 -0
  83. package/test/endpoints/accounts/verified-emails.test.js +35 -0
  84. package/types/endpoints/accounts/users.d.ts +2 -1
  85. package/types/endpoints/accounts/verified-emails.d.ts +19 -0
@@ -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,
@@ -4,7 +4,7 @@ var _require = require("./../endpoints_helpers.js"),
4
4
  authorizationHeaders = _require.authorizationHeaders;
5
5
 
6
6
  /**
7
- * Factory for shift-settings API (btrz-api-accounts).
7
+ * Factory for shift-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 shiftSettingsFactory(_ref) {
17
17
  internalAuthTokenProvider = _ref.internalAuthTokenProvider;
18
18
 
19
19
  /**
20
- * GET /shift-settings - get shift settings. API does not accept query params.
20
+ * GET /shift-settings get shift 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<{ shiftSettings: object }>>}
26
27
  */
27
28
  function get(_ref2) {
28
29
  var token = _ref2.token,
@@ -38,13 +39,13 @@ function shiftSettingsFactory(_ref) {
38
39
  }
39
40
 
40
41
  /**
41
- * PUT /shift-settings - update shift settings. API does not accept query params.
42
+ * PUT /shift-settings update shift settings. Emits shiftsettings.updated webhook.
42
43
  * @param {Object} opts
43
44
  * @param {string} [opts.token] - API key
44
45
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
45
- * @param {Object} opts.shiftSettings - Settings payload
46
+ * @param {Object} opts.shiftSettings - Settings payload (ShiftSetting)
46
47
  * @param {Object} [opts.headers] - Optional headers
47
- * @returns {Promise<import("axios").AxiosResponse>}
48
+ * @returns {Promise<import("axios").AxiosResponse<{ shiftSettings: object }>>}
48
49
  */
49
50
  function update(_ref3) {
50
51
  var jwtToken = _ref3.jwtToken,
@@ -54,13 +54,14 @@ function shiftsFactory(_ref) {
54
54
  internalAuthTokenProvider = _ref.internalAuthTokenProvider;
55
55
 
56
56
  /**
57
- * GET /shifts - list shifts.
57
+ * GET /shifts - list shifts for the account. Returns shifts filtered by query params.
58
+ * See get-shifts handler getSpec() in btrz-api-accounts for full API details.
58
59
  * @param {Object} opts
59
60
  * @param {string} [opts.token] - API key
60
61
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
61
- * @param {ShiftsListQuery} [opts.query] - Query params
62
+ * @param {ShiftsListQuery} [opts.query] - Query params (includeActivity, status, pendingShiftClosure, locationId, providerId, sort, fromDate, toDate)
62
63
  * @param {Object} [opts.headers] - Optional headers
63
- * @returns {Promise<import("axios").AxiosResponse>}
64
+ * @returns {Promise<import("axios").AxiosResponse<{ shifts: Array }>>} Response body: { shifts }. Errors: 400 (validation), 401, 500
64
65
  */
65
66
  function all(_ref2) {
66
67
  var jwtToken = _ref2.jwtToken,
@@ -95,13 +96,14 @@ function shiftsFactory(_ref) {
95
96
  }
96
97
 
97
98
  /**
98
- * POST /shifts - create a shift.
99
+ * POST /shifts - open a shift for a user. Body: PostShiftRequest (stationId, userId, counterNumber).
100
+ * See post-shift handler getSpec() in btrz-api-accounts for full API details.
99
101
  * @param {Object} opts
100
102
  * @param {string} [opts.token] - API key
101
103
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
102
- * @param {Object} opts.shiftData - Shift payload
104
+ * @param {Object} opts.shiftData - Shift payload (stationId, userId, counterNumber)
103
105
  * @param {Object} [opts.headers] - Optional headers
104
- * @returns {Promise<import("axios").AxiosResponse>}
106
+ * @returns {Promise<import("axios").AxiosResponse<{ shift: Object }>>} Response body: { shift }. Errors: 400, 401, 404 (USER_NOT_FOUND, STATION_NOT_FOUND), 409 (SHIFT_ALREADY_OPEN_FOR_USER, USER_WITHOUT_SHIFT_ENABLED), 500
105
107
  */
106
108
  function create(_ref4) {
107
109
  var jwtToken = _ref4.jwtToken,
@@ -120,14 +122,16 @@ function shiftsFactory(_ref) {
120
122
  }
121
123
 
122
124
  /**
123
- * PATCH /shifts/:shiftId - update a shift (operations). API getSpec() does not define query params.
125
+ * PATCH /shifts/:shiftId - close a shift. Body: PatchShiftRequest (operations array with comment).
126
+ * See patch-shift handler getSpec() in btrz-api-accounts for full API details.
124
127
  * @param {Object} opts
125
128
  * @param {string} [opts.token] - API key
126
129
  * @param {string} [opts.jwtToken] - JWT or internal auth symbol
127
130
  * @param {string} opts.shiftId - Shift id (ObjectId)
128
- * @param {Object} opts.operations - Operations payload
131
+ * @param {Object} opts.operations - Operations payload (e.g. [{ comment }] for close)
129
132
  * @param {Object} [opts.headers] - Optional headers
130
- * @returns {Promise<import("axios").AxiosResponse>}
133
+ * @param {Object} [opts.query] - Optional query params
134
+ * @returns {Promise<import("axios").AxiosResponse<{ shift: Object }>>} Response body: { shift }. Errors: 401, 404 (SHIFT_NOT_FOUND, USER_NOT_FOUND), 409 (SHIFT_ALREADY_CLOSED, COMMENT_IS_MANDATORY_WHEN_VARIANCE_EXISTS, TOTAL_CHANGED), 500
131
135
  */
132
136
  function update(_ref5) {
133
137
  var jwtToken = _ref5.jwtToken,