@zippendo/sdk 1.2.4 → 1.2.6

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 (128) hide show
  1. package/dist/apis/OrderChannelsApi.d.ts +195 -0
  2. package/dist/apis/OrderChannelsApi.js +496 -0
  3. package/dist/apis/index.d.ts +1 -0
  4. package/dist/apis/index.js +1 -0
  5. package/dist/esm/apis/OrderChannelsApi.d.ts +195 -0
  6. package/dist/esm/apis/OrderChannelsApi.js +492 -0
  7. package/dist/esm/apis/index.d.ts +1 -0
  8. package/dist/esm/apis/index.js +1 -0
  9. package/dist/esm/models/BatchSendShipments200ResponseResultsInner.d.ts +4 -0
  10. package/dist/esm/models/BatchSendShipments200ResponseResultsInner.js +4 -0
  11. package/dist/esm/models/CreateOrderChannelRequest.d.ts +65 -0
  12. package/dist/esm/models/CreateOrderChannelRequest.js +61 -0
  13. package/dist/esm/models/CreateOrderChannelRequestSettings.d.ts +105 -0
  14. package/dist/esm/models/CreateOrderChannelRequestSettings.js +66 -0
  15. package/dist/esm/models/CreateOrderChannelRequestSettingsShippingMethodMappingsInner.d.ts +52 -0
  16. package/dist/esm/models/CreateOrderChannelRequestSettingsShippingMethodMappingsInner.js +56 -0
  17. package/dist/esm/models/CreateOrderChannelWebhookSecret201Response.d.ts +44 -0
  18. package/dist/esm/models/CreateOrderChannelWebhookSecret201Response.js +51 -0
  19. package/dist/esm/models/CreateOrderRequest.d.ts +12 -0
  20. package/dist/esm/models/CreateOrderRequest.js +4 -0
  21. package/dist/esm/models/GetOrderChannelWebhookStatus200Response.d.ts +45 -0
  22. package/dist/esm/models/GetOrderChannelWebhookStatus200Response.js +52 -0
  23. package/dist/esm/models/GetOrderChannelWebhookStatus200ResponseWebhooksInner.d.ts +62 -0
  24. package/dist/esm/models/GetOrderChannelWebhookStatus200ResponseWebhooksInner.js +59 -0
  25. package/dist/esm/models/ListApiTokens401Response.d.ts +4 -0
  26. package/dist/esm/models/ListApiTokens401Response.js +4 -0
  27. package/dist/esm/models/ListOrderChannels200Response.d.ts +57 -0
  28. package/dist/esm/models/ListOrderChannels200Response.js +60 -0
  29. package/dist/esm/models/ListOrderChannels200ResponseDataInner.d.ts +121 -0
  30. package/dist/esm/models/ListOrderChannels200ResponseDataInner.js +97 -0
  31. package/dist/esm/models/ListOrderChannels200ResponseDataInnerSettings.d.ts +129 -0
  32. package/dist/esm/models/ListOrderChannels200ResponseDataInnerSettings.js +86 -0
  33. package/dist/esm/models/ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner.d.ts +52 -0
  34. package/dist/esm/models/ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner.js +56 -0
  35. package/dist/esm/models/ListOrders200ResponseDataInnerOrderChannel.d.ts +1 -0
  36. package/dist/esm/models/ListOrders200ResponseDataInnerOrderChannel.js +2 -1
  37. package/dist/esm/models/RevokeOrderChannelWebhookSecret200Response.d.ts +32 -0
  38. package/dist/esm/models/RevokeOrderChannelWebhookSecret200Response.js +43 -0
  39. package/dist/esm/models/SendShipment422Response.d.ts +4 -0
  40. package/dist/esm/models/SendShipment422Response.js +4 -0
  41. package/dist/esm/models/UpdateOrderChannelRequest.d.ts +65 -0
  42. package/dist/esm/models/UpdateOrderChannelRequest.js +52 -0
  43. package/dist/esm/models/UpdateOrderChannelRequestSettings.d.ts +105 -0
  44. package/dist/esm/models/UpdateOrderChannelRequestSettings.js +66 -0
  45. package/dist/esm/models/UpdateOrgRequest.d.ts +0 -6
  46. package/dist/esm/models/UpdateOrgRequest.js +0 -2
  47. package/dist/esm/models/index.d.ts +13 -0
  48. package/dist/esm/models/index.js +13 -0
  49. package/dist/models/BatchSendShipments200ResponseResultsInner.d.ts +4 -0
  50. package/dist/models/BatchSendShipments200ResponseResultsInner.js +4 -0
  51. package/dist/models/CreateOrderChannelRequest.d.ts +65 -0
  52. package/dist/models/CreateOrderChannelRequest.js +69 -0
  53. package/dist/models/CreateOrderChannelRequestSettings.d.ts +105 -0
  54. package/dist/models/CreateOrderChannelRequestSettings.js +73 -0
  55. package/dist/models/CreateOrderChannelRequestSettingsShippingMethodMappingsInner.d.ts +52 -0
  56. package/dist/models/CreateOrderChannelRequestSettingsShippingMethodMappingsInner.js +64 -0
  57. package/dist/models/CreateOrderChannelWebhookSecret201Response.d.ts +44 -0
  58. package/dist/models/CreateOrderChannelWebhookSecret201Response.js +58 -0
  59. package/dist/models/CreateOrderRequest.d.ts +12 -0
  60. package/dist/models/CreateOrderRequest.js +4 -0
  61. package/dist/models/GetOrderChannelWebhookStatus200Response.d.ts +45 -0
  62. package/dist/models/GetOrderChannelWebhookStatus200Response.js +59 -0
  63. package/dist/models/GetOrderChannelWebhookStatus200ResponseWebhooksInner.d.ts +62 -0
  64. package/dist/models/GetOrderChannelWebhookStatus200ResponseWebhooksInner.js +66 -0
  65. package/dist/models/ListApiTokens401Response.d.ts +4 -0
  66. package/dist/models/ListApiTokens401Response.js +4 -0
  67. package/dist/models/ListOrderChannels200Response.d.ts +57 -0
  68. package/dist/models/ListOrderChannels200Response.js +67 -0
  69. package/dist/models/ListOrderChannels200ResponseDataInner.d.ts +121 -0
  70. package/dist/models/ListOrderChannels200ResponseDataInner.js +105 -0
  71. package/dist/models/ListOrderChannels200ResponseDataInnerSettings.d.ts +129 -0
  72. package/dist/models/ListOrderChannels200ResponseDataInnerSettings.js +93 -0
  73. package/dist/models/ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner.d.ts +52 -0
  74. package/dist/models/ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner.js +64 -0
  75. package/dist/models/ListOrders200ResponseDataInnerOrderChannel.d.ts +1 -0
  76. package/dist/models/ListOrders200ResponseDataInnerOrderChannel.js +2 -1
  77. package/dist/models/RevokeOrderChannelWebhookSecret200Response.d.ts +32 -0
  78. package/dist/models/RevokeOrderChannelWebhookSecret200Response.js +50 -0
  79. package/dist/models/SendShipment422Response.d.ts +4 -0
  80. package/dist/models/SendShipment422Response.js +4 -0
  81. package/dist/models/UpdateOrderChannelRequest.d.ts +65 -0
  82. package/dist/models/UpdateOrderChannelRequest.js +59 -0
  83. package/dist/models/UpdateOrderChannelRequestSettings.d.ts +105 -0
  84. package/dist/models/UpdateOrderChannelRequestSettings.js +73 -0
  85. package/dist/models/UpdateOrgRequest.d.ts +0 -6
  86. package/dist/models/UpdateOrgRequest.js +0 -2
  87. package/dist/models/index.d.ts +13 -0
  88. package/dist/models/index.js +13 -0
  89. package/docs/CreateOrderChannelRequest.md +42 -0
  90. package/docs/CreateOrderChannelRequestSettings.md +58 -0
  91. package/docs/CreateOrderChannelRequestSettingsShippingMethodMappingsInner.md +38 -0
  92. package/docs/CreateOrderChannelWebhookSecret201Response.md +38 -0
  93. package/docs/CreateOrderRequest.md +4 -0
  94. package/docs/GetOrderChannelWebhookStatus200Response.md +38 -0
  95. package/docs/GetOrderChannelWebhookStatus200ResponseWebhooksInner.md +44 -0
  96. package/docs/ListOrderChannels200Response.md +42 -0
  97. package/docs/ListOrderChannels200ResponseDataInner.md +60 -0
  98. package/docs/ListOrderChannels200ResponseDataInnerSettings.md +67 -0
  99. package/docs/ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner.md +38 -0
  100. package/docs/OrderChannelsApi.md +650 -0
  101. package/docs/OrdersApi.md +1 -0
  102. package/docs/RevokeOrderChannelWebhookSecret200Response.md +34 -0
  103. package/docs/UpdateOrderChannelRequest.md +44 -0
  104. package/docs/UpdateOrderChannelRequestSettings.md +59 -0
  105. package/docs/UpdateOrgRequest.md +0 -2
  106. package/package.json +1 -1
  107. package/src/apis/OrderChannelsApi.ts +670 -0
  108. package/src/apis/index.ts +1 -0
  109. package/src/models/BatchSendShipments200ResponseResultsInner.ts +4 -0
  110. package/src/models/CreateOrderChannelRequest.ts +118 -0
  111. package/src/models/CreateOrderChannelRequestSettings.ts +169 -0
  112. package/src/models/CreateOrderChannelRequestSettingsShippingMethodMappingsInner.ts +94 -0
  113. package/src/models/CreateOrderChannelWebhookSecret201Response.ts +84 -0
  114. package/src/models/CreateOrderRequest.ts +16 -0
  115. package/src/models/GetOrderChannelWebhookStatus200Response.ts +92 -0
  116. package/src/models/GetOrderChannelWebhookStatus200ResponseWebhooksInner.ts +109 -0
  117. package/src/models/ListApiTokens401Response.ts +4 -0
  118. package/src/models/ListOrderChannels200Response.ts +110 -0
  119. package/src/models/ListOrderChannels200ResponseDataInner.ts +200 -0
  120. package/src/models/ListOrderChannels200ResponseDataInnerSettings.ts +207 -0
  121. package/src/models/ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner.ts +94 -0
  122. package/src/models/ListOrders200ResponseDataInnerOrderChannel.ts +2 -1
  123. package/src/models/RevokeOrderChannelWebhookSecret200Response.ts +66 -0
  124. package/src/models/SendShipment422Response.ts +4 -0
  125. package/src/models/UpdateOrderChannelRequest.ts +113 -0
  126. package/src/models/UpdateOrderChannelRequestSettings.ts +169 -0
  127. package/src/models/UpdateOrgRequest.ts +0 -8
  128. package/src/models/index.ts +13 -0
@@ -0,0 +1,86 @@
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
+ import { ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerFromJSON, ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerToJSON, } from './ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner';
15
+ /**
16
+ * Check if a given object implements the ListOrderChannels200ResponseDataInnerSettings interface.
17
+ */
18
+ export function instanceOfListOrderChannels200ResponseDataInnerSettings(value) {
19
+ if (!('useWebhooks' in value) || value['useWebhooks'] === undefined)
20
+ return false;
21
+ if (!('autoSync' in value) || value['autoSync'] === undefined)
22
+ return false;
23
+ if (!('syncIntervalMinutes' in value) || value['syncIntervalMinutes'] === undefined)
24
+ return false;
25
+ if (!('autoShipOnCreate' in value) || value['autoShipOnCreate'] === undefined)
26
+ return false;
27
+ if (!('syncOnlyUnfulfilled' in value) || value['syncOnlyUnfulfilled'] === undefined)
28
+ return false;
29
+ if (!('servicePointCount' in value) || value['servicePointCount'] === undefined)
30
+ return false;
31
+ return true;
32
+ }
33
+ export function ListOrderChannels200ResponseDataInnerSettingsFromJSON(json) {
34
+ return ListOrderChannels200ResponseDataInnerSettingsFromJSONTyped(json, false);
35
+ }
36
+ export function ListOrderChannels200ResponseDataInnerSettingsFromJSONTyped(json, ignoreDiscriminator) {
37
+ if (json == null) {
38
+ return json;
39
+ }
40
+ return {
41
+ 'useWebhooks': json['useWebhooks'],
42
+ 'webhookId': json['webhookId'] === undefined ? undefined : json['webhookId'] === null ? null : json['webhookId'],
43
+ 'webhookIds': json['webhookIds'] == null ? undefined : json['webhookIds'],
44
+ 'webhookSecretCreatedAt': json['webhookSecretCreatedAt'] === undefined ? undefined : json['webhookSecretCreatedAt'] === null ? null : (new Date(json['webhookSecretCreatedAt'])),
45
+ 'siteUrl': json['siteUrl'] == null ? undefined : json['siteUrl'],
46
+ 'autoFulfill': json['autoFulfill'] == null ? undefined : json['autoFulfill'],
47
+ 'checkoutTokenCreatedAt': json['checkoutTokenCreatedAt'] === undefined ? undefined : json['checkoutTokenCreatedAt'] === null ? null : (new Date(json['checkoutTokenCreatedAt'])),
48
+ 'autoSync': json['autoSync'],
49
+ 'syncIntervalMinutes': json['syncIntervalMinutes'],
50
+ 'autoShipOnCreate': json['autoShipOnCreate'],
51
+ 'defaultCarrierId': json['defaultCarrierId'] === undefined ? undefined : json['defaultCarrierId'] === null ? null : json['defaultCarrierId'],
52
+ 'defaultProductId': json['defaultProductId'] === undefined ? undefined : json['defaultProductId'] === null ? null : json['defaultProductId'],
53
+ 'defaultAddressId': json['defaultAddressId'] === undefined ? undefined : json['defaultAddressId'] === null ? null : json['defaultAddressId'],
54
+ 'shippingMethodMappings': json['shippingMethodMappings'] == null ? undefined : (json['shippingMethodMappings'].map(ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerFromJSON)),
55
+ 'syncOnlyUnfulfilled': json['syncOnlyUnfulfilled'],
56
+ 'syncOrdersSince': json['syncOrdersSince'] === undefined ? undefined : json['syncOrdersSince'] === null ? null : (new Date(json['syncOrdersSince'])),
57
+ 'servicePointCount': json['servicePointCount'],
58
+ };
59
+ }
60
+ export function ListOrderChannels200ResponseDataInnerSettingsToJSON(json) {
61
+ return ListOrderChannels200ResponseDataInnerSettingsToJSONTyped(json, false);
62
+ }
63
+ export function ListOrderChannels200ResponseDataInnerSettingsToJSONTyped(value, ignoreDiscriminator = false) {
64
+ if (value == null) {
65
+ return value;
66
+ }
67
+ return {
68
+ 'useWebhooks': value['useWebhooks'],
69
+ 'webhookId': value['webhookId'],
70
+ 'webhookIds': value['webhookIds'],
71
+ 'webhookSecretCreatedAt': value['webhookSecretCreatedAt'] == null ? value['webhookSecretCreatedAt'] : value['webhookSecretCreatedAt'].toISOString(),
72
+ 'siteUrl': value['siteUrl'],
73
+ 'autoFulfill': value['autoFulfill'],
74
+ 'checkoutTokenCreatedAt': value['checkoutTokenCreatedAt'] == null ? value['checkoutTokenCreatedAt'] : value['checkoutTokenCreatedAt'].toISOString(),
75
+ 'autoSync': value['autoSync'],
76
+ 'syncIntervalMinutes': value['syncIntervalMinutes'],
77
+ 'autoShipOnCreate': value['autoShipOnCreate'],
78
+ 'defaultCarrierId': value['defaultCarrierId'],
79
+ 'defaultProductId': value['defaultProductId'],
80
+ 'defaultAddressId': value['defaultAddressId'],
81
+ 'shippingMethodMappings': value['shippingMethodMappings'] == null ? undefined : (value['shippingMethodMappings'].map(ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerToJSON)),
82
+ 'syncOnlyUnfulfilled': value['syncOnlyUnfulfilled'],
83
+ 'syncOrdersSince': value['syncOrdersSince'] == null ? value['syncOrdersSince'] : value['syncOrdersSince'].toISOString(),
84
+ 'servicePointCount': value['servicePointCount'],
85
+ };
86
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Zippendo Public API
3
+ * 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`.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ * Contact: support@zippendo.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner
16
+ */
17
+ export interface ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner {
18
+ /**
19
+ * Shipping-method title to match against imported orders (trimmed, case-insensitive, exact).
20
+ * @type {string}
21
+ * @memberof ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner
22
+ */
23
+ match: string;
24
+ /**
25
+ * Shipping rule applied to orders whose shipping-method title matches.
26
+ * @type {string}
27
+ * @memberof ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner
28
+ */
29
+ shippingRuleId: string;
30
+ /**
31
+ * For rules whose product delivers to a service point: 'nearest' auto-selects the closest point to the recipient address; 'manual' keeps the shipment in draft for manual selection.
32
+ * @type {ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerServicePointSelectionEnum}
33
+ * @memberof ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner
34
+ */
35
+ servicePointSelection?: ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerServicePointSelectionEnum;
36
+ }
37
+ /**
38
+ * @export
39
+ */
40
+ export declare const ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerServicePointSelectionEnum: {
41
+ readonly Nearest: "nearest";
42
+ readonly Manual: "manual";
43
+ };
44
+ export type ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerServicePointSelectionEnum = typeof ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerServicePointSelectionEnum[keyof typeof ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerServicePointSelectionEnum];
45
+ /**
46
+ * Check if a given object implements the ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner interface.
47
+ */
48
+ export declare function instanceOfListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner(value: object): value is ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner;
49
+ export declare function ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerFromJSON(json: any): ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner;
50
+ export declare function ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner;
51
+ export declare function ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerToJSON(json: any): ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner;
52
+ export declare function ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerToJSONTyped(value?: ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,56 @@
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
+ * @export
16
+ */
17
+ export const ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerServicePointSelectionEnum = {
18
+ Nearest: 'nearest',
19
+ Manual: 'manual'
20
+ };
21
+ /**
22
+ * Check if a given object implements the ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner interface.
23
+ */
24
+ export function instanceOfListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner(value) {
25
+ if (!('match' in value) || value['match'] === undefined)
26
+ return false;
27
+ if (!('shippingRuleId' in value) || value['shippingRuleId'] === undefined)
28
+ return false;
29
+ return true;
30
+ }
31
+ export function ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerFromJSON(json) {
32
+ return ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerFromJSONTyped(json, false);
33
+ }
34
+ export function ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerFromJSONTyped(json, ignoreDiscriminator) {
35
+ if (json == null) {
36
+ return json;
37
+ }
38
+ return {
39
+ 'match': json['match'],
40
+ 'shippingRuleId': json['shippingRuleId'],
41
+ 'servicePointSelection': json['servicePointSelection'] == null ? undefined : json['servicePointSelection'],
42
+ };
43
+ }
44
+ export function ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerToJSON(json) {
45
+ return ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerToJSONTyped(json, false);
46
+ }
47
+ export function ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInnerToJSONTyped(value, ignoreDiscriminator = false) {
48
+ if (value == null) {
49
+ return value;
50
+ }
51
+ return {
52
+ 'match': value['match'],
53
+ 'shippingRuleId': value['shippingRuleId'],
54
+ 'servicePointSelection': value['servicePointSelection'],
55
+ };
56
+ }
@@ -41,6 +41,7 @@ export declare const ListOrders200ResponseDataInnerOrderChannelTypeEnum: {
41
41
  readonly Shopify: "shopify";
42
42
  readonly Woocommerce: "woocommerce";
43
43
  readonly Manual: "manual";
44
+ readonly Custom: "custom";
44
45
  };
45
46
  export type ListOrders200ResponseDataInnerOrderChannelTypeEnum = typeof ListOrders200ResponseDataInnerOrderChannelTypeEnum[keyof typeof ListOrders200ResponseDataInnerOrderChannelTypeEnum];
46
47
  /**
@@ -17,7 +17,8 @@
17
17
  export const ListOrders200ResponseDataInnerOrderChannelTypeEnum = {
18
18
  Shopify: 'shopify',
19
19
  Woocommerce: 'woocommerce',
20
- Manual: 'manual'
20
+ Manual: 'manual',
21
+ Custom: 'custom'
21
22
  };
22
23
  /**
23
24
  * Check if a given object implements the ListOrders200ResponseDataInnerOrderChannel interface.
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Zippendo Public API
3
+ * 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`.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ * Contact: support@zippendo.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface RevokeOrderChannelWebhookSecret200Response
16
+ */
17
+ export interface RevokeOrderChannelWebhookSecret200Response {
18
+ /**
19
+ * Whether the signing secret was revoked.
20
+ * @type {boolean}
21
+ * @memberof RevokeOrderChannelWebhookSecret200Response
22
+ */
23
+ revoked: boolean;
24
+ }
25
+ /**
26
+ * Check if a given object implements the RevokeOrderChannelWebhookSecret200Response interface.
27
+ */
28
+ export declare function instanceOfRevokeOrderChannelWebhookSecret200Response(value: object): value is RevokeOrderChannelWebhookSecret200Response;
29
+ export declare function RevokeOrderChannelWebhookSecret200ResponseFromJSON(json: any): RevokeOrderChannelWebhookSecret200Response;
30
+ export declare function RevokeOrderChannelWebhookSecret200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): RevokeOrderChannelWebhookSecret200Response;
31
+ export declare function RevokeOrderChannelWebhookSecret200ResponseToJSON(json: any): RevokeOrderChannelWebhookSecret200Response;
32
+ export declare function RevokeOrderChannelWebhookSecret200ResponseToJSONTyped(value?: RevokeOrderChannelWebhookSecret200Response | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,43 @@
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
+ * Check if a given object implements the RevokeOrderChannelWebhookSecret200Response interface.
16
+ */
17
+ export function instanceOfRevokeOrderChannelWebhookSecret200Response(value) {
18
+ if (!('revoked' in value) || value['revoked'] === undefined)
19
+ return false;
20
+ return true;
21
+ }
22
+ export function RevokeOrderChannelWebhookSecret200ResponseFromJSON(json) {
23
+ return RevokeOrderChannelWebhookSecret200ResponseFromJSONTyped(json, false);
24
+ }
25
+ export function RevokeOrderChannelWebhookSecret200ResponseFromJSONTyped(json, ignoreDiscriminator) {
26
+ if (json == null) {
27
+ return json;
28
+ }
29
+ return {
30
+ 'revoked': json['revoked'],
31
+ };
32
+ }
33
+ export function RevokeOrderChannelWebhookSecret200ResponseToJSON(json) {
34
+ return RevokeOrderChannelWebhookSecret200ResponseToJSONTyped(json, false);
35
+ }
36
+ export function RevokeOrderChannelWebhookSecret200ResponseToJSONTyped(value, ignoreDiscriminator = false) {
37
+ if (value == null) {
38
+ return value;
39
+ }
40
+ return {
41
+ 'revoked': value['revoked'],
42
+ };
43
+ }
@@ -68,6 +68,9 @@ export declare const SendShipment422ResponseCodeEnum: {
68
68
  readonly AuthMfaRequired: "AUTH_MFA_REQUIRED";
69
69
  readonly AuthMfaInvalidCode: "AUTH_MFA_INVALID_CODE";
70
70
  readonly AuthMfaAlreadyEnabled: "AUTH_MFA_ALREADY_ENABLED";
71
+ readonly CaptchaFailed: "CAPTCHA_FAILED";
72
+ readonly EmailDomainBlocked: "EMAIL_DOMAIN_BLOCKED";
73
+ readonly VatInvalid: "VAT_INVALID";
71
74
  readonly AuthMfaNotEnabled: "AUTH_MFA_NOT_ENABLED";
72
75
  readonly SessionRequired: "SESSION_REQUIRED";
73
76
  readonly OrgNotFound: "ORG_NOT_FOUND";
@@ -140,6 +143,7 @@ export declare const SendShipment422ResponseCodeEnum: {
140
143
  readonly ShippingRuleInvalid: "SHIPPING_RULE_INVALID";
141
144
  readonly AddressNotFound: "ADDRESS_NOT_FOUND";
142
145
  readonly OrderNotFound: "ORDER_NOT_FOUND";
146
+ readonly OrderExists: "ORDER_EXISTS";
143
147
  readonly OrderChannelNotFound: "ORDER_CHANNEL_NOT_FOUND";
144
148
  readonly OrderChannelConfigInvalid: "ORDER_CHANNEL_CONFIG_INVALID";
145
149
  readonly IntegrationNotConfigured: "INTEGRATION_NOT_CONFIGURED";
@@ -39,6 +39,9 @@ export const SendShipment422ResponseCodeEnum = {
39
39
  AuthMfaRequired: 'AUTH_MFA_REQUIRED',
40
40
  AuthMfaInvalidCode: 'AUTH_MFA_INVALID_CODE',
41
41
  AuthMfaAlreadyEnabled: 'AUTH_MFA_ALREADY_ENABLED',
42
+ CaptchaFailed: 'CAPTCHA_FAILED',
43
+ EmailDomainBlocked: 'EMAIL_DOMAIN_BLOCKED',
44
+ VatInvalid: 'VAT_INVALID',
42
45
  AuthMfaNotEnabled: 'AUTH_MFA_NOT_ENABLED',
43
46
  SessionRequired: 'SESSION_REQUIRED',
44
47
  OrgNotFound: 'ORG_NOT_FOUND',
@@ -111,6 +114,7 @@ export const SendShipment422ResponseCodeEnum = {
111
114
  ShippingRuleInvalid: 'SHIPPING_RULE_INVALID',
112
115
  AddressNotFound: 'ADDRESS_NOT_FOUND',
113
116
  OrderNotFound: 'ORDER_NOT_FOUND',
117
+ OrderExists: 'ORDER_EXISTS',
114
118
  OrderChannelNotFound: 'ORDER_CHANNEL_NOT_FOUND',
115
119
  OrderChannelConfigInvalid: 'ORDER_CHANNEL_CONFIG_INVALID',
116
120
  IntegrationNotConfigured: 'INTEGRATION_NOT_CONFIGURED',
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Zippendo Public API
3
+ * 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`.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ * Contact: support@zippendo.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { UpdateOrderChannelRequestSettings } from './UpdateOrderChannelRequestSettings';
13
+ /**
14
+ *
15
+ * @export
16
+ * @interface UpdateOrderChannelRequest
17
+ */
18
+ export interface UpdateOrderChannelRequest {
19
+ /**
20
+ * Brand this channel belongs to; null for organization-wide
21
+ * @type {string}
22
+ * @memberof UpdateOrderChannelRequest
23
+ */
24
+ brandId?: string | null;
25
+ /**
26
+ * Display name for the channel.
27
+ * @type {string}
28
+ * @memberof UpdateOrderChannelRequest
29
+ */
30
+ name?: string;
31
+ /**
32
+ * Whether the channel is active.
33
+ * @type {boolean}
34
+ * @memberof UpdateOrderChannelRequest
35
+ */
36
+ enabled?: boolean;
37
+ /**
38
+ * Type-specific platform credentials.
39
+ * @type {{ [key: string]: any; }}
40
+ * @memberof UpdateOrderChannelRequest
41
+ */
42
+ credentials?: {
43
+ [key: string]: any;
44
+ } | null;
45
+ /**
46
+ *
47
+ * @type {UpdateOrderChannelRequestSettings}
48
+ * @memberof UpdateOrderChannelRequest
49
+ */
50
+ settings?: UpdateOrderChannelRequestSettings;
51
+ /**
52
+ * IDs of shipping rules linked to this channel.
53
+ * @type {Array<string>}
54
+ * @memberof UpdateOrderChannelRequest
55
+ */
56
+ shippingRuleIds?: Array<string>;
57
+ }
58
+ /**
59
+ * Check if a given object implements the UpdateOrderChannelRequest interface.
60
+ */
61
+ export declare function instanceOfUpdateOrderChannelRequest(value: object): value is UpdateOrderChannelRequest;
62
+ export declare function UpdateOrderChannelRequestFromJSON(json: any): UpdateOrderChannelRequest;
63
+ export declare function UpdateOrderChannelRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateOrderChannelRequest;
64
+ export declare function UpdateOrderChannelRequestToJSON(json: any): UpdateOrderChannelRequest;
65
+ export declare function UpdateOrderChannelRequestToJSONTyped(value?: UpdateOrderChannelRequest | null, ignoreDiscriminator?: boolean): any;
@@ -0,0 +1,52 @@
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
+ import { UpdateOrderChannelRequestSettingsFromJSON, UpdateOrderChannelRequestSettingsToJSON, } from './UpdateOrderChannelRequestSettings';
15
+ /**
16
+ * Check if a given object implements the UpdateOrderChannelRequest interface.
17
+ */
18
+ export function instanceOfUpdateOrderChannelRequest(value) {
19
+ return true;
20
+ }
21
+ export function UpdateOrderChannelRequestFromJSON(json) {
22
+ return UpdateOrderChannelRequestFromJSONTyped(json, false);
23
+ }
24
+ export function UpdateOrderChannelRequestFromJSONTyped(json, ignoreDiscriminator) {
25
+ if (json == null) {
26
+ return json;
27
+ }
28
+ return {
29
+ 'brandId': json['brandId'] === undefined ? undefined : json['brandId'] === null ? null : json['brandId'],
30
+ 'name': json['name'] == null ? undefined : json['name'],
31
+ 'enabled': json['enabled'] == null ? undefined : json['enabled'],
32
+ 'credentials': json['credentials'] === undefined ? undefined : json['credentials'] === null ? null : json['credentials'],
33
+ 'settings': json['settings'] == null ? undefined : UpdateOrderChannelRequestSettingsFromJSON(json['settings']),
34
+ 'shippingRuleIds': json['shippingRuleIds'] == null ? undefined : json['shippingRuleIds'],
35
+ };
36
+ }
37
+ export function UpdateOrderChannelRequestToJSON(json) {
38
+ return UpdateOrderChannelRequestToJSONTyped(json, false);
39
+ }
40
+ export function UpdateOrderChannelRequestToJSONTyped(value, ignoreDiscriminator = false) {
41
+ if (value == null) {
42
+ return value;
43
+ }
44
+ return {
45
+ 'brandId': value['brandId'],
46
+ 'name': value['name'],
47
+ 'enabled': value['enabled'],
48
+ 'credentials': value['credentials'],
49
+ 'settings': UpdateOrderChannelRequestSettingsToJSON(value['settings']),
50
+ 'shippingRuleIds': value['shippingRuleIds'],
51
+ };
52
+ }
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Zippendo Public API
3
+ * 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`.
4
+ *
5
+ * The version of the OpenAPI document: 1.0.0
6
+ * Contact: support@zippendo.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { CreateOrderChannelRequestSettingsShippingMethodMappingsInner } from './CreateOrderChannelRequestSettingsShippingMethodMappingsInner';
13
+ /**
14
+ * Partial channel settings to merge into existing settings. Server-managed fields (webhook secret/ids, checkout token) cannot be set here.
15
+ * @export
16
+ * @interface UpdateOrderChannelRequestSettings
17
+ */
18
+ export interface UpdateOrderChannelRequestSettings {
19
+ /**
20
+ * Use webhooks for real-time order sync.
21
+ * @type {boolean}
22
+ * @memberof UpdateOrderChannelRequestSettings
23
+ */
24
+ useWebhooks?: boolean;
25
+ /**
26
+ * WooCommerce store URL.
27
+ * @type {string}
28
+ * @memberof UpdateOrderChannelRequestSettings
29
+ */
30
+ siteUrl?: string;
31
+ /**
32
+ * Push tracking back to the platform when a shipment is dispatched. Enabled by default (opt-out) — set to false to disable write-back; an unset value still syncs.
33
+ * @type {boolean}
34
+ * @memberof UpdateOrderChannelRequestSettings
35
+ */
36
+ autoFulfill?: boolean;
37
+ /**
38
+ * Periodically poll the channel for new orders.
39
+ * @type {boolean}
40
+ * @memberof UpdateOrderChannelRequestSettings
41
+ */
42
+ autoSync?: boolean;
43
+ /**
44
+ * Polling interval in minutes (5-1440).
45
+ * @type {number}
46
+ * @memberof UpdateOrderChannelRequestSettings
47
+ */
48
+ syncIntervalMinutes?: number;
49
+ /**
50
+ * Create a shipment automatically when an order arrives.
51
+ * @type {boolean}
52
+ * @memberof UpdateOrderChannelRequestSettings
53
+ */
54
+ autoShipOnCreate?: boolean;
55
+ /**
56
+ * Default carrier ID for auto-shipping.
57
+ * @type {string}
58
+ * @memberof UpdateOrderChannelRequestSettings
59
+ */
60
+ defaultCarrierId?: string | null;
61
+ /**
62
+ * Default carrier product ID for auto-shipping.
63
+ * @type {string}
64
+ * @memberof UpdateOrderChannelRequestSettings
65
+ */
66
+ defaultProductId?: string | null;
67
+ /**
68
+ * Default sender address ID for auto-shipping.
69
+ * @type {string}
70
+ * @memberof UpdateOrderChannelRequestSettings
71
+ */
72
+ defaultAddressId?: string | null;
73
+ /**
74
+ * Map imported shipping-method titles to shipping rules, for channels without checkout rate integration.
75
+ * @type {Array<CreateOrderChannelRequestSettingsShippingMethodMappingsInner>}
76
+ * @memberof UpdateOrderChannelRequestSettings
77
+ */
78
+ shippingMethodMappings?: Array<CreateOrderChannelRequestSettingsShippingMethodMappingsInner>;
79
+ /**
80
+ * Only import orders that are not yet fulfilled.
81
+ * @type {boolean}
82
+ * @memberof UpdateOrderChannelRequestSettings
83
+ */
84
+ syncOnlyUnfulfilled?: boolean;
85
+ /**
86
+ * Only sync orders placed at or after this timestamp.
87
+ * @type {Date}
88
+ * @memberof UpdateOrderChannelRequestSettings
89
+ */
90
+ syncOrdersSince?: Date | null;
91
+ /**
92
+ * Number of service points to show at checkout (1-20).
93
+ * @type {number}
94
+ * @memberof UpdateOrderChannelRequestSettings
95
+ */
96
+ servicePointCount?: number;
97
+ }
98
+ /**
99
+ * Check if a given object implements the UpdateOrderChannelRequestSettings interface.
100
+ */
101
+ export declare function instanceOfUpdateOrderChannelRequestSettings(value: object): value is UpdateOrderChannelRequestSettings;
102
+ export declare function UpdateOrderChannelRequestSettingsFromJSON(json: any): UpdateOrderChannelRequestSettings;
103
+ export declare function UpdateOrderChannelRequestSettingsFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateOrderChannelRequestSettings;
104
+ export declare function UpdateOrderChannelRequestSettingsToJSON(json: any): UpdateOrderChannelRequestSettings;
105
+ export declare function UpdateOrderChannelRequestSettingsToJSONTyped(value?: UpdateOrderChannelRequestSettings | null, ignoreDiscriminator?: boolean): any;