@zippendo/sdk 1.1.4 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) 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 +1 -0
  6. package/dist/esm/models/BatchSendShipments200ResponseResultsInner.js +1 -0
  7. package/dist/esm/models/CreateShipment201ResponseParcelsInnerOrderLinesInner.d.ts +2 -2
  8. package/dist/esm/models/CreateShipment201ResponseParcelsInnerOrderLinesInner.js +1 -3
  9. package/dist/esm/models/CreateShipmentRequest.d.ts +14 -1
  10. package/dist/esm/models/CreateShipmentRequest.js +6 -3
  11. package/dist/esm/models/CreateShipmentRequestCarrierSettings.d.ts +1 -1
  12. package/dist/esm/models/CreateShipmentRequestDroppoint.d.ts +51 -0
  13. package/dist/esm/models/CreateShipmentRequestDroppoint.js +54 -0
  14. package/dist/esm/models/CreateShipmentRequestParcelsInnerOrderLinesInner.d.ts +2 -2
  15. package/dist/esm/models/CreateShipmentRequestParcelsInnerOrderLinesInner.js +1 -3
  16. package/dist/esm/models/GetOrder200ResponseShipmentsInner.d.ts +6 -0
  17. package/dist/esm/models/GetOrder200ResponseShipmentsInner.js +2 -0
  18. package/dist/esm/models/ListApiTokens401Response.d.ts +1 -0
  19. package/dist/esm/models/ListApiTokens401Response.js +1 -0
  20. package/dist/esm/models/SendShipment422Response.d.ts +1 -0
  21. package/dist/esm/models/SendShipment422Response.js +1 -0
  22. package/dist/esm/models/UpdateShipmentRequest.d.ts +10 -3
  23. package/dist/esm/models/UpdateShipmentRequest.js +6 -3
  24. package/dist/esm/models/UpdateShipmentRequestCarrierSettings.d.ts +53 -0
  25. package/dist/esm/models/UpdateShipmentRequestCarrierSettings.js +57 -0
  26. package/dist/esm/models/UpdateShipmentRequestDroppoint.d.ts +51 -0
  27. package/dist/esm/models/UpdateShipmentRequestDroppoint.js +54 -0
  28. package/dist/esm/models/index.d.ts +3 -0
  29. package/dist/esm/models/index.js +3 -0
  30. package/dist/models/BatchSendShipments200ResponseResultsInner.d.ts +1 -0
  31. package/dist/models/BatchSendShipments200ResponseResultsInner.js +1 -0
  32. package/dist/models/CreateShipment201ResponseParcelsInnerOrderLinesInner.d.ts +2 -2
  33. package/dist/models/CreateShipment201ResponseParcelsInnerOrderLinesInner.js +1 -3
  34. package/dist/models/CreateShipmentRequest.d.ts +14 -1
  35. package/dist/models/CreateShipmentRequest.js +6 -3
  36. package/dist/models/CreateShipmentRequestCarrierSettings.d.ts +1 -1
  37. package/dist/models/CreateShipmentRequestDroppoint.d.ts +51 -0
  38. package/dist/models/CreateShipmentRequestDroppoint.js +61 -0
  39. package/dist/models/CreateShipmentRequestParcelsInnerOrderLinesInner.d.ts +2 -2
  40. package/dist/models/CreateShipmentRequestParcelsInnerOrderLinesInner.js +1 -3
  41. package/dist/models/GetOrder200ResponseShipmentsInner.d.ts +6 -0
  42. package/dist/models/GetOrder200ResponseShipmentsInner.js +2 -0
  43. package/dist/models/ListApiTokens401Response.d.ts +1 -0
  44. package/dist/models/ListApiTokens401Response.js +1 -0
  45. package/dist/models/SendShipment422Response.d.ts +1 -0
  46. package/dist/models/SendShipment422Response.js +1 -0
  47. package/dist/models/UpdateShipmentRequest.d.ts +10 -3
  48. package/dist/models/UpdateShipmentRequest.js +6 -3
  49. package/dist/models/UpdateShipmentRequestCarrierSettings.d.ts +53 -0
  50. package/dist/models/UpdateShipmentRequestCarrierSettings.js +64 -0
  51. package/dist/models/UpdateShipmentRequestDroppoint.d.ts +51 -0
  52. package/dist/models/UpdateShipmentRequestDroppoint.js +61 -0
  53. package/dist/models/index.d.ts +3 -0
  54. package/dist/models/index.js +3 -0
  55. package/docs/CreateShipmentRequest.md +4 -0
  56. package/docs/CreateShipmentRequestCarrierSettings.md +1 -0
  57. package/docs/CreateShipmentRequestDroppoint.md +41 -0
  58. package/docs/GetOrder200ResponseShipmentsInner.md +2 -0
  59. package/docs/ShipmentsApi.md +1 -1
  60. package/docs/UpdateShipmentRequest.md +3 -1
  61. package/docs/UpdateShipmentRequestCarrierSettings.md +40 -0
  62. package/docs/UpdateShipmentRequestDroppoint.md +41 -0
  63. package/package.json +1 -1
  64. package/src/apis/ShipmentsApi.ts +2 -2
  65. package/src/models/BatchSendShipments200ResponseResultsInner.ts +1 -0
  66. package/src/models/CreateShipment201ResponseParcelsInnerOrderLinesInner.ts +3 -4
  67. package/src/models/CreateShipmentRequest.ts +25 -3
  68. package/src/models/CreateShipmentRequestCarrierSettings.ts +1 -1
  69. package/src/models/CreateShipmentRequestDroppoint.ts +100 -0
  70. package/src/models/CreateShipmentRequestParcelsInnerOrderLinesInner.ts +3 -4
  71. package/src/models/GetOrder200ResponseShipmentsInner.ts +8 -0
  72. package/src/models/ListApiTokens401Response.ts +1 -0
  73. package/src/models/SendShipment422Response.ts +1 -0
  74. package/src/models/UpdateShipmentRequest.ts +25 -10
  75. package/src/models/UpdateShipmentRequestCarrierSettings.ts +101 -0
  76. package/src/models/UpdateShipmentRequestDroppoint.ts +100 -0
  77. package/src/models/index.ts +3 -0
@@ -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,7 @@ 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',
111
112
  ParcelNotFound: 'PARCEL_NOT_FOUND',
112
113
  ParcelInvalidSplit: 'PARCEL_INVALID_SPLIT',
113
114
  PickupNotFound: 'PICKUP_NOT_FOUND',
@@ -122,6 +122,7 @@ 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',
125
126
  ParcelNotFound: 'PARCEL_NOT_FOUND',
126
127
  ParcelInvalidSplit: 'PARCEL_INVALID_SPLIT',
127
128
  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
 
@@ -0,0 +1,101 @@
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 { CreateShippingRuleRequestAdditionalParametersValue } from './CreateShippingRuleRequestAdditionalParametersValue';
17
+ import {
18
+ CreateShippingRuleRequestAdditionalParametersValueFromJSON,
19
+ CreateShippingRuleRequestAdditionalParametersValueFromJSONTyped,
20
+ CreateShippingRuleRequestAdditionalParametersValueToJSON,
21
+ CreateShippingRuleRequestAdditionalParametersValueToJSONTyped,
22
+ } from './CreateShippingRuleRequestAdditionalParametersValue';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface UpdateShipmentRequestCarrierSettings
28
+ */
29
+ export interface UpdateShipmentRequestCarrierSettings {
30
+ /**
31
+ * Identifier of the carrier to use.
32
+ * @type {string}
33
+ * @memberof UpdateShipmentRequestCarrierSettings
34
+ */
35
+ carrierId: string;
36
+ /**
37
+ * Identifier of the carrier product/service.
38
+ * @type {string}
39
+ * @memberof UpdateShipmentRequestCarrierSettings
40
+ */
41
+ productId: string;
42
+ /**
43
+ * Additional service codes requested from the carrier.
44
+ * @type {Array<string>}
45
+ * @memberof UpdateShipmentRequestCarrierSettings
46
+ */
47
+ services: Array<string>;
48
+ /**
49
+ * Carrier-specific extra parameters as key/value pairs.
50
+ * @type {{ [key: string]: CreateShippingRuleRequestAdditionalParametersValue; }}
51
+ * @memberof UpdateShipmentRequestCarrierSettings
52
+ */
53
+ additionalParameters: { [key: string]: CreateShippingRuleRequestAdditionalParametersValue; };
54
+ }
55
+
56
+ /**
57
+ * Check if a given object implements the UpdateShipmentRequestCarrierSettings interface.
58
+ */
59
+ export function instanceOfUpdateShipmentRequestCarrierSettings(value: object): value is UpdateShipmentRequestCarrierSettings {
60
+ if (!('carrierId' in value) || value['carrierId'] === undefined) return false;
61
+ if (!('productId' in value) || value['productId'] === undefined) return false;
62
+ if (!('services' in value) || value['services'] === undefined) return false;
63
+ if (!('additionalParameters' in value) || value['additionalParameters'] === undefined) return false;
64
+ return true;
65
+ }
66
+
67
+ export function UpdateShipmentRequestCarrierSettingsFromJSON(json: any): UpdateShipmentRequestCarrierSettings {
68
+ return UpdateShipmentRequestCarrierSettingsFromJSONTyped(json, false);
69
+ }
70
+
71
+ export function UpdateShipmentRequestCarrierSettingsFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateShipmentRequestCarrierSettings {
72
+ if (json == null) {
73
+ return json;
74
+ }
75
+ return {
76
+
77
+ 'carrierId': json['carrierId'],
78
+ 'productId': json['productId'],
79
+ 'services': json['services'],
80
+ 'additionalParameters': (mapValues(json['additionalParameters'], CreateShippingRuleRequestAdditionalParametersValueFromJSON)),
81
+ };
82
+ }
83
+
84
+ export function UpdateShipmentRequestCarrierSettingsToJSON(json: any): UpdateShipmentRequestCarrierSettings {
85
+ return UpdateShipmentRequestCarrierSettingsToJSONTyped(json, false);
86
+ }
87
+
88
+ export function UpdateShipmentRequestCarrierSettingsToJSONTyped(value?: UpdateShipmentRequestCarrierSettings | null, ignoreDiscriminator: boolean = false): any {
89
+ if (value == null) {
90
+ return value;
91
+ }
92
+
93
+ return {
94
+
95
+ 'carrierId': value['carrierId'],
96
+ 'productId': value['productId'],
97
+ 'services': value['services'],
98
+ 'additionalParameters': (mapValues(value['additionalParameters'], CreateShippingRuleRequestAdditionalParametersValueToJSON)),
99
+ };
100
+ }
101
+
@@ -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 when applying a service-point shipping rule (whose parameters otherwise replace the stored droppoint).
26
+ * @export
27
+ * @interface UpdateShipmentRequestDroppoint
28
+ */
29
+ export interface UpdateShipmentRequestDroppoint {
30
+ /**
31
+ * Identifier of the selected service point.
32
+ * @type {string}
33
+ * @memberof UpdateShipmentRequestDroppoint
34
+ */
35
+ id: string;
36
+ /**
37
+ * Display name of the service point.
38
+ * @type {string}
39
+ * @memberof UpdateShipmentRequestDroppoint
40
+ */
41
+ name: string;
42
+ /**
43
+ * Formatted address of the service point.
44
+ * @type {string}
45
+ * @memberof UpdateShipmentRequestDroppoint
46
+ */
47
+ address: string;
48
+ /**
49
+ * Latitude/longitude of the service point.
50
+ * @type {Array<ListShippingRules200ResponseDataInnerAdditionalParametersValueAnyOfCoordinatesInner>}
51
+ * @memberof UpdateShipmentRequestDroppoint
52
+ */
53
+ coordinates?: Array<ListShippingRules200ResponseDataInnerAdditionalParametersValueAnyOfCoordinatesInner>;
54
+ }
55
+
56
+ /**
57
+ * Check if a given object implements the UpdateShipmentRequestDroppoint interface.
58
+ */
59
+ export function instanceOfUpdateShipmentRequestDroppoint(value: object): value is UpdateShipmentRequestDroppoint {
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 UpdateShipmentRequestDroppointFromJSON(json: any): UpdateShipmentRequestDroppoint {
67
+ return UpdateShipmentRequestDroppointFromJSONTyped(json, false);
68
+ }
69
+
70
+ export function UpdateShipmentRequestDroppointFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateShipmentRequestDroppoint {
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 UpdateShipmentRequestDroppointToJSON(json: any): UpdateShipmentRequestDroppoint {
84
+ return UpdateShipmentRequestDroppointToJSONTyped(json, false);
85
+ }
86
+
87
+ export function UpdateShipmentRequestDroppointToJSONTyped(value?: UpdateShipmentRequestDroppoint | 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
+
@@ -37,6 +37,7 @@ export * from './CreateShipment201ResponseShippingRule';
37
37
  export * from './CreateShipment201ResponseTracking';
38
38
  export * from './CreateShipmentRequest';
39
39
  export * from './CreateShipmentRequestCarrierSettings';
40
+ export * from './CreateShipmentRequestDroppoint';
40
41
  export * from './CreateShipmentRequestParcelsInner';
41
42
  export * from './CreateShipmentRequestParcelsInnerDimensions';
42
43
  export * from './CreateShipmentRequestParcelsInnerOrderLinesInner';
@@ -143,6 +144,8 @@ export * from './UpdateOrgBrandingRequest';
143
144
  export * from './UpdateOrgRequest';
144
145
  export * from './UpdateOrgWebhookRequest';
145
146
  export * from './UpdateShipmentRequest';
147
+ export * from './UpdateShipmentRequestCarrierSettings';
148
+ export * from './UpdateShipmentRequestDroppoint';
146
149
  export * from './UpdateShippingRuleRequest';
147
150
  export * from './VerifyApiToken200Response';
148
151
  export * from './VerifyApiTokenRequest';