hostinger-api-sdk 1.40.3 → 1.41.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +2 -2
  2. package/api.ts +7273 -3513
  3. package/base.ts +1 -1
  4. package/common.ts +1 -1
  5. package/configuration.ts +2 -2
  6. package/dist/api.d.ts +10977 -8171
  7. package/dist/api.js +1973 -100
  8. package/dist/base.d.ts +1 -1
  9. package/dist/base.js +1 -1
  10. package/dist/common.d.ts +1 -1
  11. package/dist/common.js +1 -1
  12. package/dist/configuration.d.ts +1 -1
  13. package/dist/configuration.js +2 -2
  14. package/dist/esm/api.d.ts +10977 -8171
  15. package/dist/esm/api.js +1969 -109
  16. package/dist/esm/base.d.ts +1 -1
  17. package/dist/esm/base.js +1 -1
  18. package/dist/esm/common.d.ts +1 -1
  19. package/dist/esm/common.js +1 -1
  20. package/dist/esm/configuration.d.ts +1 -1
  21. package/dist/esm/configuration.js +2 -2
  22. package/dist/esm/index.d.ts +1 -1
  23. package/dist/esm/index.js +1 -1
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.js +1 -1
  26. package/docs/EcommerceDiscountsApi.md +129 -0
  27. package/docs/EcommerceListDiscountsV1200Response.md +22 -0
  28. package/docs/EcommerceListProductVariantsV1200Response.md +22 -0
  29. package/docs/EcommerceListProductsV1200Response.md +22 -0
  30. package/docs/EcommerceListStoreOrdersV1200Response.md +22 -0
  31. package/docs/EcommerceOrdersApi.md +269 -0
  32. package/docs/EcommercePaymentsApi.md +114 -0
  33. package/docs/EcommerceProductVariantsApi.md +251 -0
  34. package/docs/EcommerceProductsApi.md +188 -0
  35. package/docs/EcommerceSalesChannelsApi.md +5 -5
  36. package/docs/EcommerceV1DiscountCreateDiscountRequest.md +38 -0
  37. package/docs/EcommerceV1DiscountDiscountResource.md +40 -0
  38. package/docs/EcommerceV1DiscountDiscountResponseResource.md +20 -0
  39. package/docs/EcommerceV1OrderCancelRequest.md +20 -0
  40. package/docs/EcommerceV1OrderFulfillRequest.md +26 -0
  41. package/docs/EcommerceV1OrderFulfillRequestItemsInner.md +22 -0
  42. package/docs/EcommerceV1OrderOrderDetailResource.md +60 -0
  43. package/docs/EcommerceV1OrderOrderDetailResourceBillingAddress.md +37 -0
  44. package/docs/EcommerceV1OrderOrderDetailResourceFulfillmentsInner.md +28 -0
  45. package/docs/EcommerceV1OrderOrderDetailResourceFulfillmentsInnerTrackingInner.md +22 -0
  46. package/docs/EcommerceV1OrderOrderDetailResourceItemsInner.md +36 -0
  47. package/docs/EcommerceV1OrderOrderDetailResourceShippingAddress.md +37 -0
  48. package/docs/EcommerceV1OrderOrderDetailResponseResource.md +20 -0
  49. package/docs/EcommerceV1OrderOrderResource.md +38 -0
  50. package/docs/EcommerceV1OrderOrderResponseResource.md +20 -0
  51. package/docs/EcommerceV1PaymentProviderPaymentProviderConnectLinkResource.md +20 -0
  52. package/docs/EcommerceV1PaymentProviderPaymentProviderConnectLinkResourceData.md +22 -0
  53. package/docs/EcommerceV1PaymentProviderPaymentProviderListResource.md +20 -0
  54. package/docs/EcommerceV1PaymentProviderPaymentProviderListResourceData.md +22 -0
  55. package/docs/EcommerceV1PaymentProviderPaymentProviderListResourceDataAvailableInner.md +28 -0
  56. package/docs/EcommerceV1PaymentProviderPaymentProviderListResourceDataConnectedInner.md +30 -0
  57. package/docs/EcommerceV1ProductProductDeletedResource.md +20 -0
  58. package/docs/EcommerceV1ProductProductDeletedResourceData.md +24 -0
  59. package/docs/EcommerceV1ProductProductResource.md +36 -0
  60. package/docs/EcommerceV1ProductProductResourceMediaInner.md +24 -0
  61. package/docs/EcommerceV1ProductProductResourcePriceRange.md +25 -0
  62. package/docs/EcommerceV1ProductProductResourceVariantsInner.md +32 -0
  63. package/docs/EcommerceV1ProductProductResourceVariantsInnerOptionsInner.md +22 -0
  64. package/docs/EcommerceV1ProductProductResourceVariantsInnerPricesInner.md +24 -0
  65. package/docs/EcommerceV1ProductProductResponseResource.md +20 -0
  66. package/docs/EcommerceV1ProductUpdateRequest.md +24 -0
  67. package/docs/EcommerceV1SalesChannelStoreRequest.md +3 -3
  68. package/docs/EcommerceV1VariantBatchUpdateVariantsRequest.md +20 -0
  69. package/docs/EcommerceV1VariantBatchUpdateVariantsRequestVariantsInner.md +28 -0
  70. package/docs/EcommerceV1VariantBatchUpdateVariantsRequestVariantsInnerPricesInner.md +24 -0
  71. package/docs/EcommerceV1VariantCreateVariantRequest.md +30 -0
  72. package/docs/EcommerceV1VariantCreateVariantRequestOptionsInner.md +22 -0
  73. package/docs/EcommerceV1VariantCreateVariantRequestPricesInner.md +24 -0
  74. package/docs/EcommerceV1VariantVariantDeletedResource.md +20 -0
  75. package/docs/EcommerceV1VariantVariantDeletedResourceData.md +22 -0
  76. package/docs/EcommerceV1VariantVariantListResponseResource.md +20 -0
  77. package/docs/EcommerceV1VariantVariantResource.md +32 -0
  78. package/docs/EcommerceV1VariantVariantResourceOptionsInner.md +22 -0
  79. package/docs/EcommerceV1VariantVariantResponseResource.md +20 -0
  80. package/docs/ReachProfilesApi.md +108 -0
  81. package/docs/ReachSegmentsApi.md +113 -0
  82. package/docs/ReachV1ContactsSegmentsProfileFilterContactsRequest.md +33 -0
  83. package/docs/ReachV1ContactsSegmentsProfileFilterContactsRequestConditionsInner.md +24 -0
  84. package/docs/ReachV1ContactsSegmentsSegmentFilterAttributeResource.md +27 -0
  85. package/docs/ReachV1ContactsSegmentsSegmentFilterAttributesResource.md +23 -0
  86. package/docs/ReachV1ContactsSegmentsSegmentFilterOperatorResource.md +29 -0
  87. package/docs/ReachV1ContactsStoreRequest.md +2 -0
  88. package/docs/ReachV1ProfilesDomainsSendingDomainResource.md +29 -0
  89. package/docs/ReachV1ProfilesDomainsSuspendedSenderEmailResource.md +25 -0
  90. package/docs/ReachV1ProfilesFeaturesPlanFeatureResource.md +25 -0
  91. package/index.ts +1 -1
  92. package/package.json +1 -1
@@ -4,7 +4,65 @@ All URIs are relative to *https://developers.hostinger.com*
4
4
 
5
5
  |Method | HTTP request | Description|
6
6
  |------------- | ------------- | -------------|
7
+ |[**createAPaymentProviderConnectLinkV1**](#createapaymentproviderconnectlinkv1) | **POST** /api/ecommerce/v1/stores/{store_id}/payment-providers/{provider_id}/connect-link | Create a payment provider connect link|
7
8
  |[**enableManualPaymentMethodV1**](#enablemanualpaymentmethodv1) | **POST** /api/ecommerce/v1/stores/{store_id}/payment-methods/manual | Enable manual payment method|
9
+ |[**listStorePaymentProvidersV1**](#liststorepaymentprovidersv1) | **GET** /api/ecommerce/v1/stores/{store_id}/payment-providers | List store payment providers|
10
+
11
+ # **createAPaymentProviderConnectLinkV1**
12
+ > EcommerceV1PaymentProviderPaymentProviderConnectLinkResource createAPaymentProviderConnectLinkV1()
13
+
14
+ Create an onboarding link for connecting a payment gateway to the store. Returns the gateway onboarding URL for the merchant to open and a deep-link into the store admin.
15
+
16
+ ### Example
17
+
18
+ ```typescript
19
+ import {
20
+ EcommercePaymentsApi,
21
+ Configuration
22
+ } from 'hostinger-api-sdk';
23
+
24
+ const configuration = new Configuration();
25
+ const apiInstance = new EcommercePaymentsApi(configuration);
26
+
27
+ let storeId: string; //The ID of the store to connect the payment provider to. (default to undefined)
28
+ let providerId: string; //The ID of the payment gateway to connect, e.g. stripe. (default to undefined)
29
+
30
+ const { status, data } = await apiInstance.createAPaymentProviderConnectLinkV1(
31
+ storeId,
32
+ providerId
33
+ );
34
+ ```
35
+
36
+ ### Parameters
37
+
38
+ |Name | Type | Description | Notes|
39
+ |------------- | ------------- | ------------- | -------------|
40
+ | **storeId** | [**string**] | The ID of the store to connect the payment provider to. | defaults to undefined|
41
+ | **providerId** | [**string**] | The ID of the payment gateway to connect, e.g. stripe. | defaults to undefined|
42
+
43
+
44
+ ### Return type
45
+
46
+ **EcommerceV1PaymentProviderPaymentProviderConnectLinkResource**
47
+
48
+ ### Authorization
49
+
50
+ [apiToken](../README.md#apiToken)
51
+
52
+ ### HTTP request headers
53
+
54
+ - **Content-Type**: Not defined
55
+ - **Accept**: application/json
56
+
57
+
58
+ ### HTTP response details
59
+ | Status code | Description | Response headers |
60
+ |-------------|-------------|------------------|
61
+ |**201** | Created response | - |
62
+ |**401** | Unauthenticated response | - |
63
+ |**500** | Error response | - |
64
+
65
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
8
66
 
9
67
  # **enableManualPaymentMethodV1**
10
68
  > EcommerceV1PaymentManualPaymentResource enableManualPaymentMethodV1(ecommerceV1PaymentEnableManualPaymentRequest)
@@ -64,3 +122,59 @@ const { status, data } = await apiInstance.enableManualPaymentMethodV1(
64
122
 
65
123
  [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
66
124
 
125
+ # **listStorePaymentProvidersV1**
126
+ > EcommerceV1PaymentProviderPaymentProviderListResource listStorePaymentProvidersV1()
127
+
128
+ List a store\'s payment providers, split into providers already connected to the store and gateways available to install. Never exposes gateway credentials, secrets, or configuration.
129
+
130
+ ### Example
131
+
132
+ ```typescript
133
+ import {
134
+ EcommercePaymentsApi,
135
+ Configuration
136
+ } from 'hostinger-api-sdk';
137
+
138
+ const configuration = new Configuration();
139
+ const apiInstance = new EcommercePaymentsApi(configuration);
140
+
141
+ let storeId: string; //The ID of the store to list payment providers for. (default to undefined)
142
+ let includeCurrencyUnsupported: boolean; //Include gateways that do not support the store currency in the available list. (optional) (default to undefined)
143
+
144
+ const { status, data } = await apiInstance.listStorePaymentProvidersV1(
145
+ storeId,
146
+ includeCurrencyUnsupported
147
+ );
148
+ ```
149
+
150
+ ### Parameters
151
+
152
+ |Name | Type | Description | Notes|
153
+ |------------- | ------------- | ------------- | -------------|
154
+ | **storeId** | [**string**] | The ID of the store to list payment providers for. | defaults to undefined|
155
+ | **includeCurrencyUnsupported** | [**boolean**] | Include gateways that do not support the store currency in the available list. | (optional) defaults to undefined|
156
+
157
+
158
+ ### Return type
159
+
160
+ **EcommerceV1PaymentProviderPaymentProviderListResource**
161
+
162
+ ### Authorization
163
+
164
+ [apiToken](../README.md#apiToken)
165
+
166
+ ### HTTP request headers
167
+
168
+ - **Content-Type**: Not defined
169
+ - **Accept**: application/json
170
+
171
+
172
+ ### HTTP response details
173
+ | Status code | Description | Response headers |
174
+ |-------------|-------------|------------------|
175
+ |**200** | Success response | - |
176
+ |**401** | Unauthenticated response | - |
177
+ |**500** | Error response | - |
178
+
179
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
180
+
@@ -0,0 +1,251 @@
1
+ # EcommerceProductVariantsApi
2
+
3
+ All URIs are relative to *https://developers.hostinger.com*
4
+
5
+ |Method | HTTP request | Description|
6
+ |------------- | ------------- | -------------|
7
+ |[**createAProductVariantV1**](#createaproductvariantv1) | **POST** /api/ecommerce/v1/stores/{store_id}/products/{product_id}/variants | Create a product variant|
8
+ |[**deleteAProductVariantV1**](#deleteaproductvariantv1) | **DELETE** /api/ecommerce/v1/stores/{store_id}/products/{product_id}/variants/{variant_id} | Delete a product variant|
9
+ |[**listProductVariantsV1**](#listproductvariantsv1) | **GET** /api/ecommerce/v1/stores/{store_id}/products/{product_id}/variants | List product variants|
10
+ |[**updateProductVariantsInBatchV1**](#updateproductvariantsinbatchv1) | **PATCH** /api/ecommerce/v1/stores/{store_id}/products/{product_id}/variants/batch | Update product variants in batch|
11
+
12
+ # **createAProductVariantV1**
13
+ > EcommerceV1VariantVariantResponseResource createAProductVariantV1(ecommerceV1VariantCreateVariantRequest)
14
+
15
+ Add a variant to a product along one or more option dimensions (e.g. Size, Color). Options missing from the product are created automatically; provide a value for every option the product already has. Prices are integers in the smallest currency unit and default to the store currency. Returns the created variant.
16
+
17
+ ### Example
18
+
19
+ ```typescript
20
+ import {
21
+ EcommerceProductVariantsApi,
22
+ Configuration,
23
+ EcommerceV1VariantCreateVariantRequest
24
+ } from 'hostinger-api-sdk';
25
+
26
+ const configuration = new Configuration();
27
+ const apiInstance = new EcommerceProductVariantsApi(configuration);
28
+
29
+ let storeId: string; //The ID of the store that owns the product. (default to undefined)
30
+ let productId: string; //The ID of the product to add the variant to. (default to undefined)
31
+ let ecommerceV1VariantCreateVariantRequest: EcommerceV1VariantCreateVariantRequest; //
32
+
33
+ const { status, data } = await apiInstance.createAProductVariantV1(
34
+ storeId,
35
+ productId,
36
+ ecommerceV1VariantCreateVariantRequest
37
+ );
38
+ ```
39
+
40
+ ### Parameters
41
+
42
+ |Name | Type | Description | Notes|
43
+ |------------- | ------------- | ------------- | -------------|
44
+ | **ecommerceV1VariantCreateVariantRequest** | **EcommerceV1VariantCreateVariantRequest**| | |
45
+ | **storeId** | [**string**] | The ID of the store that owns the product. | defaults to undefined|
46
+ | **productId** | [**string**] | The ID of the product to add the variant to. | defaults to undefined|
47
+
48
+
49
+ ### Return type
50
+
51
+ **EcommerceV1VariantVariantResponseResource**
52
+
53
+ ### Authorization
54
+
55
+ [apiToken](../README.md#apiToken)
56
+
57
+ ### HTTP request headers
58
+
59
+ - **Content-Type**: application/json
60
+ - **Accept**: application/json
61
+
62
+
63
+ ### HTTP response details
64
+ | Status code | Description | Response headers |
65
+ |-------------|-------------|------------------|
66
+ |**201** | Created response | - |
67
+ |**422** | Validation error response | - |
68
+ |**401** | Unauthenticated response | - |
69
+ |**500** | Error response | - |
70
+
71
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
72
+
73
+ # **deleteAProductVariantV1**
74
+ > EcommerceV1VariantVariantDeletedResource deleteAProductVariantV1()
75
+
76
+ Delete a single variant from the product.
77
+
78
+ ### Example
79
+
80
+ ```typescript
81
+ import {
82
+ EcommerceProductVariantsApi,
83
+ Configuration
84
+ } from 'hostinger-api-sdk';
85
+
86
+ const configuration = new Configuration();
87
+ const apiInstance = new EcommerceProductVariantsApi(configuration);
88
+
89
+ let storeId: string; //The ID of the store that owns the product. (default to undefined)
90
+ let productId: string; //The ID of the product that owns the variant. (default to undefined)
91
+ let variantId: string; //The ID of the variant to delete. (default to undefined)
92
+
93
+ const { status, data } = await apiInstance.deleteAProductVariantV1(
94
+ storeId,
95
+ productId,
96
+ variantId
97
+ );
98
+ ```
99
+
100
+ ### Parameters
101
+
102
+ |Name | Type | Description | Notes|
103
+ |------------- | ------------- | ------------- | -------------|
104
+ | **storeId** | [**string**] | The ID of the store that owns the product. | defaults to undefined|
105
+ | **productId** | [**string**] | The ID of the product that owns the variant. | defaults to undefined|
106
+ | **variantId** | [**string**] | The ID of the variant to delete. | defaults to undefined|
107
+
108
+
109
+ ### Return type
110
+
111
+ **EcommerceV1VariantVariantDeletedResource**
112
+
113
+ ### Authorization
114
+
115
+ [apiToken](../README.md#apiToken)
116
+
117
+ ### HTTP request headers
118
+
119
+ - **Content-Type**: Not defined
120
+ - **Accept**: application/json
121
+
122
+
123
+ ### HTTP response details
124
+ | Status code | Description | Response headers |
125
+ |-------------|-------------|------------------|
126
+ |**200** | Success response | - |
127
+ |**401** | Unauthenticated response | - |
128
+ |**500** | Error response | - |
129
+
130
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
131
+
132
+ # **listProductVariantsV1**
133
+ > EcommerceListProductVariantsV1200Response listProductVariantsV1()
134
+
135
+ List a product\'s variants, ordered by rank, with their options, prices and inventory. Prices are integers in the smallest currency unit and live on variants.
136
+
137
+ ### Example
138
+
139
+ ```typescript
140
+ import {
141
+ EcommerceProductVariantsApi,
142
+ Configuration
143
+ } from 'hostinger-api-sdk';
144
+
145
+ const configuration = new Configuration();
146
+ const apiInstance = new EcommerceProductVariantsApi(configuration);
147
+
148
+ let storeId: string; //The ID of the store that owns the product. (default to undefined)
149
+ let productId: string; //The ID of the product to list variants for. (default to undefined)
150
+ let page: number; //Page number (optional) (default to undefined)
151
+
152
+ const { status, data } = await apiInstance.listProductVariantsV1(
153
+ storeId,
154
+ productId,
155
+ page
156
+ );
157
+ ```
158
+
159
+ ### Parameters
160
+
161
+ |Name | Type | Description | Notes|
162
+ |------------- | ------------- | ------------- | -------------|
163
+ | **storeId** | [**string**] | The ID of the store that owns the product. | defaults to undefined|
164
+ | **productId** | [**string**] | The ID of the product to list variants for. | defaults to undefined|
165
+ | **page** | [**number**] | Page number | (optional) defaults to undefined|
166
+
167
+
168
+ ### Return type
169
+
170
+ **EcommerceListProductVariantsV1200Response**
171
+
172
+ ### Authorization
173
+
174
+ [apiToken](../README.md#apiToken)
175
+
176
+ ### HTTP request headers
177
+
178
+ - **Content-Type**: Not defined
179
+ - **Accept**: application/json
180
+
181
+
182
+ ### HTTP response details
183
+ | Status code | Description | Response headers |
184
+ |-------------|-------------|------------------|
185
+ |**200** | Success response | - |
186
+ |**401** | Unauthenticated response | - |
187
+ |**500** | Error response | - |
188
+
189
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
190
+
191
+ # **updateProductVariantsInBatchV1**
192
+ > EcommerceV1VariantVariantListResponseResource updateProductVariantsInBatchV1(ecommerceV1VariantBatchUpdateVariantsRequest)
193
+
194
+ Update up to 100 existing variants in place by id — title, inventory, stock tracking and prices. Variants omitted from the request are left untouched. Prices replace the variant\'s existing prices in full. Returns the updated variants.
195
+
196
+ ### Example
197
+
198
+ ```typescript
199
+ import {
200
+ EcommerceProductVariantsApi,
201
+ Configuration,
202
+ EcommerceV1VariantBatchUpdateVariantsRequest
203
+ } from 'hostinger-api-sdk';
204
+
205
+ const configuration = new Configuration();
206
+ const apiInstance = new EcommerceProductVariantsApi(configuration);
207
+
208
+ let storeId: string; //The ID of the store that owns the product. (default to undefined)
209
+ let productId: string; //The ID of the product whose variants are being updated. (default to undefined)
210
+ let ecommerceV1VariantBatchUpdateVariantsRequest: EcommerceV1VariantBatchUpdateVariantsRequest; //
211
+
212
+ const { status, data } = await apiInstance.updateProductVariantsInBatchV1(
213
+ storeId,
214
+ productId,
215
+ ecommerceV1VariantBatchUpdateVariantsRequest
216
+ );
217
+ ```
218
+
219
+ ### Parameters
220
+
221
+ |Name | Type | Description | Notes|
222
+ |------------- | ------------- | ------------- | -------------|
223
+ | **ecommerceV1VariantBatchUpdateVariantsRequest** | **EcommerceV1VariantBatchUpdateVariantsRequest**| | |
224
+ | **storeId** | [**string**] | The ID of the store that owns the product. | defaults to undefined|
225
+ | **productId** | [**string**] | The ID of the product whose variants are being updated. | defaults to undefined|
226
+
227
+
228
+ ### Return type
229
+
230
+ **EcommerceV1VariantVariantListResponseResource**
231
+
232
+ ### Authorization
233
+
234
+ [apiToken](../README.md#apiToken)
235
+
236
+ ### HTTP request headers
237
+
238
+ - **Content-Type**: application/json
239
+ - **Accept**: application/json
240
+
241
+
242
+ ### HTTP response details
243
+ | Status code | Description | Response headers |
244
+ |-------------|-------------|------------------|
245
+ |**200** | Success response | - |
246
+ |**422** | Validation error response | - |
247
+ |**401** | Unauthenticated response | - |
248
+ |**500** | Error response | - |
249
+
250
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
251
+
@@ -7,6 +7,9 @@ All URIs are relative to *https://developers.hostinger.com*
7
7
  |[**createAProductImageUploadURLV1**](#createaproductimageuploadurlv1) | **POST** /api/ecommerce/v1/stores/{store_id}/products/{product_id}/images/upload-url | Create a product image upload URL|
8
8
  |[**createDigitalProductV1**](#createdigitalproductv1) | **POST** /api/ecommerce/v1/stores/{store_id}/products/digital | Create digital product|
9
9
  |[**createPhysicalProductV1**](#createphysicalproductv1) | **POST** /api/ecommerce/v1/stores/{store_id}/products/physical | Create physical product|
10
+ |[**deleteAProductV1**](#deleteaproductv1) | **DELETE** /api/ecommerce/v1/stores/{store_id}/products/{product_id} | Delete a product|
11
+ |[**listProductsV1**](#listproductsv1) | **GET** /api/ecommerce/v1/stores/{store_id}/products | List products|
12
+ |[**updateAProductV1**](#updateaproductv1) | **PATCH** /api/ecommerce/v1/stores/{store_id}/products/{product_id} | Update a product|
10
13
  |[**uploadAndAttachAProductImageV1**](#uploadandattachaproductimagev1) | **POST** /api/ecommerce/v1/stores/{store_id}/products/{product_id}/images | Upload and attach a product image|
11
14
 
12
15
  # **createAProductImageUploadURLV1**
@@ -181,6 +184,191 @@ const { status, data } = await apiInstance.createPhysicalProductV1(
181
184
 
182
185
  [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
183
186
 
187
+ # **deleteAProductV1**
188
+ > EcommerceV1ProductProductDeletedResource deleteAProductV1()
189
+
190
+ Delete a product and its variants from the store. A subscription product with active subscribers is archived instead of deleted so its data stays available.
191
+
192
+ ### Example
193
+
194
+ ```typescript
195
+ import {
196
+ EcommerceProductsApi,
197
+ Configuration
198
+ } from 'hostinger-api-sdk';
199
+
200
+ const configuration = new Configuration();
201
+ const apiInstance = new EcommerceProductsApi(configuration);
202
+
203
+ let storeId: string; //The ID of the store that owns the product. (default to undefined)
204
+ let productId: string; //The ID of the product to delete. (default to undefined)
205
+
206
+ const { status, data } = await apiInstance.deleteAProductV1(
207
+ storeId,
208
+ productId
209
+ );
210
+ ```
211
+
212
+ ### Parameters
213
+
214
+ |Name | Type | Description | Notes|
215
+ |------------- | ------------- | ------------- | -------------|
216
+ | **storeId** | [**string**] | The ID of the store that owns the product. | defaults to undefined|
217
+ | **productId** | [**string**] | The ID of the product to delete. | defaults to undefined|
218
+
219
+
220
+ ### Return type
221
+
222
+ **EcommerceV1ProductProductDeletedResource**
223
+
224
+ ### Authorization
225
+
226
+ [apiToken](../README.md#apiToken)
227
+
228
+ ### HTTP request headers
229
+
230
+ - **Content-Type**: Not defined
231
+ - **Accept**: application/json
232
+
233
+
234
+ ### HTTP response details
235
+ | Status code | Description | Response headers |
236
+ |-------------|-------------|------------------|
237
+ |**200** | Success response | - |
238
+ |**401** | Unauthenticated response | - |
239
+ |**500** | Error response | - |
240
+
241
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
242
+
243
+ # **listProductsV1**
244
+ > EcommerceListProductsV1200Response listProductsV1()
245
+
246
+ List a store\'s products newest first as lean summaries (name, status, thumbnail, variant count and price range). Prices are integers in the smallest currency unit and live on variants. Filter by status, free text or a set of product ids. Use include=variants to embed each product\'s variants with prices and inventory, and include=media to embed its media.
247
+
248
+ ### Example
249
+
250
+ ```typescript
251
+ import {
252
+ EcommerceProductsApi,
253
+ Configuration
254
+ } from 'hostinger-api-sdk';
255
+
256
+ const configuration = new Configuration();
257
+ const apiInstance = new EcommerceProductsApi(configuration);
258
+
259
+ let storeId: string; //The ID of the store to list products for. (default to undefined)
260
+ let productIds: Array<string>; //Restrict to these product ids. Doubles as a single-product lookup. Up to 200 ids. (optional) (default to undefined)
261
+ let status: Array<'draft' | 'proposed' | 'published' | 'rejected' | 'archived'>; //Product statuses to include. (optional) (default to undefined)
262
+ let q: string; //Free-text search over product title and SKU. (optional) (default to undefined)
263
+ let include: Array<'variants' | 'media'>; //Opt-in heavy data: \"variants\" embeds each product\'s variants; \"media\" embeds its media. (optional) (default to undefined)
264
+ let page: number; //Page number (optional) (default to undefined)
265
+
266
+ const { status, data } = await apiInstance.listProductsV1(
267
+ storeId,
268
+ productIds,
269
+ status,
270
+ q,
271
+ include,
272
+ page
273
+ );
274
+ ```
275
+
276
+ ### Parameters
277
+
278
+ |Name | Type | Description | Notes|
279
+ |------------- | ------------- | ------------- | -------------|
280
+ | **storeId** | [**string**] | The ID of the store to list products for. | defaults to undefined|
281
+ | **productIds** | **Array&lt;string&gt;** | Restrict to these product ids. Doubles as a single-product lookup. Up to 200 ids. | (optional) defaults to undefined|
282
+ | **status** | **Array<&#39;draft&#39; &#124; &#39;proposed&#39; &#124; &#39;published&#39; &#124; &#39;rejected&#39; &#124; &#39;archived&#39;>** | Product statuses to include. | (optional) defaults to undefined|
283
+ | **q** | [**string**] | Free-text search over product title and SKU. | (optional) defaults to undefined|
284
+ | **include** | **Array<&#39;variants&#39; &#124; &#39;media&#39;>** | Opt-in heavy data: \&quot;variants\&quot; embeds each product\&#39;s variants; \&quot;media\&quot; embeds its media. | (optional) defaults to undefined|
285
+ | **page** | [**number**] | Page number | (optional) defaults to undefined|
286
+
287
+
288
+ ### Return type
289
+
290
+ **EcommerceListProductsV1200Response**
291
+
292
+ ### Authorization
293
+
294
+ [apiToken](../README.md#apiToken)
295
+
296
+ ### HTTP request headers
297
+
298
+ - **Content-Type**: Not defined
299
+ - **Accept**: application/json
300
+
301
+
302
+ ### HTTP response details
303
+ | Status code | Description | Response headers |
304
+ |-------------|-------------|------------------|
305
+ |**200** | Success response | - |
306
+ |**401** | Unauthenticated response | - |
307
+ |**500** | Error response | - |
308
+
309
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
310
+
311
+ # **updateAProductV1**
312
+ > EcommerceV1ProductProductResponseResource updateAProductV1(ecommerceV1ProductUpdateRequest)
313
+
314
+ Update a product\'s name, description or status. Set status to published to make it buyable, draft to hide it, or archived to retire it. Variants, prices and inventory are managed through the variant endpoints, not here. Returns the updated product summary.
315
+
316
+ ### Example
317
+
318
+ ```typescript
319
+ import {
320
+ EcommerceProductsApi,
321
+ Configuration,
322
+ EcommerceV1ProductUpdateRequest
323
+ } from 'hostinger-api-sdk';
324
+
325
+ const configuration = new Configuration();
326
+ const apiInstance = new EcommerceProductsApi(configuration);
327
+
328
+ let storeId: string; //The ID of the store that owns the product. (default to undefined)
329
+ let productId: string; //The ID of the product to update. (default to undefined)
330
+ let ecommerceV1ProductUpdateRequest: EcommerceV1ProductUpdateRequest; //
331
+
332
+ const { status, data } = await apiInstance.updateAProductV1(
333
+ storeId,
334
+ productId,
335
+ ecommerceV1ProductUpdateRequest
336
+ );
337
+ ```
338
+
339
+ ### Parameters
340
+
341
+ |Name | Type | Description | Notes|
342
+ |------------- | ------------- | ------------- | -------------|
343
+ | **ecommerceV1ProductUpdateRequest** | **EcommerceV1ProductUpdateRequest**| | |
344
+ | **storeId** | [**string**] | The ID of the store that owns the product. | defaults to undefined|
345
+ | **productId** | [**string**] | The ID of the product to update. | defaults to undefined|
346
+
347
+
348
+ ### Return type
349
+
350
+ **EcommerceV1ProductProductResponseResource**
351
+
352
+ ### Authorization
353
+
354
+ [apiToken](../README.md#apiToken)
355
+
356
+ ### HTTP request headers
357
+
358
+ - **Content-Type**: application/json
359
+ - **Accept**: application/json
360
+
361
+
362
+ ### HTTP response details
363
+ | Status code | Description | Response headers |
364
+ |-------------|-------------|------------------|
365
+ |**200** | Success response | - |
366
+ |**422** | Validation error response | - |
367
+ |**401** | Unauthenticated response | - |
368
+ |**500** | Error response | - |
369
+
370
+ [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
371
+
184
372
  # **uploadAndAttachAProductImageV1**
185
373
  > EcommerceV1ProductProductImageUploadResource uploadAndAttachAProductImageV1(ecommerceV1ProductUploadProductImageRequest)
186
374
 
@@ -4,14 +4,14 @@ All URIs are relative to *https://developers.hostinger.com*
4
4
 
5
5
  |Method | HTTP request | Description|
6
6
  |------------- | ------------- | -------------|
7
- |[**createCustomSalesChannelV1**](#createcustomsaleschannelv1) | **POST** /api/ecommerce/v1/stores/{store_id}/sales-channels | Create custom sales channel|
7
+ |[**createASalesChannelV1**](#createasaleschannelv1) | **POST** /api/ecommerce/v1/stores/{store_id}/sales-channels | Create a sales channel|
8
8
  |[**listSalesChannelsV1**](#listsaleschannelsv1) | **GET** /api/ecommerce/v1/stores/{store_id}/sales-channels | List sales channels|
9
9
  |[**updateSalesChannelV1**](#updatesaleschannelv1) | **PATCH** /api/ecommerce/v1/stores/{store_id}/sales-channels/{sales_channel_id} | Update sales channel|
10
10
 
11
- # **createCustomSalesChannelV1**
12
- > EcommerceV1SalesChannelSalesChannelCreationResource createCustomSalesChannelV1(ecommerceV1SalesChannelStoreRequest)
11
+ # **createASalesChannelV1**
12
+ > EcommerceV1SalesChannelSalesChannelCreationResource createASalesChannelV1(ecommerceV1SalesChannelStoreRequest)
13
13
 
14
- Create a custom sales channel for a store. Build your own frontend and keep your catalog, orders, shipping and payments in sync through the Ecommerce API.
14
+ Create a sales channel for a store. A \"custom\" channel is headless: build your own frontend and keep your catalog, orders, shipping and payments in sync through the Ecommerce API. A \"quick-link\" channel is a hosted one-page store whose handle is auto-generated.
15
15
 
16
16
  ### Example
17
17
 
@@ -28,7 +28,7 @@ const apiInstance = new EcommerceSalesChannelsApi(configuration);
28
28
  let storeId: string; //The ID of the store to create the sales channel for. (default to undefined)
29
29
  let ecommerceV1SalesChannelStoreRequest: EcommerceV1SalesChannelStoreRequest; //
30
30
 
31
- const { status, data } = await apiInstance.createCustomSalesChannelV1(
31
+ const { status, data } = await apiInstance.createASalesChannelV1(
32
32
  storeId,
33
33
  ecommerceV1SalesChannelStoreRequest
34
34
  );
@@ -0,0 +1,38 @@
1
+ # EcommerceV1DiscountCreateDiscountRequest
2
+
3
+
4
+ ## Properties
5
+
6
+ Name | Type | Description | Notes
7
+ ------------ | ------------- | ------------- | -------------
8
+ **code** | **string** | The discount code customers enter at checkout. | [default to undefined]
9
+ **name** | **string** | A human-friendly discount name. | [optional] [default to undefined]
10
+ **type** | **string** | The discount type. | [default to undefined]
11
+ **value** | **number** | For percentage discounts a whole number 1-100; for fixed discounts an amount in the smallest currency unit (e.g. $10 is 1000). Ignored for free_shipping. | [default to undefined]
12
+ **allocation** | **string** | Whether the discount applies to the cart total or to each eligible item. | [optional] [default to undefined]
13
+ **starts_at** | **string** | When the discount becomes active. A bare date (2026-11-27) anchors to time_zone. Defaults to now when omitted. | [optional] [default to undefined]
14
+ **ends_at** | **string** | When the discount expires. A bare date runs to the end of that day in time_zone. Never expires when omitted. | [optional] [default to undefined]
15
+ **usage_limit** | **number** | Maximum number of times the discount can be redeemed. | [optional] [default to undefined]
16
+ **min_cart_value** | **number** | Minimum cart value in the smallest currency unit required for the discount to apply. | [optional] [default to undefined]
17
+ **time_zone** | **string** | IANA time zone used to interpret starts_at and ends_at. | [optional] [default to undefined]
18
+
19
+ ## Example
20
+
21
+ ```typescript
22
+ import { EcommerceV1DiscountCreateDiscountRequest } from 'hostinger-api-sdk';
23
+
24
+ const instance: EcommerceV1DiscountCreateDiscountRequest = {
25
+ code,
26
+ name,
27
+ type,
28
+ value,
29
+ allocation,
30
+ starts_at,
31
+ ends_at,
32
+ usage_limit,
33
+ min_cart_value,
34
+ time_zone,
35
+ };
36
+ ```
37
+
38
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
@@ -0,0 +1,40 @@
1
+ # EcommerceV1DiscountDiscountResource
2
+
3
+
4
+ ## Properties
5
+
6
+ Name | Type | Description | Notes
7
+ ------------ | ------------- | ------------- | -------------
8
+ **id** | **string** | The discount ID, required by every other discount endpoint. | [optional] [default to undefined]
9
+ **code** | **string** | The discount code customers enter at checkout. | [optional] [default to undefined]
10
+ **name** | **string** | The discount name, or null. | [optional] [default to undefined]
11
+ **type** | **string** | The discount type, or null. | [optional] [default to undefined]
12
+ **value** | **number** | The discount value, or null. Percentage is 1-100; fixed is in the smallest currency unit. | [optional] [default to undefined]
13
+ **allocation** | **string** | Whether the discount applies to the cart total or to each item, or null. | [optional] [default to undefined]
14
+ **is_disabled** | **boolean** | Whether the discount is disabled. | [optional] [default to undefined]
15
+ **starts_at** | **string** | When the discount becomes active. | [optional] [default to undefined]
16
+ **ends_at** | **string** | When the discount expires, or null. | [optional] [default to undefined]
17
+ **usage_limit** | **number** | Maximum number of redemptions, or null for unlimited. | [optional] [default to undefined]
18
+ **usage_count** | **number** | Number of times the discount has been redeemed. | [optional] [default to undefined]
19
+
20
+ ## Example
21
+
22
+ ```typescript
23
+ import { EcommerceV1DiscountDiscountResource } from 'hostinger-api-sdk';
24
+
25
+ const instance: EcommerceV1DiscountDiscountResource = {
26
+ id,
27
+ code,
28
+ name,
29
+ type,
30
+ value,
31
+ allocation,
32
+ is_disabled,
33
+ starts_at,
34
+ ends_at,
35
+ usage_limit,
36
+ usage_count,
37
+ };
38
+ ```
39
+
40
+ [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)