@zippendo/sdk 1.1.4 → 1.2.1

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 (83) hide show
  1. package/dist/apis/ShipmentsApi.d.ts +2 -2
  2. package/dist/apis/ShipmentsApi.js +2 -2
  3. package/dist/esm/apis/ShipmentsApi.d.ts +2 -2
  4. package/dist/esm/apis/ShipmentsApi.js +2 -2
  5. package/dist/esm/models/BatchSendShipments200ResponseResultsInner.d.ts +6 -3
  6. package/dist/esm/models/BatchSendShipments200ResponseResultsInner.js +4 -1
  7. package/dist/esm/models/BatchSendShipments200ResponseSummary.d.ts +8 -2
  8. package/dist/esm/models/BatchSendShipments200ResponseSummary.js +4 -0
  9. package/dist/esm/models/CreateShipment201ResponseParcelsInnerOrderLinesInner.d.ts +2 -2
  10. package/dist/esm/models/CreateShipment201ResponseParcelsInnerOrderLinesInner.js +1 -3
  11. package/dist/esm/models/CreateShipmentRequest.d.ts +14 -1
  12. package/dist/esm/models/CreateShipmentRequest.js +6 -3
  13. package/dist/esm/models/CreateShipmentRequestCarrierSettings.d.ts +1 -1
  14. package/dist/esm/models/CreateShipmentRequestDroppoint.d.ts +51 -0
  15. package/dist/esm/models/CreateShipmentRequestDroppoint.js +54 -0
  16. package/dist/esm/models/CreateShipmentRequestParcelsInnerOrderLinesInner.d.ts +2 -2
  17. package/dist/esm/models/CreateShipmentRequestParcelsInnerOrderLinesInner.js +1 -3
  18. package/dist/esm/models/GetOrder200ResponseShipmentsInner.d.ts +6 -0
  19. package/dist/esm/models/GetOrder200ResponseShipmentsInner.js +2 -0
  20. package/dist/esm/models/ListApiTokens401Response.d.ts +2 -0
  21. package/dist/esm/models/ListApiTokens401Response.js +2 -0
  22. package/dist/esm/models/SendShipment422Response.d.ts +2 -0
  23. package/dist/esm/models/SendShipment422Response.js +2 -0
  24. package/dist/esm/models/UpdateShipmentRequest.d.ts +10 -3
  25. package/dist/esm/models/UpdateShipmentRequest.js +6 -3
  26. package/dist/esm/models/UpdateShipmentRequestCarrierSettings.d.ts +53 -0
  27. package/dist/esm/models/UpdateShipmentRequestCarrierSettings.js +57 -0
  28. package/dist/esm/models/UpdateShipmentRequestDroppoint.d.ts +51 -0
  29. package/dist/esm/models/UpdateShipmentRequestDroppoint.js +54 -0
  30. package/dist/esm/models/index.d.ts +3 -0
  31. package/dist/esm/models/index.js +3 -0
  32. package/dist/models/BatchSendShipments200ResponseResultsInner.d.ts +6 -3
  33. package/dist/models/BatchSendShipments200ResponseResultsInner.js +4 -1
  34. package/dist/models/BatchSendShipments200ResponseSummary.d.ts +8 -2
  35. package/dist/models/BatchSendShipments200ResponseSummary.js +4 -0
  36. package/dist/models/CreateShipment201ResponseParcelsInnerOrderLinesInner.d.ts +2 -2
  37. package/dist/models/CreateShipment201ResponseParcelsInnerOrderLinesInner.js +1 -3
  38. package/dist/models/CreateShipmentRequest.d.ts +14 -1
  39. package/dist/models/CreateShipmentRequest.js +6 -3
  40. package/dist/models/CreateShipmentRequestCarrierSettings.d.ts +1 -1
  41. package/dist/models/CreateShipmentRequestDroppoint.d.ts +51 -0
  42. package/dist/models/CreateShipmentRequestDroppoint.js +61 -0
  43. package/dist/models/CreateShipmentRequestParcelsInnerOrderLinesInner.d.ts +2 -2
  44. package/dist/models/CreateShipmentRequestParcelsInnerOrderLinesInner.js +1 -3
  45. package/dist/models/GetOrder200ResponseShipmentsInner.d.ts +6 -0
  46. package/dist/models/GetOrder200ResponseShipmentsInner.js +2 -0
  47. package/dist/models/ListApiTokens401Response.d.ts +2 -0
  48. package/dist/models/ListApiTokens401Response.js +2 -0
  49. package/dist/models/SendShipment422Response.d.ts +2 -0
  50. package/dist/models/SendShipment422Response.js +2 -0
  51. package/dist/models/UpdateShipmentRequest.d.ts +10 -3
  52. package/dist/models/UpdateShipmentRequest.js +6 -3
  53. package/dist/models/UpdateShipmentRequestCarrierSettings.d.ts +53 -0
  54. package/dist/models/UpdateShipmentRequestCarrierSettings.js +64 -0
  55. package/dist/models/UpdateShipmentRequestDroppoint.d.ts +51 -0
  56. package/dist/models/UpdateShipmentRequestDroppoint.js +61 -0
  57. package/dist/models/index.d.ts +3 -0
  58. package/dist/models/index.js +3 -0
  59. package/docs/BatchSendShipments200ResponseSummary.md +2 -0
  60. package/docs/CreateShipmentRequest.md +4 -0
  61. package/docs/CreateShipmentRequestCarrierSettings.md +1 -0
  62. package/docs/CreateShipmentRequestDroppoint.md +41 -0
  63. package/docs/GetOrder200ResponseShipmentsInner.md +2 -0
  64. package/docs/ShipmentsApi.md +1 -1
  65. package/docs/UpdateShipmentRequest.md +3 -1
  66. package/docs/UpdateShipmentRequestCarrierSettings.md +40 -0
  67. package/docs/UpdateShipmentRequestDroppoint.md +41 -0
  68. package/package.json +1 -1
  69. package/src/apis/ShipmentsApi.ts +2 -2
  70. package/src/models/BatchSendShipments200ResponseResultsInner.ts +7 -4
  71. package/src/models/BatchSendShipments200ResponseSummary.ts +11 -2
  72. package/src/models/CreateShipment201ResponseParcelsInnerOrderLinesInner.ts +3 -4
  73. package/src/models/CreateShipmentRequest.ts +25 -3
  74. package/src/models/CreateShipmentRequestCarrierSettings.ts +1 -1
  75. package/src/models/CreateShipmentRequestDroppoint.ts +100 -0
  76. package/src/models/CreateShipmentRequestParcelsInnerOrderLinesInner.ts +3 -4
  77. package/src/models/GetOrder200ResponseShipmentsInner.ts +8 -0
  78. package/src/models/ListApiTokens401Response.ts +2 -0
  79. package/src/models/SendShipment422Response.ts +2 -0
  80. package/src/models/UpdateShipmentRequest.ts +25 -10
  81. package/src/models/UpdateShipmentRequestCarrierSettings.ts +101 -0
  82. package/src/models/UpdateShipmentRequestDroppoint.ts +100 -0
  83. package/src/models/index.ts +3 -0
@@ -0,0 +1,41 @@
1
+
2
+ # UpdateShipmentRequestDroppoint
3
+
4
+ Display details of the selected service point, stored alongside `servicePointId`. Used when applying a service-point shipping rule (whose parameters otherwise replace the stored droppoint).
5
+
6
+ ## Properties
7
+
8
+ Name | Type
9
+ ------------ | -------------
10
+ `id` | string
11
+ `name` | string
12
+ `address` | string
13
+ `coordinates` | [Array<ListShippingRules200ResponseDataInnerAdditionalParametersValueAnyOfCoordinatesInner>](ListShippingRules200ResponseDataInnerAdditionalParametersValueAnyOfCoordinatesInner.md)
14
+
15
+ ## Example
16
+
17
+ ```typescript
18
+ import type { UpdateShipmentRequestDroppoint } from '@zippendo/sdk'
19
+
20
+ // TODO: Update the object below with actual values
21
+ const example = {
22
+ "id": sp_pn_4521,
23
+ "name": Føtex Nørrebro,
24
+ "address": Nørrebrogade 20, 2200 København N,
25
+ "coordinates": [55.6987,12.5501],
26
+ } satisfies UpdateShipmentRequestDroppoint
27
+
28
+ console.log(example)
29
+
30
+ // Convert the instance to a JSON string
31
+ const exampleJSON: string = JSON.stringify(example)
32
+ console.log(exampleJSON)
33
+
34
+ // Parse the JSON string back to an object
35
+ const exampleParsed = JSON.parse(exampleJSON) as UpdateShipmentRequestDroppoint
36
+ console.log(exampleParsed)
37
+ ```
38
+
39
+ [[Back to top]](#) [[Back to API list]](../README.md#api-endpoints) [[Back to Model list]](../README.md#models) [[Back to README]](../README.md)
40
+
41
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zippendo/sdk",
3
- "version": "1.1.4",
3
+ "version": "1.2.1",
4
4
  "description": "OpenAPI client for @zippendo/sdk",
5
5
  "author": "OpenAPI-Generator",
6
6
  "repository": {
@@ -421,7 +421,7 @@ export class ShipmentsApi extends runtime.BaseAPI {
421
421
  }
422
422
 
423
423
  /**
424
- * Create a new shipment for an organization. When orderId is provided, parties and parcels are derived from the order.
424
+ * Create a new shipment for an organization. When orderId is provided, parties and parcels are derived from the order. When shippingRuleId is provided, carrier settings and the sender address derive from the rule.
425
425
  * Create shipment
426
426
  */
427
427
  async createShipmentRaw(requestParameters: CreateShipmentOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateShipment201Response>> {
@@ -432,7 +432,7 @@ export class ShipmentsApi extends runtime.BaseAPI {
432
432
  }
433
433
 
434
434
  /**
435
- * Create a new shipment for an organization. When orderId is provided, parties and parcels are derived from the order.
435
+ * Create a new shipment for an organization. When orderId is provided, parties and parcels are derived from the order. When shippingRuleId is provided, carrier settings and the sender address derive from the rule.
436
436
  * Create shipment
437
437
  */
438
438
  async createShipment(requestParameters: CreateShipmentOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateShipment201Response> {
@@ -34,19 +34,19 @@ export interface BatchSendShipments200ResponseResultsInner {
34
34
  */
35
35
  shipmentId: string;
36
36
  /**
37
- * Whether this shipment was successfully booked with its carrier.
37
+ * `sent` when the carrier booked it, `failed` when the carrier or Zippendo rejected it, and `skipped` when the batch ran out of time before reaching it. A `skipped` shipment was never sent to the carrier and is safe to submit again.
38
38
  * @type {BatchSendShipments200ResponseResultsInnerStatusEnum}
39
39
  * @memberof BatchSendShipments200ResponseResultsInner
40
40
  */
41
41
  status: BatchSendShipments200ResponseResultsInnerStatusEnum;
42
42
  /**
43
- * Canonical machine-readable error code, present when `status` is `failed`.
43
+ * Canonical machine-readable error code, present when `status` is `failed` or `skipped`.
44
44
  * @type {BatchSendShipments200ResponseResultsInnerCodeEnum}
45
45
  * @memberof BatchSendShipments200ResponseResultsInner
46
46
  */
47
47
  code?: BatchSendShipments200ResponseResultsInnerCodeEnum;
48
48
  /**
49
- * Human-readable failure detail, present when `status` is `failed`.
49
+ * Human-readable detail, present when `status` is `failed` or `skipped`.
50
50
  * @type {string}
51
51
  * @memberof BatchSendShipments200ResponseResultsInner
52
52
  */
@@ -65,7 +65,8 @@ export interface BatchSendShipments200ResponseResultsInner {
65
65
  */
66
66
  export const BatchSendShipments200ResponseResultsInnerStatusEnum = {
67
67
  Sent: 'sent',
68
- Failed: 'failed'
68
+ Failed: 'failed',
69
+ Skipped: 'skipped'
69
70
  } as const;
70
71
  export type BatchSendShipments200ResponseResultsInnerStatusEnum = typeof BatchSendShipments200ResponseResultsInnerStatusEnum[keyof typeof BatchSendShipments200ResponseResultsInnerStatusEnum];
71
72
 
@@ -137,6 +138,8 @@ export const BatchSendShipments200ResponseResultsInnerCodeEnum = {
137
138
  ShipmentDocumentNotFound: 'SHIPMENT_DOCUMENT_NOT_FOUND',
138
139
  ShipmentAlreadySent: 'SHIPMENT_ALREADY_SENT',
139
140
  ShipmentInvalidState: 'SHIPMENT_INVALID_STATE',
141
+ ShipmentServicePointRequired: 'SHIPMENT_SERVICE_POINT_REQUIRED',
142
+ ShipmentSendNotAttempted: 'SHIPMENT_SEND_NOT_ATTEMPTED',
140
143
  ParcelNotFound: 'PARCEL_NOT_FOUND',
141
144
  ParcelInvalidSplit: 'PARCEL_INVALID_SPLIT',
142
145
  PickupNotFound: 'PICKUP_NOT_FOUND',
@@ -20,7 +20,7 @@ import { mapValues } from '../runtime';
20
20
  */
21
21
  export interface BatchSendShipments200ResponseSummary {
22
22
  /**
23
- * Number of unique shipments processed.
23
+ * Number of unique shipments requested.
24
24
  * @type {number}
25
25
  * @memberof BatchSendShipments200ResponseSummary
26
26
  */
@@ -32,11 +32,17 @@ export interface BatchSendShipments200ResponseSummary {
32
32
  */
33
33
  sent: number;
34
34
  /**
35
- * How many failed.
35
+ * How many the carrier or Zippendo rejected.
36
36
  * @type {number}
37
37
  * @memberof BatchSendShipments200ResponseSummary
38
38
  */
39
39
  failed: number;
40
+ /**
41
+ * How many the batch ran out of time to attempt. Submit these again.
42
+ * @type {number}
43
+ * @memberof BatchSendShipments200ResponseSummary
44
+ */
45
+ skipped: number;
40
46
  }
41
47
 
42
48
  /**
@@ -46,6 +52,7 @@ export function instanceOfBatchSendShipments200ResponseSummary(value: object): v
46
52
  if (!('total' in value) || value['total'] === undefined) return false;
47
53
  if (!('sent' in value) || value['sent'] === undefined) return false;
48
54
  if (!('failed' in value) || value['failed'] === undefined) return false;
55
+ if (!('skipped' in value) || value['skipped'] === undefined) return false;
49
56
  return true;
50
57
  }
51
58
 
@@ -62,6 +69,7 @@ export function BatchSendShipments200ResponseSummaryFromJSONTyped(json: any, ign
62
69
  'total': json['total'],
63
70
  'sent': json['sent'],
64
71
  'failed': json['failed'],
72
+ 'skipped': json['skipped'],
65
73
  };
66
74
  }
67
75
 
@@ -79,6 +87,7 @@ export function BatchSendShipments200ResponseSummaryToJSONTyped(value?: BatchSen
79
87
  'total': value['total'],
80
88
  'sent': value['sent'],
81
89
  'failed': value['failed'],
90
+ 'skipped': value['skipped'],
82
91
  };
83
92
  }
84
93
 
@@ -26,11 +26,11 @@ export interface CreateShipment201ResponseParcelsInnerOrderLinesInner {
26
26
  */
27
27
  id?: string;
28
28
  /**
29
- * Stock keeping unit of the product.
29
+ * Stock keeping unit of the product. Optional — not every webshop assigns SKUs.
30
30
  * @type {string}
31
31
  * @memberof CreateShipment201ResponseParcelsInnerOrderLinesInner
32
32
  */
33
- sku: string;
33
+ sku?: string | null;
34
34
  /**
35
35
  * Number of units in this order line.
36
36
  * @type {number}
@@ -85,7 +85,6 @@ export interface CreateShipment201ResponseParcelsInnerOrderLinesInner {
85
85
  * Check if a given object implements the CreateShipment201ResponseParcelsInnerOrderLinesInner interface.
86
86
  */
87
87
  export function instanceOfCreateShipment201ResponseParcelsInnerOrderLinesInner(value: object): value is CreateShipment201ResponseParcelsInnerOrderLinesInner {
88
- if (!('sku' in value) || value['sku'] === undefined) return false;
89
88
  if (!('quantity' in value) || value['quantity'] === undefined) return false;
90
89
  return true;
91
90
  }
@@ -101,7 +100,7 @@ export function CreateShipment201ResponseParcelsInnerOrderLinesInnerFromJSONType
101
100
  return {
102
101
 
103
102
  'id': json['id'] == null ? undefined : json['id'],
104
- 'sku': json['sku'],
103
+ 'sku': json['sku'] === undefined ? undefined : json['sku'] === null ? null : json['sku'],
105
104
  'quantity': json['quantity'],
106
105
  'description': json['description'] === undefined ? undefined : json['description'] === null ? null : json['description'],
107
106
  'unitPrice': json['unitPrice'] === undefined ? undefined : json['unitPrice'] === null ? null : json['unitPrice'],
@@ -27,6 +27,13 @@ import {
27
27
  CreateShipmentRequestCarrierSettingsToJSON,
28
28
  CreateShipmentRequestCarrierSettingsToJSONTyped,
29
29
  } from './CreateShipmentRequestCarrierSettings';
30
+ import type { CreateShipmentRequestDroppoint } from './CreateShipmentRequestDroppoint';
31
+ import {
32
+ CreateShipmentRequestDroppointFromJSON,
33
+ CreateShipmentRequestDroppointFromJSONTyped,
34
+ CreateShipmentRequestDroppointToJSON,
35
+ CreateShipmentRequestDroppointToJSONTyped,
36
+ } from './CreateShipmentRequestDroppoint';
30
37
  import type { CreateShipmentRequestPartiesInner } from './CreateShipmentRequestPartiesInner';
31
38
  import {
32
39
  CreateShipmentRequestPartiesInnerFromJSON,
@@ -83,7 +90,7 @@ export interface CreateShipmentRequest {
83
90
  * @type {CreateShipmentRequestCarrierSettings}
84
91
  * @memberof CreateShipmentRequest
85
92
  */
86
- carrierSettings: CreateShipmentRequestCarrierSettings;
93
+ carrierSettings?: CreateShipmentRequestCarrierSettings;
87
94
  /**
88
95
  * Parcels to include. Optional when orderId is provided.
89
96
  * @type {Array<CreateShipmentRequestParcelsInner>}
@@ -126,6 +133,18 @@ export interface CreateShipmentRequest {
126
133
  * @memberof CreateShipmentRequest
127
134
  */
128
135
  documentPrinterId?: string | null;
136
+ /**
137
+ * Create the shipment from this shipping rule: carrier settings and the sender address derive from the rule (explicit carrierSettings and addressId are then ignored).
138
+ * @type {string}
139
+ * @memberof CreateShipmentRequest
140
+ */
141
+ shippingRuleId?: string;
142
+ /**
143
+ *
144
+ * @type {CreateShipmentRequestDroppoint}
145
+ * @memberof CreateShipmentRequest
146
+ */
147
+ droppoint?: CreateShipmentRequestDroppoint;
129
148
  }
130
149
 
131
150
 
@@ -159,7 +178,6 @@ export type CreateShipmentRequestStatusEnum = typeof CreateShipmentRequestStatus
159
178
  */
160
179
  export function instanceOfCreateShipmentRequest(value: object): value is CreateShipmentRequest {
161
180
  if (!('type' in value) || value['type'] === undefined) return false;
162
- if (!('carrierSettings' in value) || value['carrierSettings'] === undefined) return false;
163
181
  return true;
164
182
  }
165
183
 
@@ -178,7 +196,7 @@ export function CreateShipmentRequestFromJSONTyped(json: any, ignoreDiscriminato
178
196
  'servicePointId': json['servicePointId'] === undefined ? undefined : json['servicePointId'] === null ? null : json['servicePointId'],
179
197
  'parties': json['parties'] == null ? undefined : ((json['parties'] as Array<any>).map(CreateShipmentRequestPartiesInnerFromJSON)),
180
198
  'type': json['type'],
181
- 'carrierSettings': CreateShipmentRequestCarrierSettingsFromJSON(json['carrierSettings']),
199
+ 'carrierSettings': json['carrierSettings'] == null ? undefined : CreateShipmentRequestCarrierSettingsFromJSON(json['carrierSettings']),
182
200
  'parcels': json['parcels'] == null ? undefined : ((json['parcels'] as Array<any>).map(CreateShipmentRequestParcelsInnerFromJSON)),
183
201
  'pickupDetails': json['pickupDetails'] === undefined ? undefined : json['pickupDetails'] === null ? null : CreateShipmentRequestPickupDetailsFromJSON(json['pickupDetails']),
184
202
  'termOfTrade': json['termOfTrade'] == null ? undefined : json['termOfTrade'],
@@ -186,6 +204,8 @@ export function CreateShipmentRequestFromJSONTyped(json: any, ignoreDiscriminato
186
204
  'orderId': json['orderId'] === undefined ? undefined : json['orderId'] === null ? null : json['orderId'],
187
205
  'labelPrinterId': json['labelPrinterId'] === undefined ? undefined : json['labelPrinterId'] === null ? null : json['labelPrinterId'],
188
206
  'documentPrinterId': json['documentPrinterId'] === undefined ? undefined : json['documentPrinterId'] === null ? null : json['documentPrinterId'],
207
+ 'shippingRuleId': json['shippingRuleId'] == null ? undefined : json['shippingRuleId'],
208
+ 'droppoint': json['droppoint'] == null ? undefined : CreateShipmentRequestDroppointFromJSON(json['droppoint']),
189
209
  };
190
210
  }
191
211
 
@@ -213,6 +233,8 @@ export function CreateShipmentRequestToJSONTyped(value?: CreateShipmentRequest |
213
233
  'orderId': value['orderId'],
214
234
  'labelPrinterId': value['labelPrinterId'],
215
235
  'documentPrinterId': value['documentPrinterId'],
236
+ 'shippingRuleId': value['shippingRuleId'],
237
+ 'droppoint': CreateShipmentRequestDroppointToJSON(value['droppoint']),
216
238
  };
217
239
  }
218
240
 
@@ -22,7 +22,7 @@ import {
22
22
  } from './CreateShippingRuleRequestAdditionalParametersValue';
23
23
 
24
24
  /**
25
- *
25
+ * Carrier configuration for the shipment. Optional when shippingRuleId is provided.
26
26
  * @export
27
27
  * @interface CreateShipmentRequestCarrierSettings
28
28
  */
@@ -0,0 +1,100 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Zippendo Public API
5
+ * Public API documentation for Zippendo. Authenticate using your API token (Bearer token prefixed with zipp_). **Brands (sub-accounts).** An organization can be split into brands, each keeping its own orders, shipments and configuration separate. There are two ways to scope requests to one brand, and NEITHER changes any request body: 1. **Bind the token.** Create an API token with a `brandId` and every request it makes is confined to that brand — reads filtered, writes stamped. This is the recommended way to give a single brand\'s team its own credential. 2. **Send the `X-Zippendo-Brand` header.** An organization-wide token can scope an individual request by sending the brand\'s id or slug in this header. Most SDKs let you set it once on the client so every call inherits it. A brand-bound token that receives an `X-Zippendo-Brand` header naming a different brand is rejected with `403 BRAND_ACCESS_DENIED` — the binding is never widened. Omit both and requests cover the whole organization, which is the behaviour of every existing token. Records that belong to no brand carry `brandId: null`. Configuration (carriers, shipping rules, addresses) with a null brand is organization-wide and remains visible inside every brand; orders and shipments with a null brand are only visible organization-wide. List endpoints additionally take a `?brandScope=own|shared|both` parameter to narrow further within whichever brand context already applies. `own` returns only rows assigned to that brand, and requires a brand context — a brand-bound token, a resolved brand session, or the `X-Zippendo-Brand` header above — otherwise `400`. `shared` returns only the organization-wide rows (equivalent to filtering `brandId=none`). The default, `both`, keeps the existing behaviour: a brand context sees its own rows plus the organization-wide ones. Set `X-Zippendo-Brand-Scope` as a client default to apply the same choice to every request instead of repeating the query parameter on each call — an explicit `brandScope` query parameter always wins over the header, and a blank header value is ignored. Brands themselves are managed under the **Brands** tag. Retiring a brand is done with `POST /orgs/{orgId}/brands/{brandId}/archive` — permanent deletion is a dashboard-only action, since it is refused while any order, shipment, member or token still references the brand. Brands require a plan that includes them; creating one beyond your plan\'s limit returns `403`.
6
+ *
7
+ * The version of the OpenAPI document: 1.0.0
8
+ * Contact: support@zippendo.com
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { ListShippingRules200ResponseDataInnerAdditionalParametersValueAnyOfCoordinatesInner } from './ListShippingRules200ResponseDataInnerAdditionalParametersValueAnyOfCoordinatesInner';
17
+ import {
18
+ ListShippingRules200ResponseDataInnerAdditionalParametersValueAnyOfCoordinatesInnerFromJSON,
19
+ ListShippingRules200ResponseDataInnerAdditionalParametersValueAnyOfCoordinatesInnerFromJSONTyped,
20
+ ListShippingRules200ResponseDataInnerAdditionalParametersValueAnyOfCoordinatesInnerToJSON,
21
+ ListShippingRules200ResponseDataInnerAdditionalParametersValueAnyOfCoordinatesInnerToJSONTyped,
22
+ } from './ListShippingRules200ResponseDataInnerAdditionalParametersValueAnyOfCoordinatesInner';
23
+
24
+ /**
25
+ * Display details of the selected service point, stored alongside `servicePointId`. Used with a service-point shipping rule.
26
+ * @export
27
+ * @interface CreateShipmentRequestDroppoint
28
+ */
29
+ export interface CreateShipmentRequestDroppoint {
30
+ /**
31
+ * Identifier of the selected service point.
32
+ * @type {string}
33
+ * @memberof CreateShipmentRequestDroppoint
34
+ */
35
+ id: string;
36
+ /**
37
+ * Display name of the service point.
38
+ * @type {string}
39
+ * @memberof CreateShipmentRequestDroppoint
40
+ */
41
+ name: string;
42
+ /**
43
+ * Formatted address of the service point.
44
+ * @type {string}
45
+ * @memberof CreateShipmentRequestDroppoint
46
+ */
47
+ address: string;
48
+ /**
49
+ * Latitude/longitude of the service point.
50
+ * @type {Array<ListShippingRules200ResponseDataInnerAdditionalParametersValueAnyOfCoordinatesInner>}
51
+ * @memberof CreateShipmentRequestDroppoint
52
+ */
53
+ coordinates?: Array<ListShippingRules200ResponseDataInnerAdditionalParametersValueAnyOfCoordinatesInner>;
54
+ }
55
+
56
+ /**
57
+ * Check if a given object implements the CreateShipmentRequestDroppoint interface.
58
+ */
59
+ export function instanceOfCreateShipmentRequestDroppoint(value: object): value is CreateShipmentRequestDroppoint {
60
+ if (!('id' in value) || value['id'] === undefined) return false;
61
+ if (!('name' in value) || value['name'] === undefined) return false;
62
+ if (!('address' in value) || value['address'] === undefined) return false;
63
+ return true;
64
+ }
65
+
66
+ export function CreateShipmentRequestDroppointFromJSON(json: any): CreateShipmentRequestDroppoint {
67
+ return CreateShipmentRequestDroppointFromJSONTyped(json, false);
68
+ }
69
+
70
+ export function CreateShipmentRequestDroppointFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateShipmentRequestDroppoint {
71
+ if (json == null) {
72
+ return json;
73
+ }
74
+ return {
75
+
76
+ 'id': json['id'],
77
+ 'name': json['name'],
78
+ 'address': json['address'],
79
+ 'coordinates': json['coordinates'] == null ? undefined : ((json['coordinates'] as Array<any>).map(ListShippingRules200ResponseDataInnerAdditionalParametersValueAnyOfCoordinatesInnerFromJSON)),
80
+ };
81
+ }
82
+
83
+ export function CreateShipmentRequestDroppointToJSON(json: any): CreateShipmentRequestDroppoint {
84
+ return CreateShipmentRequestDroppointToJSONTyped(json, false);
85
+ }
86
+
87
+ export function CreateShipmentRequestDroppointToJSONTyped(value?: CreateShipmentRequestDroppoint | null, ignoreDiscriminator: boolean = false): any {
88
+ if (value == null) {
89
+ return value;
90
+ }
91
+
92
+ return {
93
+
94
+ 'id': value['id'],
95
+ 'name': value['name'],
96
+ 'address': value['address'],
97
+ 'coordinates': value['coordinates'] == null ? undefined : ((value['coordinates'] as Array<any>).map(ListShippingRules200ResponseDataInnerAdditionalParametersValueAnyOfCoordinatesInnerToJSON)),
98
+ };
99
+ }
100
+
@@ -26,11 +26,11 @@ export interface CreateShipmentRequestParcelsInnerOrderLinesInner {
26
26
  */
27
27
  id?: string;
28
28
  /**
29
- * Stock keeping unit of the product.
29
+ * Stock keeping unit of the product. Optional — not every webshop assigns SKUs.
30
30
  * @type {string}
31
31
  * @memberof CreateShipmentRequestParcelsInnerOrderLinesInner
32
32
  */
33
- sku: string;
33
+ sku?: string | null;
34
34
  /**
35
35
  * Number of units in this order line.
36
36
  * @type {number}
@@ -85,7 +85,6 @@ export interface CreateShipmentRequestParcelsInnerOrderLinesInner {
85
85
  * Check if a given object implements the CreateShipmentRequestParcelsInnerOrderLinesInner interface.
86
86
  */
87
87
  export function instanceOfCreateShipmentRequestParcelsInnerOrderLinesInner(value: object): value is CreateShipmentRequestParcelsInnerOrderLinesInner {
88
- if (!('sku' in value) || value['sku'] === undefined) return false;
89
88
  if (!('quantity' in value) || value['quantity'] === undefined) return false;
90
89
  return true;
91
90
  }
@@ -101,7 +100,7 @@ export function CreateShipmentRequestParcelsInnerOrderLinesInnerFromJSONTyped(js
101
100
  return {
102
101
 
103
102
  'id': json['id'] == null ? undefined : json['id'],
104
- 'sku': json['sku'],
103
+ 'sku': json['sku'] === undefined ? undefined : json['sku'] === null ? null : json['sku'],
105
104
  'quantity': json['quantity'],
106
105
  'description': json['description'] === undefined ? undefined : json['description'] === null ? null : json['description'],
107
106
  'unitPrice': json['unitPrice'] === undefined ? undefined : json['unitPrice'] === null ? null : json['unitPrice'],
@@ -77,6 +77,12 @@ export interface GetOrder200ResponseShipmentsInner {
77
77
  * @memberof GetOrder200ResponseShipmentsInner
78
78
  */
79
79
  carrierSettings: ListShipments200ResponseDataInnerCarrierSettings;
80
+ /**
81
+ * Selected carrier service point identifier.
82
+ * @type {string}
83
+ * @memberof GetOrder200ResponseShipmentsInner
84
+ */
85
+ servicePointId?: string | null;
80
86
  /**
81
87
  * Timestamp when the shipment was created.
82
88
  * @type {string}
@@ -159,6 +165,7 @@ export function GetOrder200ResponseShipmentsInnerFromJSONTyped(json: any, ignore
159
165
  'type': json['type'],
160
166
  'tracking': json['tracking'] === undefined ? undefined : json['tracking'] === null ? null : CreateShipment201ResponseTrackingFromJSON(json['tracking']),
161
167
  'carrierSettings': ListShipments200ResponseDataInnerCarrierSettingsFromJSON(json['carrierSettings']),
168
+ 'servicePointId': json['servicePointId'] === undefined ? undefined : json['servicePointId'] === null ? null : json['servicePointId'],
162
169
  'createdAt': json['createdAt'],
163
170
  'updatedAt': json['updatedAt'],
164
171
  'shippingRuleId': json['shippingRuleId'] === undefined ? undefined : json['shippingRuleId'] === null ? null : json['shippingRuleId'],
@@ -183,6 +190,7 @@ export function GetOrder200ResponseShipmentsInnerToJSONTyped(value?: GetOrder200
183
190
  'type': value['type'],
184
191
  'tracking': CreateShipment201ResponseTrackingToJSON(value['tracking']),
185
192
  'carrierSettings': ListShipments200ResponseDataInnerCarrierSettingsToJSON(value['carrierSettings']),
193
+ 'servicePointId': value['servicePointId'],
186
194
  'createdAt': value['createdAt'],
187
195
  'updatedAt': value['updatedAt'],
188
196
  'shippingRuleId': value['shippingRuleId'],
@@ -108,6 +108,8 @@ export const ListApiTokens401ResponseCodeEnum = {
108
108
  ShipmentDocumentNotFound: 'SHIPMENT_DOCUMENT_NOT_FOUND',
109
109
  ShipmentAlreadySent: 'SHIPMENT_ALREADY_SENT',
110
110
  ShipmentInvalidState: 'SHIPMENT_INVALID_STATE',
111
+ ShipmentServicePointRequired: 'SHIPMENT_SERVICE_POINT_REQUIRED',
112
+ ShipmentSendNotAttempted: 'SHIPMENT_SEND_NOT_ATTEMPTED',
111
113
  ParcelNotFound: 'PARCEL_NOT_FOUND',
112
114
  ParcelInvalidSplit: 'PARCEL_INVALID_SPLIT',
113
115
  PickupNotFound: 'PICKUP_NOT_FOUND',
@@ -122,6 +122,8 @@ export const SendShipment422ResponseCodeEnum = {
122
122
  ShipmentDocumentNotFound: 'SHIPMENT_DOCUMENT_NOT_FOUND',
123
123
  ShipmentAlreadySent: 'SHIPMENT_ALREADY_SENT',
124
124
  ShipmentInvalidState: 'SHIPMENT_INVALID_STATE',
125
+ ShipmentServicePointRequired: 'SHIPMENT_SERVICE_POINT_REQUIRED',
126
+ ShipmentSendNotAttempted: 'SHIPMENT_SEND_NOT_ATTEMPTED',
125
127
  ParcelNotFound: 'PARCEL_NOT_FOUND',
126
128
  ParcelInvalidSplit: 'PARCEL_INVALID_SPLIT',
127
129
  PickupNotFound: 'PICKUP_NOT_FOUND',
@@ -20,13 +20,13 @@ import {
20
20
  CreateShipmentRequestPickupDetailsToJSON,
21
21
  CreateShipmentRequestPickupDetailsToJSONTyped,
22
22
  } from './CreateShipmentRequestPickupDetails';
23
- import type { CreateShipmentRequestCarrierSettings } from './CreateShipmentRequestCarrierSettings';
23
+ import type { UpdateShipmentRequestDroppoint } from './UpdateShipmentRequestDroppoint';
24
24
  import {
25
- CreateShipmentRequestCarrierSettingsFromJSON,
26
- CreateShipmentRequestCarrierSettingsFromJSONTyped,
27
- CreateShipmentRequestCarrierSettingsToJSON,
28
- CreateShipmentRequestCarrierSettingsToJSONTyped,
29
- } from './CreateShipmentRequestCarrierSettings';
25
+ UpdateShipmentRequestDroppointFromJSON,
26
+ UpdateShipmentRequestDroppointFromJSONTyped,
27
+ UpdateShipmentRequestDroppointToJSON,
28
+ UpdateShipmentRequestDroppointToJSONTyped,
29
+ } from './UpdateShipmentRequestDroppoint';
30
30
  import type { CreateShipmentRequestPartiesInner } from './CreateShipmentRequestPartiesInner';
31
31
  import {
32
32
  CreateShipmentRequestPartiesInnerFromJSON,
@@ -34,6 +34,13 @@ import {
34
34
  CreateShipmentRequestPartiesInnerToJSON,
35
35
  CreateShipmentRequestPartiesInnerToJSONTyped,
36
36
  } from './CreateShipmentRequestPartiesInner';
37
+ import type { UpdateShipmentRequestCarrierSettings } from './UpdateShipmentRequestCarrierSettings';
38
+ import {
39
+ UpdateShipmentRequestCarrierSettingsFromJSON,
40
+ UpdateShipmentRequestCarrierSettingsFromJSONTyped,
41
+ UpdateShipmentRequestCarrierSettingsToJSON,
42
+ UpdateShipmentRequestCarrierSettingsToJSONTyped,
43
+ } from './UpdateShipmentRequestCarrierSettings';
37
44
  import type { CreateShipmentRequestParcelsInner } from './CreateShipmentRequestParcelsInner';
38
45
  import {
39
46
  CreateShipmentRequestParcelsInnerFromJSON,
@@ -80,10 +87,10 @@ export interface UpdateShipmentRequest {
80
87
  type?: UpdateShipmentRequestTypeEnum;
81
88
  /**
82
89
  *
83
- * @type {CreateShipmentRequestCarrierSettings}
90
+ * @type {UpdateShipmentRequestCarrierSettings}
84
91
  * @memberof UpdateShipmentRequest
85
92
  */
86
- carrierSettings?: CreateShipmentRequestCarrierSettings;
93
+ carrierSettings?: UpdateShipmentRequestCarrierSettings;
87
94
  /**
88
95
  * Parcels to include. Optional when orderId is provided.
89
96
  * @type {Array<CreateShipmentRequestParcelsInner>}
@@ -132,6 +139,12 @@ export interface UpdateShipmentRequest {
132
139
  * @memberof UpdateShipmentRequest
133
140
  */
134
141
  shippingRuleId?: string | null;
142
+ /**
143
+ *
144
+ * @type {UpdateShipmentRequestDroppoint}
145
+ * @memberof UpdateShipmentRequest
146
+ */
147
+ droppoint?: UpdateShipmentRequestDroppoint;
135
148
  }
136
149
 
137
150
 
@@ -182,7 +195,7 @@ export function UpdateShipmentRequestFromJSONTyped(json: any, ignoreDiscriminato
182
195
  'servicePointId': json['servicePointId'] === undefined ? undefined : json['servicePointId'] === null ? null : json['servicePointId'],
183
196
  'parties': json['parties'] == null ? undefined : ((json['parties'] as Array<any>).map(CreateShipmentRequestPartiesInnerFromJSON)),
184
197
  'type': json['type'] == null ? undefined : json['type'],
185
- 'carrierSettings': json['carrierSettings'] == null ? undefined : CreateShipmentRequestCarrierSettingsFromJSON(json['carrierSettings']),
198
+ 'carrierSettings': json['carrierSettings'] == null ? undefined : UpdateShipmentRequestCarrierSettingsFromJSON(json['carrierSettings']),
186
199
  'parcels': json['parcels'] == null ? undefined : ((json['parcels'] as Array<any>).map(CreateShipmentRequestParcelsInnerFromJSON)),
187
200
  'pickupDetails': json['pickupDetails'] === undefined ? undefined : json['pickupDetails'] === null ? null : CreateShipmentRequestPickupDetailsFromJSON(json['pickupDetails']),
188
201
  'termOfTrade': json['termOfTrade'] == null ? undefined : json['termOfTrade'],
@@ -191,6 +204,7 @@ export function UpdateShipmentRequestFromJSONTyped(json: any, ignoreDiscriminato
191
204
  'labelPrinterId': json['labelPrinterId'] === undefined ? undefined : json['labelPrinterId'] === null ? null : json['labelPrinterId'],
192
205
  'documentPrinterId': json['documentPrinterId'] === undefined ? undefined : json['documentPrinterId'] === null ? null : json['documentPrinterId'],
193
206
  'shippingRuleId': json['shippingRuleId'] === undefined ? undefined : json['shippingRuleId'] === null ? null : json['shippingRuleId'],
207
+ 'droppoint': json['droppoint'] == null ? undefined : UpdateShipmentRequestDroppointFromJSON(json['droppoint']),
194
208
  };
195
209
  }
196
210
 
@@ -210,7 +224,7 @@ export function UpdateShipmentRequestToJSONTyped(value?: UpdateShipmentRequest |
210
224
  'servicePointId': value['servicePointId'],
211
225
  'parties': value['parties'] == null ? undefined : ((value['parties'] as Array<any>).map(CreateShipmentRequestPartiesInnerToJSON)),
212
226
  'type': value['type'],
213
- 'carrierSettings': CreateShipmentRequestCarrierSettingsToJSON(value['carrierSettings']),
227
+ 'carrierSettings': UpdateShipmentRequestCarrierSettingsToJSON(value['carrierSettings']),
214
228
  'parcels': value['parcels'] == null ? undefined : ((value['parcels'] as Array<any>).map(CreateShipmentRequestParcelsInnerToJSON)),
215
229
  'pickupDetails': CreateShipmentRequestPickupDetailsToJSON(value['pickupDetails']),
216
230
  'termOfTrade': value['termOfTrade'],
@@ -219,6 +233,7 @@ export function UpdateShipmentRequestToJSONTyped(value?: UpdateShipmentRequest |
219
233
  'labelPrinterId': value['labelPrinterId'],
220
234
  'documentPrinterId': value['documentPrinterId'],
221
235
  'shippingRuleId': value['shippingRuleId'],
236
+ 'droppoint': UpdateShipmentRequestDroppointToJSON(value['droppoint']),
222
237
  };
223
238
  }
224
239