@propeller-commerce/propeller-sdk-v2 0.18.0 → 0.19.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/CHANGELOG.md +58 -0
- package/README.md +1 -0
- package/dist/cjs/client/GraphQLClient.d.ts +22 -0
- package/dist/cjs/client/GraphQLClient.js +24 -3
- package/dist/cjs/client/index.d.ts +1 -1
- package/dist/cjs/generated/operations/cart.js +4 -0
- package/dist/cjs/generated/operations/cartAcceptPurchaseAuthorizationRequest.js +4 -0
- package/dist/cjs/generated/operations/cartAddActionCode.js +4 -0
- package/dist/cjs/generated/operations/cartAddBundle.js +4 -0
- package/dist/cjs/generated/operations/cartAddItem.js +4 -0
- package/dist/cjs/generated/operations/cartDeleteItem.js +4 -0
- package/dist/cjs/generated/operations/cartRemoveActionCode.js +4 -0
- package/dist/cjs/generated/operations/cartSetContact.js +4 -0
- package/dist/cjs/generated/operations/cartSetCustomer.js +4 -0
- package/dist/cjs/generated/operations/cartStart.js +4 -0
- package/dist/cjs/generated/operations/cartUpdate.js +4 -0
- package/dist/cjs/generated/operations/cartUpdateAddress.js +4 -0
- package/dist/cjs/generated/operations/cartUpdateItem.js +4 -0
- package/dist/cjs/generated/operations/order.js +2 -0
- package/dist/cjs/generated/operations/orderCreate.js +2 -0
- package/dist/cjs/generated/operations/orderItemCreate.js +1 -0
- package/dist/cjs/generated/operations/orderItemUpdate.js +1 -0
- package/dist/cjs/generated/operations/orderRevision.js +2 -0
- package/dist/cjs/generated/operations/orderRevisionRestore.js +2 -0
- package/dist/cjs/generated/operations/orderRevisions.js +2 -0
- package/dist/cjs/generated/operations/orderUpdate.js +2 -0
- package/dist/cjs/generated/operations/orders.js +1 -0
- package/dist/cjs/generated/operations/tender.js +2 -0
- package/dist/cjs/generated/operations/tenderAddItems.js +2 -0
- package/dist/cjs/generated/operations/tenderApplyIncentives.js +2 -0
- package/dist/cjs/generated/operations/tenderDeleteBonusItem.js +2 -0
- package/dist/cjs/generated/operations/tenderDeleteItem.js +2 -0
- package/dist/cjs/generated/operations/tenderStart.js +2 -0
- package/dist/cjs/generated/operations/tenderUpdate.js +2 -0
- package/dist/cjs/generated/operations/tenderUpdateAddress.js +2 -0
- package/dist/cjs/generated/operations/tenderUpdateDiscount.js +2 -0
- package/dist/cjs/generated/operations/tenderUpdateInvoiceUser.js +2 -0
- package/dist/cjs/generated/operations/tenderUpdateItem.js +2 -0
- package/dist/cjs/generated/operations/tenderUpdatePayment.js +2 -0
- package/dist/cjs/generated/operations/tenderUpdatePostage.js +2 -0
- package/dist/cjs/type/CartItemSurcharge.d.ts +6 -1
- package/dist/cjs/type/CartPaymentData.d.ts +6 -1
- package/dist/cjs/type/CartPostageData.d.ts +6 -1
- package/dist/cjs/type/CartTaxLevel.d.ts +6 -1
- package/dist/cjs/type/ITenderBaseItem.d.ts +2 -0
- package/dist/cjs/type/OrderItem.d.ts +6 -1
- package/dist/cjs/type/OrderTotalTaxPercentage.d.ts +6 -1
- package/dist/cjs/type/TenderBaseItem.d.ts +6 -1
- package/dist/cjs/type/TenderMainItem.d.ts +6 -1
- package/dist/esm/client/GraphQLClient.js +24 -3
- package/dist/esm/generated/operations/cart.js +4 -0
- package/dist/esm/generated/operations/cartAcceptPurchaseAuthorizationRequest.js +4 -0
- package/dist/esm/generated/operations/cartAddActionCode.js +4 -0
- package/dist/esm/generated/operations/cartAddBundle.js +4 -0
- package/dist/esm/generated/operations/cartAddItem.js +4 -0
- package/dist/esm/generated/operations/cartDeleteItem.js +4 -0
- package/dist/esm/generated/operations/cartRemoveActionCode.js +4 -0
- package/dist/esm/generated/operations/cartSetContact.js +4 -0
- package/dist/esm/generated/operations/cartSetCustomer.js +4 -0
- package/dist/esm/generated/operations/cartStart.js +4 -0
- package/dist/esm/generated/operations/cartUpdate.js +4 -0
- package/dist/esm/generated/operations/cartUpdateAddress.js +4 -0
- package/dist/esm/generated/operations/cartUpdateItem.js +4 -0
- package/dist/esm/generated/operations/order.js +2 -0
- package/dist/esm/generated/operations/orderCreate.js +2 -0
- package/dist/esm/generated/operations/orderItemCreate.js +1 -0
- package/dist/esm/generated/operations/orderItemUpdate.js +1 -0
- package/dist/esm/generated/operations/orderRevision.js +2 -0
- package/dist/esm/generated/operations/orderRevisionRestore.js +2 -0
- package/dist/esm/generated/operations/orderRevisions.js +2 -0
- package/dist/esm/generated/operations/orderUpdate.js +2 -0
- package/dist/esm/generated/operations/orders.js +1 -0
- package/dist/esm/generated/operations/tender.js +2 -0
- package/dist/esm/generated/operations/tenderAddItems.js +2 -0
- package/dist/esm/generated/operations/tenderApplyIncentives.js +2 -0
- package/dist/esm/generated/operations/tenderDeleteBonusItem.js +2 -0
- package/dist/esm/generated/operations/tenderDeleteItem.js +2 -0
- package/dist/esm/generated/operations/tenderStart.js +2 -0
- package/dist/esm/generated/operations/tenderUpdate.js +2 -0
- package/dist/esm/generated/operations/tenderUpdateAddress.js +2 -0
- package/dist/esm/generated/operations/tenderUpdateDiscount.js +2 -0
- package/dist/esm/generated/operations/tenderUpdateInvoiceUser.js +2 -0
- package/dist/esm/generated/operations/tenderUpdateItem.js +2 -0
- package/dist/esm/generated/operations/tenderUpdatePayment.js +2 -0
- package/dist/esm/generated/operations/tenderUpdatePostage.js +2 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,64 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@propeller-commerce/propeller-sdk-v2` are documented here.
|
|
4
4
|
|
|
5
|
+
---
|
|
6
|
+
## [0.19.0] - 2026-11-12
|
|
7
|
+
|
|
8
|
+
VAT rates now come with their decimals: Swiss VAT reads 8.1, not 8.
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **The exact VAT rate on carts, orders and quotes.** The API rounds the old
|
|
13
|
+
tax percentage fields to a whole number, so a shop showed "8% VAT" while it
|
|
14
|
+
charged 8.1%. Each of those fields now has a decimal counterpart, and every
|
|
15
|
+
`cart*`, `order*` and `tender*` operation requests it:
|
|
16
|
+
|
|
17
|
+
| Type | Rounded (deprecated) | Exact |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| `CartTaxLevel`, `CartPostageData`, `CartPaymentData`, `CartItemSurcharge` | `taxPercentage` | `taxPercentageDecimal` |
|
|
20
|
+
| `OrderItem`, `TenderBaseItem`, `TenderMainItem` | `taxPercentage` | `taxPercentageDecimal` |
|
|
21
|
+
| `OrderTotalTaxPercentage` (`order.total.taxPercentages`) | `percentage` | `percentageDecimal` |
|
|
22
|
+
|
|
23
|
+
Show the decimal field. A whole-number rate arrives as `21`, so it still
|
|
24
|
+
reads 21%. (PWP-1065)
|
|
25
|
+
|
|
26
|
+
### Deprecated
|
|
27
|
+
|
|
28
|
+
- **The rounded `taxPercentage` / `percentage` fields listed above.** They are
|
|
29
|
+
still requested and typed, so existing code keeps working, and they are marked
|
|
30
|
+
`@deprecated` to match the API. They will be removed in a later breaking
|
|
31
|
+
release. `OrderPostageData`, `OrderPaymentData`, `TenderPostage`,
|
|
32
|
+
`TenderPayment`, `TenderItemSurcharge` and `TenderTaxLevel` already return
|
|
33
|
+
the exact rate and are unchanged.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
## [0.18.1] - 2026-11-03
|
|
37
|
+
|
|
38
|
+
A host can now hand the client its own `fetch()`, and a query no longer fails
|
|
39
|
+
the page when the connection to the API drops once.
|
|
40
|
+
|
|
41
|
+
### Added
|
|
42
|
+
|
|
43
|
+
- **`fetch` on `GraphQLClientConfig`.** Supply the `fetch()` the client sends
|
|
44
|
+
requests with; it defaults to the global `fetch`. Pass a request-scoped fetch
|
|
45
|
+
during SSR (Nitro's `event.fetch`, in Nuxt `useRequestEvent()!.fetch`) so a
|
|
46
|
+
relative proxy `endpoint` such as `/api/graphql` is served in-process instead
|
|
47
|
+
of over the network, which fails with `fetch failed` wherever a server can't
|
|
48
|
+
reach its own public hostname. A request-scoped fetch belongs to one request,
|
|
49
|
+
so create the client per request when you pass one. The type is exported as
|
|
50
|
+
`FetchImplementation`. Contributed by Mark Wienk (TRIMM) in
|
|
51
|
+
[#1](https://github.com/propeller-commerce/propeller-sdk-v2/pull/1). (PWP-1091)
|
|
52
|
+
|
|
53
|
+
### Fixed
|
|
54
|
+
|
|
55
|
+
- **A query is sent once more when the connection drops.** `GraphQL request
|
|
56
|
+
failed: fetch failed` used to reach the page straight away, so a
|
|
57
|
+
server-rendered page answered 500 where a reload worked. A query now gets one
|
|
58
|
+
more attempt, within the same `timeout`, before the error is thrown.
|
|
59
|
+
Mutations are never resent, since the server may have applied one before the
|
|
60
|
+
connection dropped; timeouts, HTTP error statuses and GraphQL errors are not
|
|
61
|
+
retried. (PWP-1062)
|
|
62
|
+
|
|
5
63
|
---
|
|
6
64
|
## [0.18.0] - 2026-09-24
|
|
7
65
|
|
package/README.md
CHANGED
|
@@ -87,6 +87,7 @@ See [MIGRATION-0.10.0.md](./MIGRATION-0.10.0.md) for the full upgrade guide.
|
|
|
87
87
|
| `getAccessToken` | `() => string \| undefined \| Promise<string \| undefined>` | reads `localStorage['access_token']` in browser | Use this for SSR (`getServerSession`, HTTP-only cookies) or in-memory token stores. |
|
|
88
88
|
| `defaultLanguage` | `string` | — | ISO 639-1 tag (e.g. `'NL'`). Service methods that take an optional top-level `language` and don't receive one fall back to this value before sending the request. An explicit `language` on the call always wins. |
|
|
89
89
|
| `throwOnPartialErrors` | `boolean` | `false` | On a partial response (`data` *and* `errors`), services return the data and debug-log the errors. Set `true` to throw `GraphQLOperationError` instead. `client.execute()` never throws regardless. |
|
|
90
|
+
| `fetch` | `(url: string, init: RequestInit) => Promise<Response>` | global `fetch` | Request transport. Pass a request-scoped fetch during SSR (e.g. Nitro's `event.fetch`) so a relative proxy `endpoint` is handled in-process instead of over the network. A request-scoped fetch belongs to one request, so create the client per request when you pass one. |
|
|
90
91
|
|
|
91
92
|
### Proxy contract
|
|
92
93
|
|
|
@@ -66,6 +66,13 @@ export interface GraphQLResponse<T = any> {
|
|
|
66
66
|
* May return a string, undefined (no token), or a Promise of either.
|
|
67
67
|
*/
|
|
68
68
|
export type AccessTokenProvider = () => string | undefined | Promise<string | undefined>;
|
|
69
|
+
/**
|
|
70
|
+
* The subset of `fetch()` the client calls: a URL string and a `RequestInit`,
|
|
71
|
+
* resolving to a standard `Response`. Narrower than `typeof fetch` so
|
|
72
|
+
* host-runtime implementations (undici, Nitro's `event.fetch`, test doubles)
|
|
73
|
+
* fit without matching every overload.
|
|
74
|
+
*/
|
|
75
|
+
export type FetchImplementation = (url: string, init: RequestInit) => Promise<Response>;
|
|
69
76
|
/**
|
|
70
77
|
* Configuration for the GraphQL client.
|
|
71
78
|
*/
|
|
@@ -118,6 +125,18 @@ export interface GraphQLClientConfig {
|
|
|
118
125
|
* compatible). The low-level `client.execute()` never throws regardless.
|
|
119
126
|
*/
|
|
120
127
|
throwOnPartialErrors?: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* `fetch()` implementation used for every request. Defaults to the global
|
|
130
|
+
* `fetch`, resolved per request (so later polyfills and spies apply).
|
|
131
|
+
*
|
|
132
|
+
* Supply a request-scoped fetch during SSR to keep the call in-process:
|
|
133
|
+
* Nitro's `event.fetch` (Nuxt: `useRequestEvent()!.fetch`) routes a
|
|
134
|
+
* relative `endpoint` like `/api/graphql` straight to the app's own proxy
|
|
135
|
+
* handler. With the global `fetch`, SSR needs an absolute URL and makes a
|
|
136
|
+
* real network round trip to its own public hostname — which fails with
|
|
137
|
+
* `fetch failed` wherever the server can't reach its own ingress.
|
|
138
|
+
*/
|
|
139
|
+
fetch?: FetchImplementation;
|
|
121
140
|
}
|
|
122
141
|
/**
|
|
123
142
|
* A GraphQL client for the Propeller eCommerce Platform.
|
|
@@ -195,6 +214,9 @@ export declare class GraphQLClient {
|
|
|
195
214
|
* who want to inspect partial responses can do so. The higher-level
|
|
196
215
|
* `query()` / `mutate()` helpers and the `runOperation` helper used by
|
|
197
216
|
* services throw `GraphQLOperationError` when `errors` is non-empty.
|
|
217
|
+
*
|
|
218
|
+
* A query whose connection drops (`fetch failed`) is sent once more, within
|
|
219
|
+
* the same `timeout`, before the error is thrown. Mutations are never resent.
|
|
198
220
|
*/
|
|
199
221
|
execute<T = any>(operation: GraphQLOperation): Promise<GraphQLResponse<T>>;
|
|
200
222
|
/**
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// Note: This client uses the built-in fetch API available in Node.js 18
|
|
3
|
-
// For older runtimes,
|
|
2
|
+
// Note: This client uses the built-in fetch API available in Node.js 18+
|
|
3
|
+
// unless `config.fetch` supplies another implementation. For older runtimes,
|
|
4
|
+
// install a fetch polyfill.
|
|
4
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
6
|
exports.GraphQLClient = void 0;
|
|
6
7
|
exports.createClient = createClient;
|
|
@@ -15,6 +16,10 @@ const DEFAULT_ORDER_EDITOR_MUTATIONS = [
|
|
|
15
16
|
'triggerQuoteSendRequest',
|
|
16
17
|
'triggerOrderSendConfirm',
|
|
17
18
|
];
|
|
19
|
+
// The `mutation` keyword at the start of any line. Generated documents put
|
|
20
|
+
// their fragments first, so "the document starts with `mutation`" would miss
|
|
21
|
+
// most mutations — and a missed mutation is one that gets sent twice.
|
|
22
|
+
const MUTATION_DOCUMENT = /^\s*mutation\b/m;
|
|
18
23
|
function defaultAccessTokenProvider() {
|
|
19
24
|
if (typeof window !== 'undefined' && window.localStorage) {
|
|
20
25
|
return window.localStorage.getItem(DEFAULT_TOKEN_STORAGE_KEY) || undefined;
|
|
@@ -183,6 +188,9 @@ class GraphQLClient {
|
|
|
183
188
|
* who want to inspect partial responses can do so. The higher-level
|
|
184
189
|
* `query()` / `mutate()` helpers and the `runOperation` helper used by
|
|
185
190
|
* services throw `GraphQLOperationError` when `errors` is non-empty.
|
|
191
|
+
*
|
|
192
|
+
* A query whose connection drops (`fetch failed`) is sent once more, within
|
|
193
|
+
* the same `timeout`, before the error is thrown. Mutations are never resent.
|
|
186
194
|
*/
|
|
187
195
|
async execute(operation) {
|
|
188
196
|
const { query, variables = {}, operationName, fetchOptions } = operation;
|
|
@@ -200,7 +208,8 @@ class GraphQLClient {
|
|
|
200
208
|
const controller = new AbortController();
|
|
201
209
|
const timeoutId = setTimeout(() => controller.abort(), this.config.timeout);
|
|
202
210
|
try {
|
|
203
|
-
const
|
|
211
|
+
const fetchImpl = this.config.fetch ?? fetch;
|
|
212
|
+
const send = () => fetchImpl(this.getEndpoint(), {
|
|
204
213
|
method: 'POST',
|
|
205
214
|
headers,
|
|
206
215
|
body,
|
|
@@ -214,6 +223,18 @@ class GraphQLClient {
|
|
|
214
223
|
next: fetchOptions?.next,
|
|
215
224
|
signal: controller.signal,
|
|
216
225
|
});
|
|
226
|
+
// A dropped connection rejects fetch() with a TypeError (the fetch spec's
|
|
227
|
+
// network error). A timeout rejects with an AbortError and an HTTP error
|
|
228
|
+
// status resolves, so neither is retried. Matched by name, not
|
|
229
|
+
// `instanceof`, so a TypeError from another realm (Jest, a vm sandbox)
|
|
230
|
+
// still counts. A mutation is never sent twice: the server may have
|
|
231
|
+
// applied it before the connection dropped. The retry shares the timeout.
|
|
232
|
+
const response = await send().catch((error) => {
|
|
233
|
+
if (error?.name !== 'TypeError' || MUTATION_DOCUMENT.test(query))
|
|
234
|
+
throw error;
|
|
235
|
+
this.debugLog(`Connection dropped (${error.message}), retrying ${actualOperationName ?? 'query'} once`);
|
|
236
|
+
return send();
|
|
237
|
+
});
|
|
217
238
|
clearTimeout(timeoutId);
|
|
218
239
|
if (!response.ok) {
|
|
219
240
|
const bodyText = await response.text().catch(() => '');
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* compatibility with code written against 0.9.x.
|
|
8
8
|
*/
|
|
9
9
|
export { GraphQLClient, createClient, createGraphQLClient, initializeClient, getClient, } from './GraphQLClient';
|
|
10
|
-
export type { GraphQLOperation, GraphQLResponse, GraphQLClientConfig, GraphQLFetchOptions, AccessTokenProvider, } from './GraphQLClient';
|
|
10
|
+
export type { GraphQLOperation, GraphQLResponse, GraphQLClientConfig, GraphQLFetchOptions, AccessTokenProvider, FetchImplementation, } from './GraphQLClient';
|
|
11
11
|
export { GraphQLOperationError } from './GraphQLOperationError';
|
|
12
12
|
export type { GraphQLErrorEntry } from './GraphQLOperationError';
|
|
13
13
|
/**
|
|
@@ -104,6 +104,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
104
104
|
priceMode
|
|
105
105
|
tax
|
|
106
106
|
taxPercentage
|
|
107
|
+
taxPercentageDecimal
|
|
107
108
|
status
|
|
108
109
|
statusDate
|
|
109
110
|
}
|
|
@@ -111,6 +112,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
111
112
|
fragment CartPostageDataFields on CartPostageData {
|
|
112
113
|
method
|
|
113
114
|
taxPercentage
|
|
115
|
+
taxPercentageDecimal
|
|
114
116
|
requestDate
|
|
115
117
|
price
|
|
116
118
|
priceNet
|
|
@@ -367,6 +369,7 @@ fragment CartItemSurchargeFields on CartItemSurcharge {
|
|
|
367
369
|
value
|
|
368
370
|
taxCode
|
|
369
371
|
taxPercentage
|
|
372
|
+
taxPercentageDecimal
|
|
370
373
|
quantity
|
|
371
374
|
price
|
|
372
375
|
totalPrice
|
|
@@ -426,6 +429,7 @@ fragment CartAddressFields on CartAddress {
|
|
|
426
429
|
|
|
427
430
|
fragment CartTaxLevelFields on CartTaxLevel {
|
|
428
431
|
taxPercentage
|
|
432
|
+
taxPercentageDecimal
|
|
429
433
|
price
|
|
430
434
|
discount
|
|
431
435
|
}
|
|
@@ -104,6 +104,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
104
104
|
priceMode
|
|
105
105
|
tax
|
|
106
106
|
taxPercentage
|
|
107
|
+
taxPercentageDecimal
|
|
107
108
|
status
|
|
108
109
|
statusDate
|
|
109
110
|
}
|
|
@@ -111,6 +112,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
111
112
|
fragment CartPostageDataFields on CartPostageData {
|
|
112
113
|
method
|
|
113
114
|
taxPercentage
|
|
115
|
+
taxPercentageDecimal
|
|
114
116
|
requestDate
|
|
115
117
|
price
|
|
116
118
|
priceNet
|
|
@@ -367,6 +369,7 @@ fragment CartItemSurchargeFields on CartItemSurcharge {
|
|
|
367
369
|
value
|
|
368
370
|
taxCode
|
|
369
371
|
taxPercentage
|
|
372
|
+
taxPercentageDecimal
|
|
370
373
|
quantity
|
|
371
374
|
price
|
|
372
375
|
totalPrice
|
|
@@ -426,6 +429,7 @@ fragment CartAddressFields on CartAddress {
|
|
|
426
429
|
|
|
427
430
|
fragment CartTaxLevelFields on CartTaxLevel {
|
|
428
431
|
taxPercentage
|
|
432
|
+
taxPercentageDecimal
|
|
429
433
|
price
|
|
430
434
|
discount
|
|
431
435
|
}
|
|
@@ -104,6 +104,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
104
104
|
priceMode
|
|
105
105
|
tax
|
|
106
106
|
taxPercentage
|
|
107
|
+
taxPercentageDecimal
|
|
107
108
|
status
|
|
108
109
|
statusDate
|
|
109
110
|
}
|
|
@@ -111,6 +112,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
111
112
|
fragment CartPostageDataFields on CartPostageData {
|
|
112
113
|
method
|
|
113
114
|
taxPercentage
|
|
115
|
+
taxPercentageDecimal
|
|
114
116
|
requestDate
|
|
115
117
|
price
|
|
116
118
|
priceNet
|
|
@@ -367,6 +369,7 @@ fragment CartItemSurchargeFields on CartItemSurcharge {
|
|
|
367
369
|
value
|
|
368
370
|
taxCode
|
|
369
371
|
taxPercentage
|
|
372
|
+
taxPercentageDecimal
|
|
370
373
|
quantity
|
|
371
374
|
price
|
|
372
375
|
totalPrice
|
|
@@ -426,6 +429,7 @@ fragment CartAddressFields on CartAddress {
|
|
|
426
429
|
|
|
427
430
|
fragment CartTaxLevelFields on CartTaxLevel {
|
|
428
431
|
taxPercentage
|
|
432
|
+
taxPercentageDecimal
|
|
429
433
|
price
|
|
430
434
|
discount
|
|
431
435
|
}
|
|
@@ -104,6 +104,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
104
104
|
priceMode
|
|
105
105
|
tax
|
|
106
106
|
taxPercentage
|
|
107
|
+
taxPercentageDecimal
|
|
107
108
|
status
|
|
108
109
|
statusDate
|
|
109
110
|
}
|
|
@@ -111,6 +112,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
111
112
|
fragment CartPostageDataFields on CartPostageData {
|
|
112
113
|
method
|
|
113
114
|
taxPercentage
|
|
115
|
+
taxPercentageDecimal
|
|
114
116
|
requestDate
|
|
115
117
|
price
|
|
116
118
|
priceNet
|
|
@@ -367,6 +369,7 @@ fragment CartItemSurchargeFields on CartItemSurcharge {
|
|
|
367
369
|
value
|
|
368
370
|
taxCode
|
|
369
371
|
taxPercentage
|
|
372
|
+
taxPercentageDecimal
|
|
370
373
|
quantity
|
|
371
374
|
price
|
|
372
375
|
totalPrice
|
|
@@ -426,6 +429,7 @@ fragment CartAddressFields on CartAddress {
|
|
|
426
429
|
|
|
427
430
|
fragment CartTaxLevelFields on CartTaxLevel {
|
|
428
431
|
taxPercentage
|
|
432
|
+
taxPercentageDecimal
|
|
429
433
|
price
|
|
430
434
|
discount
|
|
431
435
|
}
|
|
@@ -104,6 +104,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
104
104
|
priceMode
|
|
105
105
|
tax
|
|
106
106
|
taxPercentage
|
|
107
|
+
taxPercentageDecimal
|
|
107
108
|
status
|
|
108
109
|
statusDate
|
|
109
110
|
}
|
|
@@ -111,6 +112,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
111
112
|
fragment CartPostageDataFields on CartPostageData {
|
|
112
113
|
method
|
|
113
114
|
taxPercentage
|
|
115
|
+
taxPercentageDecimal
|
|
114
116
|
requestDate
|
|
115
117
|
price
|
|
116
118
|
priceNet
|
|
@@ -367,6 +369,7 @@ fragment CartItemSurchargeFields on CartItemSurcharge {
|
|
|
367
369
|
value
|
|
368
370
|
taxCode
|
|
369
371
|
taxPercentage
|
|
372
|
+
taxPercentageDecimal
|
|
370
373
|
quantity
|
|
371
374
|
price
|
|
372
375
|
totalPrice
|
|
@@ -426,6 +429,7 @@ fragment CartAddressFields on CartAddress {
|
|
|
426
429
|
|
|
427
430
|
fragment CartTaxLevelFields on CartTaxLevel {
|
|
428
431
|
taxPercentage
|
|
432
|
+
taxPercentageDecimal
|
|
429
433
|
price
|
|
430
434
|
discount
|
|
431
435
|
}
|
|
@@ -104,6 +104,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
104
104
|
priceMode
|
|
105
105
|
tax
|
|
106
106
|
taxPercentage
|
|
107
|
+
taxPercentageDecimal
|
|
107
108
|
status
|
|
108
109
|
statusDate
|
|
109
110
|
}
|
|
@@ -111,6 +112,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
111
112
|
fragment CartPostageDataFields on CartPostageData {
|
|
112
113
|
method
|
|
113
114
|
taxPercentage
|
|
115
|
+
taxPercentageDecimal
|
|
114
116
|
requestDate
|
|
115
117
|
price
|
|
116
118
|
priceNet
|
|
@@ -367,6 +369,7 @@ fragment CartItemSurchargeFields on CartItemSurcharge {
|
|
|
367
369
|
value
|
|
368
370
|
taxCode
|
|
369
371
|
taxPercentage
|
|
372
|
+
taxPercentageDecimal
|
|
370
373
|
quantity
|
|
371
374
|
price
|
|
372
375
|
totalPrice
|
|
@@ -426,6 +429,7 @@ fragment CartAddressFields on CartAddress {
|
|
|
426
429
|
|
|
427
430
|
fragment CartTaxLevelFields on CartTaxLevel {
|
|
428
431
|
taxPercentage
|
|
432
|
+
taxPercentageDecimal
|
|
429
433
|
price
|
|
430
434
|
discount
|
|
431
435
|
}
|
|
@@ -104,6 +104,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
104
104
|
priceMode
|
|
105
105
|
tax
|
|
106
106
|
taxPercentage
|
|
107
|
+
taxPercentageDecimal
|
|
107
108
|
status
|
|
108
109
|
statusDate
|
|
109
110
|
}
|
|
@@ -111,6 +112,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
111
112
|
fragment CartPostageDataFields on CartPostageData {
|
|
112
113
|
method
|
|
113
114
|
taxPercentage
|
|
115
|
+
taxPercentageDecimal
|
|
114
116
|
requestDate
|
|
115
117
|
price
|
|
116
118
|
priceNet
|
|
@@ -367,6 +369,7 @@ fragment CartItemSurchargeFields on CartItemSurcharge {
|
|
|
367
369
|
value
|
|
368
370
|
taxCode
|
|
369
371
|
taxPercentage
|
|
372
|
+
taxPercentageDecimal
|
|
370
373
|
quantity
|
|
371
374
|
price
|
|
372
375
|
totalPrice
|
|
@@ -426,6 +429,7 @@ fragment CartAddressFields on CartAddress {
|
|
|
426
429
|
|
|
427
430
|
fragment CartTaxLevelFields on CartTaxLevel {
|
|
428
431
|
taxPercentage
|
|
432
|
+
taxPercentageDecimal
|
|
429
433
|
price
|
|
430
434
|
discount
|
|
431
435
|
}
|
|
@@ -104,6 +104,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
104
104
|
priceMode
|
|
105
105
|
tax
|
|
106
106
|
taxPercentage
|
|
107
|
+
taxPercentageDecimal
|
|
107
108
|
status
|
|
108
109
|
statusDate
|
|
109
110
|
}
|
|
@@ -111,6 +112,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
111
112
|
fragment CartPostageDataFields on CartPostageData {
|
|
112
113
|
method
|
|
113
114
|
taxPercentage
|
|
115
|
+
taxPercentageDecimal
|
|
114
116
|
requestDate
|
|
115
117
|
price
|
|
116
118
|
priceNet
|
|
@@ -367,6 +369,7 @@ fragment CartItemSurchargeFields on CartItemSurcharge {
|
|
|
367
369
|
value
|
|
368
370
|
taxCode
|
|
369
371
|
taxPercentage
|
|
372
|
+
taxPercentageDecimal
|
|
370
373
|
quantity
|
|
371
374
|
price
|
|
372
375
|
totalPrice
|
|
@@ -426,6 +429,7 @@ fragment CartAddressFields on CartAddress {
|
|
|
426
429
|
|
|
427
430
|
fragment CartTaxLevelFields on CartTaxLevel {
|
|
428
431
|
taxPercentage
|
|
432
|
+
taxPercentageDecimal
|
|
429
433
|
price
|
|
430
434
|
discount
|
|
431
435
|
}
|
|
@@ -104,6 +104,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
104
104
|
priceMode
|
|
105
105
|
tax
|
|
106
106
|
taxPercentage
|
|
107
|
+
taxPercentageDecimal
|
|
107
108
|
status
|
|
108
109
|
statusDate
|
|
109
110
|
}
|
|
@@ -111,6 +112,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
111
112
|
fragment CartPostageDataFields on CartPostageData {
|
|
112
113
|
method
|
|
113
114
|
taxPercentage
|
|
115
|
+
taxPercentageDecimal
|
|
114
116
|
requestDate
|
|
115
117
|
price
|
|
116
118
|
priceNet
|
|
@@ -367,6 +369,7 @@ fragment CartItemSurchargeFields on CartItemSurcharge {
|
|
|
367
369
|
value
|
|
368
370
|
taxCode
|
|
369
371
|
taxPercentage
|
|
372
|
+
taxPercentageDecimal
|
|
370
373
|
quantity
|
|
371
374
|
price
|
|
372
375
|
totalPrice
|
|
@@ -426,6 +429,7 @@ fragment CartAddressFields on CartAddress {
|
|
|
426
429
|
|
|
427
430
|
fragment CartTaxLevelFields on CartTaxLevel {
|
|
428
431
|
taxPercentage
|
|
432
|
+
taxPercentageDecimal
|
|
429
433
|
price
|
|
430
434
|
discount
|
|
431
435
|
}
|
|
@@ -104,6 +104,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
104
104
|
priceMode
|
|
105
105
|
tax
|
|
106
106
|
taxPercentage
|
|
107
|
+
taxPercentageDecimal
|
|
107
108
|
status
|
|
108
109
|
statusDate
|
|
109
110
|
}
|
|
@@ -111,6 +112,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
111
112
|
fragment CartPostageDataFields on CartPostageData {
|
|
112
113
|
method
|
|
113
114
|
taxPercentage
|
|
115
|
+
taxPercentageDecimal
|
|
114
116
|
requestDate
|
|
115
117
|
price
|
|
116
118
|
priceNet
|
|
@@ -367,6 +369,7 @@ fragment CartItemSurchargeFields on CartItemSurcharge {
|
|
|
367
369
|
value
|
|
368
370
|
taxCode
|
|
369
371
|
taxPercentage
|
|
372
|
+
taxPercentageDecimal
|
|
370
373
|
quantity
|
|
371
374
|
price
|
|
372
375
|
totalPrice
|
|
@@ -426,6 +429,7 @@ fragment CartAddressFields on CartAddress {
|
|
|
426
429
|
|
|
427
430
|
fragment CartTaxLevelFields on CartTaxLevel {
|
|
428
431
|
taxPercentage
|
|
432
|
+
taxPercentageDecimal
|
|
429
433
|
price
|
|
430
434
|
discount
|
|
431
435
|
}
|
|
@@ -104,6 +104,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
104
104
|
priceMode
|
|
105
105
|
tax
|
|
106
106
|
taxPercentage
|
|
107
|
+
taxPercentageDecimal
|
|
107
108
|
status
|
|
108
109
|
statusDate
|
|
109
110
|
}
|
|
@@ -111,6 +112,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
111
112
|
fragment CartPostageDataFields on CartPostageData {
|
|
112
113
|
method
|
|
113
114
|
taxPercentage
|
|
115
|
+
taxPercentageDecimal
|
|
114
116
|
requestDate
|
|
115
117
|
price
|
|
116
118
|
priceNet
|
|
@@ -367,6 +369,7 @@ fragment CartItemSurchargeFields on CartItemSurcharge {
|
|
|
367
369
|
value
|
|
368
370
|
taxCode
|
|
369
371
|
taxPercentage
|
|
372
|
+
taxPercentageDecimal
|
|
370
373
|
quantity
|
|
371
374
|
price
|
|
372
375
|
totalPrice
|
|
@@ -426,6 +429,7 @@ fragment CartAddressFields on CartAddress {
|
|
|
426
429
|
|
|
427
430
|
fragment CartTaxLevelFields on CartTaxLevel {
|
|
428
431
|
taxPercentage
|
|
432
|
+
taxPercentageDecimal
|
|
429
433
|
price
|
|
430
434
|
discount
|
|
431
435
|
}
|
|
@@ -104,6 +104,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
104
104
|
priceMode
|
|
105
105
|
tax
|
|
106
106
|
taxPercentage
|
|
107
|
+
taxPercentageDecimal
|
|
107
108
|
status
|
|
108
109
|
statusDate
|
|
109
110
|
}
|
|
@@ -111,6 +112,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
111
112
|
fragment CartPostageDataFields on CartPostageData {
|
|
112
113
|
method
|
|
113
114
|
taxPercentage
|
|
115
|
+
taxPercentageDecimal
|
|
114
116
|
requestDate
|
|
115
117
|
price
|
|
116
118
|
priceNet
|
|
@@ -367,6 +369,7 @@ fragment CartItemSurchargeFields on CartItemSurcharge {
|
|
|
367
369
|
value
|
|
368
370
|
taxCode
|
|
369
371
|
taxPercentage
|
|
372
|
+
taxPercentageDecimal
|
|
370
373
|
quantity
|
|
371
374
|
price
|
|
372
375
|
totalPrice
|
|
@@ -426,6 +429,7 @@ fragment CartAddressFields on CartAddress {
|
|
|
426
429
|
|
|
427
430
|
fragment CartTaxLevelFields on CartTaxLevel {
|
|
428
431
|
taxPercentage
|
|
432
|
+
taxPercentageDecimal
|
|
429
433
|
price
|
|
430
434
|
discount
|
|
431
435
|
}
|
|
@@ -104,6 +104,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
104
104
|
priceMode
|
|
105
105
|
tax
|
|
106
106
|
taxPercentage
|
|
107
|
+
taxPercentageDecimal
|
|
107
108
|
status
|
|
108
109
|
statusDate
|
|
109
110
|
}
|
|
@@ -111,6 +112,7 @@ fragment CartPaymentDataFields on CartPaymentData {
|
|
|
111
112
|
fragment CartPostageDataFields on CartPostageData {
|
|
112
113
|
method
|
|
113
114
|
taxPercentage
|
|
115
|
+
taxPercentageDecimal
|
|
114
116
|
requestDate
|
|
115
117
|
price
|
|
116
118
|
priceNet
|
|
@@ -367,6 +369,7 @@ fragment CartItemSurchargeFields on CartItemSurcharge {
|
|
|
367
369
|
value
|
|
368
370
|
taxCode
|
|
369
371
|
taxPercentage
|
|
372
|
+
taxPercentageDecimal
|
|
370
373
|
quantity
|
|
371
374
|
price
|
|
372
375
|
totalPrice
|
|
@@ -426,6 +429,7 @@ fragment CartAddressFields on CartAddress {
|
|
|
426
429
|
|
|
427
430
|
fragment CartTaxLevelFields on CartTaxLevel {
|
|
428
431
|
taxPercentage
|
|
432
|
+
taxPercentageDecimal
|
|
429
433
|
price
|
|
430
434
|
discount
|
|
431
435
|
}
|
|
@@ -188,6 +188,7 @@ fragment OrderTotalsFields on OrderTotals {
|
|
|
188
188
|
discountValue
|
|
189
189
|
taxPercentages {
|
|
190
190
|
percentage
|
|
191
|
+
percentageDecimal
|
|
191
192
|
total
|
|
192
193
|
}
|
|
193
194
|
}
|
|
@@ -218,6 +219,7 @@ fragment OrderItemFields on OrderItem {
|
|
|
218
219
|
discount
|
|
219
220
|
tax
|
|
220
221
|
taxPercentage
|
|
222
|
+
taxPercentageDecimal
|
|
221
223
|
taxCode
|
|
222
224
|
isBonus
|
|
223
225
|
minimumQuantity
|
|
@@ -188,6 +188,7 @@ fragment OrderTotalsFields on OrderTotals {
|
|
|
188
188
|
discountValue
|
|
189
189
|
taxPercentages {
|
|
190
190
|
percentage
|
|
191
|
+
percentageDecimal
|
|
191
192
|
total
|
|
192
193
|
}
|
|
193
194
|
}
|
|
@@ -218,6 +219,7 @@ fragment OrderItemFields on OrderItem {
|
|
|
218
219
|
discount
|
|
219
220
|
tax
|
|
220
221
|
taxPercentage
|
|
222
|
+
taxPercentageDecimal
|
|
221
223
|
taxCode
|
|
222
224
|
isBonus
|
|
223
225
|
minimumQuantity
|
|
@@ -188,6 +188,7 @@ fragment OrderTotalsFields on OrderTotals {
|
|
|
188
188
|
discountValue
|
|
189
189
|
taxPercentages {
|
|
190
190
|
percentage
|
|
191
|
+
percentageDecimal
|
|
191
192
|
total
|
|
192
193
|
}
|
|
193
194
|
}
|
|
@@ -218,6 +219,7 @@ fragment OrderItemFields on OrderItem {
|
|
|
218
219
|
discount
|
|
219
220
|
tax
|
|
220
221
|
taxPercentage
|
|
222
|
+
taxPercentageDecimal
|
|
221
223
|
taxCode
|
|
222
224
|
isBonus
|
|
223
225
|
minimumQuantity
|
|
@@ -188,6 +188,7 @@ fragment OrderTotalsFields on OrderTotals {
|
|
|
188
188
|
discountValue
|
|
189
189
|
taxPercentages {
|
|
190
190
|
percentage
|
|
191
|
+
percentageDecimal
|
|
191
192
|
total
|
|
192
193
|
}
|
|
193
194
|
}
|
|
@@ -218,6 +219,7 @@ fragment OrderItemFields on OrderItem {
|
|
|
218
219
|
discount
|
|
219
220
|
tax
|
|
220
221
|
taxPercentage
|
|
222
|
+
taxPercentageDecimal
|
|
221
223
|
taxCode
|
|
222
224
|
isBonus
|
|
223
225
|
minimumQuantity
|