@zippendo/sdk 1.2.3 → 1.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apis/OrderChannelsApi.d.ts +195 -0
- package/dist/apis/OrderChannelsApi.js +496 -0
- package/dist/apis/index.d.ts +1 -0
- package/dist/apis/index.js +1 -0
- package/dist/esm/apis/OrderChannelsApi.d.ts +195 -0
- package/dist/esm/apis/OrderChannelsApi.js +492 -0
- package/dist/esm/apis/index.d.ts +1 -0
- package/dist/esm/apis/index.js +1 -0
- package/dist/esm/models/BatchSendShipments200ResponseResultsInner.d.ts +1 -0
- package/dist/esm/models/BatchSendShipments200ResponseResultsInner.js +1 -0
- package/dist/esm/models/CreateOrderChannelRequest.d.ts +65 -0
- package/dist/esm/models/CreateOrderChannelRequest.js +61 -0
- package/dist/esm/models/CreateOrderChannelRequestSettings.d.ts +105 -0
- package/dist/esm/models/CreateOrderChannelRequestSettings.js +66 -0
- package/dist/esm/models/CreateOrderChannelRequestSettingsShippingMethodMappingsInner.d.ts +52 -0
- package/dist/esm/models/CreateOrderChannelRequestSettingsShippingMethodMappingsInner.js +56 -0
- package/dist/esm/models/CreateOrderChannelWebhookSecret201Response.d.ts +44 -0
- package/dist/esm/models/CreateOrderChannelWebhookSecret201Response.js +51 -0
- package/dist/esm/models/CreateOrderRequest.d.ts +12 -0
- package/dist/esm/models/CreateOrderRequest.js +4 -0
- package/dist/esm/models/GetOrderChannelWebhookStatus200Response.d.ts +45 -0
- package/dist/esm/models/GetOrderChannelWebhookStatus200Response.js +52 -0
- package/dist/esm/models/GetOrderChannelWebhookStatus200ResponseWebhooksInner.d.ts +62 -0
- package/dist/esm/models/GetOrderChannelWebhookStatus200ResponseWebhooksInner.js +59 -0
- package/dist/esm/models/ListApiTokens401Response.d.ts +1 -0
- package/dist/esm/models/ListApiTokens401Response.js +1 -0
- package/dist/esm/models/ListAvailableCarriers200ResponseInner.d.ts +12 -0
- package/dist/esm/models/ListAvailableCarriers200ResponseInner.js +4 -0
- package/dist/esm/models/ListCarriers200ResponseDataInner.d.ts +12 -0
- package/dist/esm/models/ListCarriers200ResponseDataInner.js +4 -0
- package/dist/esm/models/ListOrderChannels200Response.d.ts +57 -0
- package/dist/esm/models/ListOrderChannels200Response.js +60 -0
- package/dist/esm/models/ListOrderChannels200ResponseDataInner.d.ts +121 -0
- package/dist/esm/models/ListOrderChannels200ResponseDataInner.js +97 -0
- package/dist/esm/models/ListOrderChannels200ResponseDataInnerSettings.d.ts +129 -0
- package/dist/esm/models/ListOrderChannels200ResponseDataInnerSettings.js +86 -0
- package/dist/esm/models/ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner.d.ts +52 -0
- package/dist/esm/models/ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner.js +56 -0
- package/dist/esm/models/ListOrders200ResponseDataInnerOrderChannel.d.ts +1 -0
- package/dist/esm/models/ListOrders200ResponseDataInnerOrderChannel.js +2 -1
- package/dist/esm/models/RevokeOrderChannelWebhookSecret200Response.d.ts +32 -0
- package/dist/esm/models/RevokeOrderChannelWebhookSecret200Response.js +43 -0
- package/dist/esm/models/SendShipment422Response.d.ts +1 -0
- package/dist/esm/models/SendShipment422Response.js +1 -0
- package/dist/esm/models/UpdateOrderChannelRequest.d.ts +65 -0
- package/dist/esm/models/UpdateOrderChannelRequest.js +52 -0
- package/dist/esm/models/UpdateOrderChannelRequestSettings.d.ts +105 -0
- package/dist/esm/models/UpdateOrderChannelRequestSettings.js +66 -0
- package/dist/esm/models/index.d.ts +13 -0
- package/dist/esm/models/index.js +13 -0
- package/dist/models/BatchSendShipments200ResponseResultsInner.d.ts +1 -0
- package/dist/models/BatchSendShipments200ResponseResultsInner.js +1 -0
- package/dist/models/CreateOrderChannelRequest.d.ts +65 -0
- package/dist/models/CreateOrderChannelRequest.js +69 -0
- package/dist/models/CreateOrderChannelRequestSettings.d.ts +105 -0
- package/dist/models/CreateOrderChannelRequestSettings.js +73 -0
- package/dist/models/CreateOrderChannelRequestSettingsShippingMethodMappingsInner.d.ts +52 -0
- package/dist/models/CreateOrderChannelRequestSettingsShippingMethodMappingsInner.js +64 -0
- package/dist/models/CreateOrderChannelWebhookSecret201Response.d.ts +44 -0
- package/dist/models/CreateOrderChannelWebhookSecret201Response.js +58 -0
- package/dist/models/CreateOrderRequest.d.ts +12 -0
- package/dist/models/CreateOrderRequest.js +4 -0
- package/dist/models/GetOrderChannelWebhookStatus200Response.d.ts +45 -0
- package/dist/models/GetOrderChannelWebhookStatus200Response.js +59 -0
- package/dist/models/GetOrderChannelWebhookStatus200ResponseWebhooksInner.d.ts +62 -0
- package/dist/models/GetOrderChannelWebhookStatus200ResponseWebhooksInner.js +66 -0
- package/dist/models/ListApiTokens401Response.d.ts +1 -0
- package/dist/models/ListApiTokens401Response.js +1 -0
- package/dist/models/ListAvailableCarriers200ResponseInner.d.ts +12 -0
- package/dist/models/ListAvailableCarriers200ResponseInner.js +4 -0
- package/dist/models/ListCarriers200ResponseDataInner.d.ts +12 -0
- package/dist/models/ListCarriers200ResponseDataInner.js +4 -0
- package/dist/models/ListOrderChannels200Response.d.ts +57 -0
- package/dist/models/ListOrderChannels200Response.js +67 -0
- package/dist/models/ListOrderChannels200ResponseDataInner.d.ts +121 -0
- package/dist/models/ListOrderChannels200ResponseDataInner.js +105 -0
- package/dist/models/ListOrderChannels200ResponseDataInnerSettings.d.ts +129 -0
- package/dist/models/ListOrderChannels200ResponseDataInnerSettings.js +93 -0
- package/dist/models/ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner.d.ts +52 -0
- package/dist/models/ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner.js +64 -0
- package/dist/models/ListOrders200ResponseDataInnerOrderChannel.d.ts +1 -0
- package/dist/models/ListOrders200ResponseDataInnerOrderChannel.js +2 -1
- package/dist/models/RevokeOrderChannelWebhookSecret200Response.d.ts +32 -0
- package/dist/models/RevokeOrderChannelWebhookSecret200Response.js +50 -0
- package/dist/models/SendShipment422Response.d.ts +1 -0
- package/dist/models/SendShipment422Response.js +1 -0
- package/dist/models/UpdateOrderChannelRequest.d.ts +65 -0
- package/dist/models/UpdateOrderChannelRequest.js +59 -0
- package/dist/models/UpdateOrderChannelRequestSettings.d.ts +105 -0
- package/dist/models/UpdateOrderChannelRequestSettings.js +73 -0
- package/dist/models/index.d.ts +13 -0
- package/dist/models/index.js +13 -0
- package/docs/CreateOrderChannelRequest.md +42 -0
- package/docs/CreateOrderChannelRequestSettings.md +58 -0
- package/docs/CreateOrderChannelRequestSettingsShippingMethodMappingsInner.md +38 -0
- package/docs/CreateOrderChannelWebhookSecret201Response.md +38 -0
- package/docs/CreateOrderRequest.md +4 -0
- package/docs/GetOrderChannelWebhookStatus200Response.md +38 -0
- package/docs/GetOrderChannelWebhookStatus200ResponseWebhooksInner.md +44 -0
- package/docs/ListAvailableCarriers200ResponseInner.md +4 -0
- package/docs/ListCarriers200ResponseDataInner.md +4 -0
- package/docs/ListOrderChannels200Response.md +42 -0
- package/docs/ListOrderChannels200ResponseDataInner.md +60 -0
- package/docs/ListOrderChannels200ResponseDataInnerSettings.md +67 -0
- package/docs/ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner.md +38 -0
- package/docs/OrderChannelsApi.md +650 -0
- package/docs/OrdersApi.md +1 -0
- package/docs/RevokeOrderChannelWebhookSecret200Response.md +34 -0
- package/docs/UpdateOrderChannelRequest.md +44 -0
- package/docs/UpdateOrderChannelRequestSettings.md +59 -0
- package/package.json +1 -1
- package/src/apis/OrderChannelsApi.ts +670 -0
- package/src/apis/index.ts +1 -0
- package/src/models/BatchSendShipments200ResponseResultsInner.ts +1 -0
- package/src/models/CreateOrderChannelRequest.ts +118 -0
- package/src/models/CreateOrderChannelRequestSettings.ts +169 -0
- package/src/models/CreateOrderChannelRequestSettingsShippingMethodMappingsInner.ts +94 -0
- package/src/models/CreateOrderChannelWebhookSecret201Response.ts +84 -0
- package/src/models/CreateOrderRequest.ts +16 -0
- package/src/models/GetOrderChannelWebhookStatus200Response.ts +92 -0
- package/src/models/GetOrderChannelWebhookStatus200ResponseWebhooksInner.ts +109 -0
- package/src/models/ListApiTokens401Response.ts +1 -0
- package/src/models/ListAvailableCarriers200ResponseInner.ts +16 -0
- package/src/models/ListCarriers200ResponseDataInner.ts +16 -0
- package/src/models/ListOrderChannels200Response.ts +110 -0
- package/src/models/ListOrderChannels200ResponseDataInner.ts +200 -0
- package/src/models/ListOrderChannels200ResponseDataInnerSettings.ts +207 -0
- package/src/models/ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner.ts +94 -0
- package/src/models/ListOrders200ResponseDataInnerOrderChannel.ts +2 -1
- package/src/models/RevokeOrderChannelWebhookSecret200Response.ts +66 -0
- package/src/models/SendShipment422Response.ts +1 -0
- package/src/models/UpdateOrderChannelRequest.ts +113 -0
- package/src/models/UpdateOrderChannelRequestSettings.ts +169 -0
- package/src/models/index.ts +13 -0
|
@@ -0,0 +1,59 @@
|
|
|
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 GetOrderChannelWebhookStatus200ResponseWebhooksInner interface.
|
|
16
|
+
*/
|
|
17
|
+
export function instanceOfGetOrderChannelWebhookStatus200ResponseWebhooksInner(value) {
|
|
18
|
+
if (!('id' in value) || value['id'] === undefined)
|
|
19
|
+
return false;
|
|
20
|
+
if (!('topic' in value) || value['topic'] === undefined)
|
|
21
|
+
return false;
|
|
22
|
+
if (!('address' in value) || value['address'] === undefined)
|
|
23
|
+
return false;
|
|
24
|
+
if (!('createdAt' in value) || value['createdAt'] === undefined)
|
|
25
|
+
return false;
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
export function GetOrderChannelWebhookStatus200ResponseWebhooksInnerFromJSON(json) {
|
|
29
|
+
return GetOrderChannelWebhookStatus200ResponseWebhooksInnerFromJSONTyped(json, false);
|
|
30
|
+
}
|
|
31
|
+
export function GetOrderChannelWebhookStatus200ResponseWebhooksInnerFromJSONTyped(json, ignoreDiscriminator) {
|
|
32
|
+
if (json == null) {
|
|
33
|
+
return json;
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
'id': json['id'],
|
|
37
|
+
'topic': json['topic'],
|
|
38
|
+
'address': json['address'],
|
|
39
|
+
'createdAt': json['createdAt'],
|
|
40
|
+
'deliveryUrl': json['deliveryUrl'] == null ? undefined : json['deliveryUrl'],
|
|
41
|
+
'status': json['status'] == null ? undefined : json['status'],
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export function GetOrderChannelWebhookStatus200ResponseWebhooksInnerToJSON(json) {
|
|
45
|
+
return GetOrderChannelWebhookStatus200ResponseWebhooksInnerToJSONTyped(json, false);
|
|
46
|
+
}
|
|
47
|
+
export function GetOrderChannelWebhookStatus200ResponseWebhooksInnerToJSONTyped(value, ignoreDiscriminator = false) {
|
|
48
|
+
if (value == null) {
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
'id': value['id'],
|
|
53
|
+
'topic': value['topic'],
|
|
54
|
+
'address': value['address'],
|
|
55
|
+
'createdAt': value['createdAt'],
|
|
56
|
+
'deliveryUrl': value['deliveryUrl'],
|
|
57
|
+
'status': value['status'],
|
|
58
|
+
};
|
|
59
|
+
}
|
|
@@ -133,6 +133,7 @@ export declare const ListApiTokens401ResponseCodeEnum: {
|
|
|
133
133
|
readonly ShippingRuleInvalid: "SHIPPING_RULE_INVALID";
|
|
134
134
|
readonly AddressNotFound: "ADDRESS_NOT_FOUND";
|
|
135
135
|
readonly OrderNotFound: "ORDER_NOT_FOUND";
|
|
136
|
+
readonly OrderExists: "ORDER_EXISTS";
|
|
136
137
|
readonly OrderChannelNotFound: "ORDER_CHANNEL_NOT_FOUND";
|
|
137
138
|
readonly OrderChannelConfigInvalid: "ORDER_CHANNEL_CONFIG_INVALID";
|
|
138
139
|
readonly IntegrationNotConfigured: "INTEGRATION_NOT_CONFIGURED";
|
|
@@ -110,6 +110,7 @@ export const ListApiTokens401ResponseCodeEnum = {
|
|
|
110
110
|
ShippingRuleInvalid: 'SHIPPING_RULE_INVALID',
|
|
111
111
|
AddressNotFound: 'ADDRESS_NOT_FOUND',
|
|
112
112
|
OrderNotFound: 'ORDER_NOT_FOUND',
|
|
113
|
+
OrderExists: 'ORDER_EXISTS',
|
|
113
114
|
OrderChannelNotFound: 'ORDER_CHANNEL_NOT_FOUND',
|
|
114
115
|
OrderChannelConfigInvalid: 'ORDER_CHANNEL_CONFIG_INVALID',
|
|
115
116
|
IntegrationNotConfigured: 'INTEGRATION_NOT_CONFIGURED',
|
|
@@ -82,6 +82,18 @@ export interface ListAvailableCarriers200ResponseInner {
|
|
|
82
82
|
* @memberof ListAvailableCarriers200ResponseInner
|
|
83
83
|
*/
|
|
84
84
|
deprecationMessage?: string;
|
|
85
|
+
/**
|
|
86
|
+
* Whether the carrier produces the customs declaration (CN22/CN23) itself and returns it with the label.
|
|
87
|
+
* @type {boolean}
|
|
88
|
+
* @memberof ListAvailableCarriers200ResponseInner
|
|
89
|
+
*/
|
|
90
|
+
generatesCustomsDocuments?: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Whether the carrier produces the commercial invoice itself and returns it with the label, e.g. via electronic trade documents.
|
|
93
|
+
* @type {boolean}
|
|
94
|
+
* @memberof ListAvailableCarriers200ResponseInner
|
|
95
|
+
*/
|
|
96
|
+
generatesCommercialInvoice?: boolean;
|
|
85
97
|
}
|
|
86
98
|
/**
|
|
87
99
|
* Check if a given object implements the ListAvailableCarriers200ResponseInner interface.
|
|
@@ -41,6 +41,8 @@ export function ListAvailableCarriers200ResponseInnerFromJSONTyped(json, ignoreD
|
|
|
41
41
|
'optionalFields': json['optionalFields'] == null ? undefined : (json['optionalFields'].map(ListAvailableCarriers200ResponseInnerRequiredFieldsInnerFromJSON)),
|
|
42
42
|
'deprecated': json['deprecated'] == null ? undefined : json['deprecated'],
|
|
43
43
|
'deprecationMessage': json['deprecationMessage'] == null ? undefined : json['deprecationMessage'],
|
|
44
|
+
'generatesCustomsDocuments': json['generatesCustomsDocuments'] == null ? undefined : json['generatesCustomsDocuments'],
|
|
45
|
+
'generatesCommercialInvoice': json['generatesCommercialInvoice'] == null ? undefined : json['generatesCommercialInvoice'],
|
|
44
46
|
};
|
|
45
47
|
}
|
|
46
48
|
export function ListAvailableCarriers200ResponseInnerToJSON(json) {
|
|
@@ -62,5 +64,7 @@ export function ListAvailableCarriers200ResponseInnerToJSONTyped(value, ignoreDi
|
|
|
62
64
|
'optionalFields': value['optionalFields'] == null ? undefined : (value['optionalFields'].map(ListAvailableCarriers200ResponseInnerRequiredFieldsInnerToJSON)),
|
|
63
65
|
'deprecated': value['deprecated'],
|
|
64
66
|
'deprecationMessage': value['deprecationMessage'],
|
|
67
|
+
'generatesCustomsDocuments': value['generatesCustomsDocuments'],
|
|
68
|
+
'generatesCommercialInvoice': value['generatesCommercialInvoice'],
|
|
65
69
|
};
|
|
66
70
|
}
|
|
@@ -90,6 +90,18 @@ export interface ListCarriers200ResponseDataInner {
|
|
|
90
90
|
* @memberof ListCarriers200ResponseDataInner
|
|
91
91
|
*/
|
|
92
92
|
deprecationMessage?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Whether the carrier produces the customs declaration (CN22/CN23) itself and returns it with the label.
|
|
95
|
+
* @type {boolean}
|
|
96
|
+
* @memberof ListCarriers200ResponseDataInner
|
|
97
|
+
*/
|
|
98
|
+
generatesCustomsDocuments?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Whether the carrier produces the commercial invoice itself and returns it with the label, e.g. via electronic trade documents.
|
|
101
|
+
* @type {boolean}
|
|
102
|
+
* @memberof ListCarriers200ResponseDataInner
|
|
103
|
+
*/
|
|
104
|
+
generatesCommercialInvoice?: boolean;
|
|
93
105
|
}
|
|
94
106
|
/**
|
|
95
107
|
* Check if a given object implements the ListCarriers200ResponseDataInner interface.
|
|
@@ -55,6 +55,8 @@ export function ListCarriers200ResponseDataInnerFromJSONTyped(json, ignoreDiscri
|
|
|
55
55
|
'brandColor': json['brandColor'] == null ? undefined : json['brandColor'],
|
|
56
56
|
'deprecated': json['deprecated'] == null ? undefined : json['deprecated'],
|
|
57
57
|
'deprecationMessage': json['deprecationMessage'] == null ? undefined : json['deprecationMessage'],
|
|
58
|
+
'generatesCustomsDocuments': json['generatesCustomsDocuments'] == null ? undefined : json['generatesCustomsDocuments'],
|
|
59
|
+
'generatesCommercialInvoice': json['generatesCommercialInvoice'] == null ? undefined : json['generatesCommercialInvoice'],
|
|
58
60
|
};
|
|
59
61
|
}
|
|
60
62
|
export function ListCarriers200ResponseDataInnerToJSON(json) {
|
|
@@ -77,5 +79,7 @@ export function ListCarriers200ResponseDataInnerToJSONTyped(value, ignoreDiscrim
|
|
|
77
79
|
'brandColor': value['brandColor'],
|
|
78
80
|
'deprecated': value['deprecated'],
|
|
79
81
|
'deprecationMessage': value['deprecationMessage'],
|
|
82
|
+
'generatesCustomsDocuments': value['generatesCustomsDocuments'],
|
|
83
|
+
'generatesCommercialInvoice': value['generatesCommercialInvoice'],
|
|
80
84
|
};
|
|
81
85
|
}
|
|
@@ -0,0 +1,57 @@
|
|
|
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 { ListOrderChannels200ResponseDataInner } from './ListOrderChannels200ResponseDataInner';
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @export
|
|
16
|
+
* @interface ListOrderChannels200Response
|
|
17
|
+
*/
|
|
18
|
+
export interface ListOrderChannels200Response {
|
|
19
|
+
/**
|
|
20
|
+
* Page of results
|
|
21
|
+
* @type {Array<ListOrderChannels200ResponseDataInner>}
|
|
22
|
+
* @memberof ListOrderChannels200Response
|
|
23
|
+
*/
|
|
24
|
+
data: Array<ListOrderChannels200ResponseDataInner>;
|
|
25
|
+
/**
|
|
26
|
+
* Total matching items across all pages
|
|
27
|
+
* @type {number}
|
|
28
|
+
* @memberof ListOrderChannels200Response
|
|
29
|
+
*/
|
|
30
|
+
total: number;
|
|
31
|
+
/**
|
|
32
|
+
* Current page number (1-based)
|
|
33
|
+
* @type {number}
|
|
34
|
+
* @memberof ListOrderChannels200Response
|
|
35
|
+
*/
|
|
36
|
+
page: number;
|
|
37
|
+
/**
|
|
38
|
+
* Items per page
|
|
39
|
+
* @type {number}
|
|
40
|
+
* @memberof ListOrderChannels200Response
|
|
41
|
+
*/
|
|
42
|
+
limit: number;
|
|
43
|
+
/**
|
|
44
|
+
* Total number of pages
|
|
45
|
+
* @type {number}
|
|
46
|
+
* @memberof ListOrderChannels200Response
|
|
47
|
+
*/
|
|
48
|
+
totalPages: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Check if a given object implements the ListOrderChannels200Response interface.
|
|
52
|
+
*/
|
|
53
|
+
export declare function instanceOfListOrderChannels200Response(value: object): value is ListOrderChannels200Response;
|
|
54
|
+
export declare function ListOrderChannels200ResponseFromJSON(json: any): ListOrderChannels200Response;
|
|
55
|
+
export declare function ListOrderChannels200ResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListOrderChannels200Response;
|
|
56
|
+
export declare function ListOrderChannels200ResponseToJSON(json: any): ListOrderChannels200Response;
|
|
57
|
+
export declare function ListOrderChannels200ResponseToJSONTyped(value?: ListOrderChannels200Response | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,60 @@
|
|
|
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 { ListOrderChannels200ResponseDataInnerFromJSON, ListOrderChannels200ResponseDataInnerToJSON, } from './ListOrderChannels200ResponseDataInner';
|
|
15
|
+
/**
|
|
16
|
+
* Check if a given object implements the ListOrderChannels200Response interface.
|
|
17
|
+
*/
|
|
18
|
+
export function instanceOfListOrderChannels200Response(value) {
|
|
19
|
+
if (!('data' in value) || value['data'] === undefined)
|
|
20
|
+
return false;
|
|
21
|
+
if (!('total' in value) || value['total'] === undefined)
|
|
22
|
+
return false;
|
|
23
|
+
if (!('page' in value) || value['page'] === undefined)
|
|
24
|
+
return false;
|
|
25
|
+
if (!('limit' in value) || value['limit'] === undefined)
|
|
26
|
+
return false;
|
|
27
|
+
if (!('totalPages' in value) || value['totalPages'] === undefined)
|
|
28
|
+
return false;
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
export function ListOrderChannels200ResponseFromJSON(json) {
|
|
32
|
+
return ListOrderChannels200ResponseFromJSONTyped(json, false);
|
|
33
|
+
}
|
|
34
|
+
export function ListOrderChannels200ResponseFromJSONTyped(json, ignoreDiscriminator) {
|
|
35
|
+
if (json == null) {
|
|
36
|
+
return json;
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
'data': (json['data'].map(ListOrderChannels200ResponseDataInnerFromJSON)),
|
|
40
|
+
'total': json['total'],
|
|
41
|
+
'page': json['page'],
|
|
42
|
+
'limit': json['limit'],
|
|
43
|
+
'totalPages': json['totalPages'],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export function ListOrderChannels200ResponseToJSON(json) {
|
|
47
|
+
return ListOrderChannels200ResponseToJSONTyped(json, false);
|
|
48
|
+
}
|
|
49
|
+
export function ListOrderChannels200ResponseToJSONTyped(value, ignoreDiscriminator = false) {
|
|
50
|
+
if (value == null) {
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
'data': (value['data'].map(ListOrderChannels200ResponseDataInnerToJSON)),
|
|
55
|
+
'total': value['total'],
|
|
56
|
+
'page': value['page'],
|
|
57
|
+
'limit': value['limit'],
|
|
58
|
+
'totalPages': value['totalPages'],
|
|
59
|
+
};
|
|
60
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
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 { ListOrderChannels200ResponseDataInnerSettings } from './ListOrderChannels200ResponseDataInnerSettings';
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @export
|
|
16
|
+
* @interface ListOrderChannels200ResponseDataInner
|
|
17
|
+
*/
|
|
18
|
+
export interface ListOrderChannels200ResponseDataInner {
|
|
19
|
+
/**
|
|
20
|
+
* Unique order channel ID.
|
|
21
|
+
* @type {string}
|
|
22
|
+
* @memberof ListOrderChannels200ResponseDataInner
|
|
23
|
+
*/
|
|
24
|
+
id: string;
|
|
25
|
+
/**
|
|
26
|
+
* Display name of the channel.
|
|
27
|
+
* @type {string}
|
|
28
|
+
* @memberof ListOrderChannels200ResponseDataInner
|
|
29
|
+
*/
|
|
30
|
+
name: string;
|
|
31
|
+
/**
|
|
32
|
+
* Type of the order channel (sales platform).
|
|
33
|
+
* @type {ListOrderChannels200ResponseDataInnerTypeEnum}
|
|
34
|
+
* @memberof ListOrderChannels200ResponseDataInner
|
|
35
|
+
*/
|
|
36
|
+
type: ListOrderChannels200ResponseDataInnerTypeEnum;
|
|
37
|
+
/**
|
|
38
|
+
* Whether the channel is active.
|
|
39
|
+
* @type {boolean}
|
|
40
|
+
* @memberof ListOrderChannels200ResponseDataInner
|
|
41
|
+
*/
|
|
42
|
+
enabled: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Brand this channel belongs to, or null for organization-wide. Orders synced from this channel inherit it, and so do the shipments and documents made from them.
|
|
45
|
+
* @type {string}
|
|
46
|
+
* @memberof ListOrderChannels200ResponseDataInner
|
|
47
|
+
*/
|
|
48
|
+
brandId: string | null;
|
|
49
|
+
/**
|
|
50
|
+
* Whether credentials are configured (values are never exposed).
|
|
51
|
+
* @type {boolean}
|
|
52
|
+
* @memberof ListOrderChannels200ResponseDataInner
|
|
53
|
+
*/
|
|
54
|
+
hasCredentials: boolean;
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* @type {ListOrderChannels200ResponseDataInnerSettings}
|
|
58
|
+
* @memberof ListOrderChannels200ResponseDataInner
|
|
59
|
+
*/
|
|
60
|
+
settings: ListOrderChannels200ResponseDataInnerSettings;
|
|
61
|
+
/**
|
|
62
|
+
* Whether real-time webhooks are enabled.
|
|
63
|
+
* @type {boolean}
|
|
64
|
+
* @memberof ListOrderChannels200ResponseDataInner
|
|
65
|
+
*/
|
|
66
|
+
webhooksEnabled?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Timestamp of the last successful sync.
|
|
69
|
+
* @type {Date}
|
|
70
|
+
* @memberof ListOrderChannels200ResponseDataInner
|
|
71
|
+
*/
|
|
72
|
+
lastSyncAt?: Date | null;
|
|
73
|
+
/**
|
|
74
|
+
* Error message from the last failed sync.
|
|
75
|
+
* @type {string}
|
|
76
|
+
* @memberof ListOrderChannels200ResponseDataInner
|
|
77
|
+
*/
|
|
78
|
+
lastSyncError?: string | null;
|
|
79
|
+
/**
|
|
80
|
+
* IDs of shipping rules linked to this channel.
|
|
81
|
+
* @type {Array<string>}
|
|
82
|
+
* @memberof ListOrderChannels200ResponseDataInner
|
|
83
|
+
*/
|
|
84
|
+
shippingRuleIds?: Array<string>;
|
|
85
|
+
/**
|
|
86
|
+
* Owning organization ID.
|
|
87
|
+
* @type {string}
|
|
88
|
+
* @memberof ListOrderChannels200ResponseDataInner
|
|
89
|
+
*/
|
|
90
|
+
orgId: string;
|
|
91
|
+
/**
|
|
92
|
+
* Creation timestamp (ISO 8601).
|
|
93
|
+
* @type {string}
|
|
94
|
+
* @memberof ListOrderChannels200ResponseDataInner
|
|
95
|
+
*/
|
|
96
|
+
createdAt: string;
|
|
97
|
+
/**
|
|
98
|
+
* Last update timestamp (ISO 8601).
|
|
99
|
+
* @type {string}
|
|
100
|
+
* @memberof ListOrderChannels200ResponseDataInner
|
|
101
|
+
*/
|
|
102
|
+
updatedAt: string;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* @export
|
|
106
|
+
*/
|
|
107
|
+
export declare const ListOrderChannels200ResponseDataInnerTypeEnum: {
|
|
108
|
+
readonly Shopify: "shopify";
|
|
109
|
+
readonly Woocommerce: "woocommerce";
|
|
110
|
+
readonly Manual: "manual";
|
|
111
|
+
readonly Custom: "custom";
|
|
112
|
+
};
|
|
113
|
+
export type ListOrderChannels200ResponseDataInnerTypeEnum = typeof ListOrderChannels200ResponseDataInnerTypeEnum[keyof typeof ListOrderChannels200ResponseDataInnerTypeEnum];
|
|
114
|
+
/**
|
|
115
|
+
* Check if a given object implements the ListOrderChannels200ResponseDataInner interface.
|
|
116
|
+
*/
|
|
117
|
+
export declare function instanceOfListOrderChannels200ResponseDataInner(value: object): value is ListOrderChannels200ResponseDataInner;
|
|
118
|
+
export declare function ListOrderChannels200ResponseDataInnerFromJSON(json: any): ListOrderChannels200ResponseDataInner;
|
|
119
|
+
export declare function ListOrderChannels200ResponseDataInnerFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListOrderChannels200ResponseDataInner;
|
|
120
|
+
export declare function ListOrderChannels200ResponseDataInnerToJSON(json: any): ListOrderChannels200ResponseDataInner;
|
|
121
|
+
export declare function ListOrderChannels200ResponseDataInnerToJSONTyped(value?: ListOrderChannels200ResponseDataInner | null, ignoreDiscriminator?: boolean): any;
|
|
@@ -0,0 +1,97 @@
|
|
|
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 { ListOrderChannels200ResponseDataInnerSettingsFromJSON, ListOrderChannels200ResponseDataInnerSettingsToJSON, } from './ListOrderChannels200ResponseDataInnerSettings';
|
|
15
|
+
/**
|
|
16
|
+
* @export
|
|
17
|
+
*/
|
|
18
|
+
export const ListOrderChannels200ResponseDataInnerTypeEnum = {
|
|
19
|
+
Shopify: 'shopify',
|
|
20
|
+
Woocommerce: 'woocommerce',
|
|
21
|
+
Manual: 'manual',
|
|
22
|
+
Custom: 'custom'
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Check if a given object implements the ListOrderChannels200ResponseDataInner interface.
|
|
26
|
+
*/
|
|
27
|
+
export function instanceOfListOrderChannels200ResponseDataInner(value) {
|
|
28
|
+
if (!('id' in value) || value['id'] === undefined)
|
|
29
|
+
return false;
|
|
30
|
+
if (!('name' in value) || value['name'] === undefined)
|
|
31
|
+
return false;
|
|
32
|
+
if (!('type' in value) || value['type'] === undefined)
|
|
33
|
+
return false;
|
|
34
|
+
if (!('enabled' in value) || value['enabled'] === undefined)
|
|
35
|
+
return false;
|
|
36
|
+
if (!('brandId' in value) || value['brandId'] === undefined)
|
|
37
|
+
return false;
|
|
38
|
+
if (!('hasCredentials' in value) || value['hasCredentials'] === undefined)
|
|
39
|
+
return false;
|
|
40
|
+
if (!('settings' in value) || value['settings'] === undefined)
|
|
41
|
+
return false;
|
|
42
|
+
if (!('orgId' in value) || value['orgId'] === undefined)
|
|
43
|
+
return false;
|
|
44
|
+
if (!('createdAt' in value) || value['createdAt'] === undefined)
|
|
45
|
+
return false;
|
|
46
|
+
if (!('updatedAt' in value) || value['updatedAt'] === undefined)
|
|
47
|
+
return false;
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
export function ListOrderChannels200ResponseDataInnerFromJSON(json) {
|
|
51
|
+
return ListOrderChannels200ResponseDataInnerFromJSONTyped(json, false);
|
|
52
|
+
}
|
|
53
|
+
export function ListOrderChannels200ResponseDataInnerFromJSONTyped(json, ignoreDiscriminator) {
|
|
54
|
+
if (json == null) {
|
|
55
|
+
return json;
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
'id': json['id'],
|
|
59
|
+
'name': json['name'],
|
|
60
|
+
'type': json['type'],
|
|
61
|
+
'enabled': json['enabled'],
|
|
62
|
+
'brandId': json['brandId'],
|
|
63
|
+
'hasCredentials': json['hasCredentials'],
|
|
64
|
+
'settings': ListOrderChannels200ResponseDataInnerSettingsFromJSON(json['settings']),
|
|
65
|
+
'webhooksEnabled': json['webhooksEnabled'] == null ? undefined : json['webhooksEnabled'],
|
|
66
|
+
'lastSyncAt': json['lastSyncAt'] === undefined ? undefined : json['lastSyncAt'] === null ? null : (new Date(json['lastSyncAt'])),
|
|
67
|
+
'lastSyncError': json['lastSyncError'] === undefined ? undefined : json['lastSyncError'] === null ? null : json['lastSyncError'],
|
|
68
|
+
'shippingRuleIds': json['shippingRuleIds'] == null ? undefined : json['shippingRuleIds'],
|
|
69
|
+
'orgId': json['orgId'],
|
|
70
|
+
'createdAt': json['createdAt'],
|
|
71
|
+
'updatedAt': json['updatedAt'],
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
export function ListOrderChannels200ResponseDataInnerToJSON(json) {
|
|
75
|
+
return ListOrderChannels200ResponseDataInnerToJSONTyped(json, false);
|
|
76
|
+
}
|
|
77
|
+
export function ListOrderChannels200ResponseDataInnerToJSONTyped(value, ignoreDiscriminator = false) {
|
|
78
|
+
if (value == null) {
|
|
79
|
+
return value;
|
|
80
|
+
}
|
|
81
|
+
return {
|
|
82
|
+
'id': value['id'],
|
|
83
|
+
'name': value['name'],
|
|
84
|
+
'type': value['type'],
|
|
85
|
+
'enabled': value['enabled'],
|
|
86
|
+
'brandId': value['brandId'],
|
|
87
|
+
'hasCredentials': value['hasCredentials'],
|
|
88
|
+
'settings': ListOrderChannels200ResponseDataInnerSettingsToJSON(value['settings']),
|
|
89
|
+
'webhooksEnabled': value['webhooksEnabled'],
|
|
90
|
+
'lastSyncAt': value['lastSyncAt'] == null ? value['lastSyncAt'] : value['lastSyncAt'].toISOString(),
|
|
91
|
+
'lastSyncError': value['lastSyncError'],
|
|
92
|
+
'shippingRuleIds': value['shippingRuleIds'],
|
|
93
|
+
'orgId': value['orgId'],
|
|
94
|
+
'createdAt': value['createdAt'],
|
|
95
|
+
'updatedAt': value['updatedAt'],
|
|
96
|
+
};
|
|
97
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
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 { ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner } from './ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner';
|
|
13
|
+
/**
|
|
14
|
+
* Channel settings (webhook secret and checkout token hash omitted).
|
|
15
|
+
* @export
|
|
16
|
+
* @interface ListOrderChannels200ResponseDataInnerSettings
|
|
17
|
+
*/
|
|
18
|
+
export interface ListOrderChannels200ResponseDataInnerSettings {
|
|
19
|
+
/**
|
|
20
|
+
* Use webhooks for real-time order sync.
|
|
21
|
+
* @type {boolean}
|
|
22
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
23
|
+
*/
|
|
24
|
+
useWebhooks: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* External webhook identifier for management.
|
|
27
|
+
* @type {string}
|
|
28
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
29
|
+
*/
|
|
30
|
+
webhookId?: string | null;
|
|
31
|
+
/**
|
|
32
|
+
* Registered WooCommerce webhook ids.
|
|
33
|
+
* @type {Array<number>}
|
|
34
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
35
|
+
*/
|
|
36
|
+
webhookIds?: Array<number>;
|
|
37
|
+
/**
|
|
38
|
+
* When the custom channel's webhook signing secret was issued. A non-secret signal so clients can show that a secret exists; the secret itself is never returned after creation.
|
|
39
|
+
* @type {Date}
|
|
40
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
41
|
+
*/
|
|
42
|
+
webhookSecretCreatedAt?: Date | null;
|
|
43
|
+
/**
|
|
44
|
+
* WooCommerce store URL.
|
|
45
|
+
* @type {string}
|
|
46
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
47
|
+
*/
|
|
48
|
+
siteUrl?: string;
|
|
49
|
+
/**
|
|
50
|
+
* 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.
|
|
51
|
+
* @type {boolean}
|
|
52
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
53
|
+
*/
|
|
54
|
+
autoFulfill?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* When the checkout token was issued (internal; never exposed in API responses).
|
|
57
|
+
* @type {Date}
|
|
58
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
59
|
+
*/
|
|
60
|
+
checkoutTokenCreatedAt?: Date | null;
|
|
61
|
+
/**
|
|
62
|
+
* Periodically poll the channel for new orders.
|
|
63
|
+
* @type {boolean}
|
|
64
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
65
|
+
*/
|
|
66
|
+
autoSync: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Polling interval in minutes (5-1440).
|
|
69
|
+
* @type {number}
|
|
70
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
71
|
+
*/
|
|
72
|
+
syncIntervalMinutes: number;
|
|
73
|
+
/**
|
|
74
|
+
* Create a shipment automatically when an order arrives.
|
|
75
|
+
* @type {boolean}
|
|
76
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
77
|
+
*/
|
|
78
|
+
autoShipOnCreate: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Default carrier ID for auto-shipping.
|
|
81
|
+
* @type {string}
|
|
82
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
83
|
+
*/
|
|
84
|
+
defaultCarrierId?: string | null;
|
|
85
|
+
/**
|
|
86
|
+
* Default carrier product ID for auto-shipping.
|
|
87
|
+
* @type {string}
|
|
88
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
89
|
+
*/
|
|
90
|
+
defaultProductId?: string | null;
|
|
91
|
+
/**
|
|
92
|
+
* Default sender address ID for auto-shipping.
|
|
93
|
+
* @type {string}
|
|
94
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
95
|
+
*/
|
|
96
|
+
defaultAddressId?: string | null;
|
|
97
|
+
/**
|
|
98
|
+
* Map imported shipping-method titles to shipping rules, for channels without checkout rate integration.
|
|
99
|
+
* @type {Array<ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner>}
|
|
100
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
101
|
+
*/
|
|
102
|
+
shippingMethodMappings?: Array<ListOrderChannels200ResponseDataInnerSettingsShippingMethodMappingsInner>;
|
|
103
|
+
/**
|
|
104
|
+
* Only import orders that are not yet fulfilled.
|
|
105
|
+
* @type {boolean}
|
|
106
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
107
|
+
*/
|
|
108
|
+
syncOnlyUnfulfilled: boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Only sync orders placed at or after this timestamp.
|
|
111
|
+
* @type {Date}
|
|
112
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
113
|
+
*/
|
|
114
|
+
syncOrdersSince?: Date | null;
|
|
115
|
+
/**
|
|
116
|
+
* Number of service points to show at checkout (1-20).
|
|
117
|
+
* @type {number}
|
|
118
|
+
* @memberof ListOrderChannels200ResponseDataInnerSettings
|
|
119
|
+
*/
|
|
120
|
+
servicePointCount: number;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Check if a given object implements the ListOrderChannels200ResponseDataInnerSettings interface.
|
|
124
|
+
*/
|
|
125
|
+
export declare function instanceOfListOrderChannels200ResponseDataInnerSettings(value: object): value is ListOrderChannels200ResponseDataInnerSettings;
|
|
126
|
+
export declare function ListOrderChannels200ResponseDataInnerSettingsFromJSON(json: any): ListOrderChannels200ResponseDataInnerSettings;
|
|
127
|
+
export declare function ListOrderChannels200ResponseDataInnerSettingsFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListOrderChannels200ResponseDataInnerSettings;
|
|
128
|
+
export declare function ListOrderChannels200ResponseDataInnerSettingsToJSON(json: any): ListOrderChannels200ResponseDataInnerSettings;
|
|
129
|
+
export declare function ListOrderChannels200ResponseDataInnerSettingsToJSONTyped(value?: ListOrderChannels200ResponseDataInnerSettings | null, ignoreDiscriminator?: boolean): any;
|