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