@wix/bex-utils 1.37.0 → 1.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/builders.impl.d.ts +4 -1
  2. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/builders.impl.js +64 -6
  3. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/builders.impl.js.map +1 -1
  4. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/http.impl.js +12 -0
  5. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/http.impl.js.map +1 -1
  6. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/proto/client/proto-generated.d.ts +713 -74
  7. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/proto/proto-generated.d.ts +359 -38
  8. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/proto/proto-generated.js +12499 -2105
  9. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/proto/server/proto-generated.d.ts +711 -73
  10. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/types.impl.d.ts +56 -2
  11. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/types.impl.js +10 -1
  12. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/cjs/types.impl.js.map +1 -1
  13. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/es/builders.impl.d.ts +4 -1
  14. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/es/builders.impl.js +60 -5
  15. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/es/builders.impl.js.map +1 -1
  16. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/es/http.impl.js +12 -0
  17. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/es/http.impl.js.map +1 -1
  18. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/es/types.impl.d.ts +56 -2
  19. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/es/types.impl.js +9 -0
  20. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/build/es/types.impl.js.map +1 -1
  21. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/package.json +3 -3
  22. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/catalog_spi/api/v1/catalog_reference.proto +16 -10
  23. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/catalog_spi/api/v1/description_line.proto +23 -6
  24. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/catalog_spi/api/v1/item_data.proto +70 -44
  25. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/catalog_spi/api/v1/item_media.proto +14 -5
  26. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/catalog_spi/api/v1/item_type.proto +3 -1
  27. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/catalog_spi/api/v1/payment_option.proto +10 -7
  28. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/catalog_spi/api/v1/physical_properties.proto +4 -1
  29. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/catalog_spi/api/v1/platform_catalog_spi.proto +109 -33
  30. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/catalog_spi/api/v1/price_description.proto +6 -2
  31. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/catalog_spi/api/v1/product_name.proto +11 -6
  32. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/catalog_spi/api/v1/secured_media.proto +5 -2
  33. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/catalog_spi/api/v1/service_properties.proto +5 -2
  34. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/catalog_spi/api/v1/subscription_option_info.proto +14 -4
  35. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/inventory/api/v1/inventoryEvents.proto +5 -0
  36. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/platform_common/api/address_with_contact.proto +0 -1
  37. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/com/wix/ecommerce/platform_common/api/locations.proto +16 -0
  38. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/api/annotations.proto +4 -1
  39. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/api/entity.proto +6 -0
  40. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/api/errors.proto +6 -0
  41. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/catalog/api/v1/catalog.proto +49 -13
  42. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/catalog/api/v1/media.proto +2 -2
  43. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/catalog/api/v1/product.proto +5 -0
  44. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/catalog/api/v2/collectionRead.proto +1 -2
  45. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/common/media.proto +9 -2
  46. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/common/pageurl.proto +4 -4
  47. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/common/paging.proto +21 -12
  48. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/common/query.proto +323 -88
  49. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/common/sorting.proto +13 -2
  50. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/common/tags.proto +2 -2
  51. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/common/wixlink.proto +50 -1
  52. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/coupons/api/v1/coupons-adapter.proto +50 -50
  53. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/coupons/api/v2/mediaitem.proto +3 -3
  54. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/fedinfra/exportservice/v1/export.proto +1 -0
  55. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/infra/asyncjobs/v1/AsyncJob.proto +2 -0
  56. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/infra/asyncjobs/v1/AsyncJobService.proto +36 -2
  57. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/inventory/api/v1/inventoryItem.proto +1 -0
  58. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/inventory/api/v1/locationInventory.proto +27 -0
  59. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/inventory/api/v1/locationInventoryItem.proto +75 -0
  60. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/inventory/api/v1/locationInventoryMessages.proto +33 -0
  61. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/payment/api/pay/v2/accounts.proto +8 -0
  62. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/payment/api/pay/v2/orders.proto +10 -0
  63. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/payment/api/pay/v2/payment-methods.proto +7 -0
  64. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/payment/api/pay/v2/payments.proto +7 -0
  65. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/payment/api/pay/v2/resources/charge.proto +3 -3
  66. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/payment/api/pay/v2/resources/order-description.proto +6 -0
  67. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/payment/api/pay/v2/resources/payment-method.proto +3 -1
  68. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/payment/api/pay/v3/resources/payment-event.proto +2 -1
  69. package/package.json +3 -3
  70. package/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/src/main/proto/wix/payment/api/pay/v2/paypal-recurring-orders.proto +0 -38
@@ -9,6 +9,7 @@ import "google/protobuf/wrappers.proto";
9
9
  import "wix/payment/api/pay/v2/resources/subscription.proto";
10
10
 
11
11
  message SubscriptionOptionInfo {
12
+
12
13
  // Subscription option settings.
13
14
  SubscriptionSettings subscription_settings = 1;
14
15
 
@@ -20,29 +21,38 @@ message SubscriptionOptionInfo {
20
21
  }
21
22
 
22
23
  message SubscriptionSettings {
24
+
23
25
  // Frequency of recurring payment.
24
26
  .wix.payment.api.pay.v2.SubscriptionFrequency frequency = 1;
25
27
 
26
- // Interval of recurring payment (optional: default value 1 will be used if not provided)
28
+ // Interval of recurring payment.
29
+ //
30
+ // Default: `1`.
27
31
  google.protobuf.Int32Value interval = 2 [(.wix.api.min) = 1, (.wix.api.max) = 50, (.wix.api.field_exposure) = INTERNAL];
28
32
 
29
33
  // Whether subscription is renewed automatically at the end of each period.
30
34
  bool auto_renewal = 3;
31
35
 
32
- // Number of billing cycles before subscription ends. Ignored if `autoRenewal: true`.
36
+ // Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.
33
37
  google.protobuf.Int32Value billing_cycles = 4 [(.wix.api.min) = 2];
34
38
  }
35
39
 
36
40
  message Title {
37
- // Subscription option name.
41
+
42
+ // Subscription option name in the site's default language.
38
43
  string original = 1 [(.wix.api.minLength) = 1, (.wix.api.maxLength) = 20];
39
- // Translated subscription option name.
44
+
45
+ // Subscription option name translated into the buyer's language.
46
+ //
47
+ // Default: Same as `original`.
40
48
  google.protobuf.StringValue translated = 2 [(.wix.api.minLength) = 1, (.wix.api.maxLength) = 20];
41
49
  }
42
50
 
43
51
  message Description {
52
+
44
53
  // Subscription option description.
45
54
  string original = 1 [(.wix.api.maxLength) = 60];
55
+
46
56
  // Translated subscription option description.
47
57
  google.protobuf.StringValue translated = 2 [(.wix.api.maxLength) = 60];
48
58
  }
@@ -4,6 +4,7 @@ package com.wix.ecommerce.inventory.api.v1;
4
4
 
5
5
  import "google/protobuf/wrappers.proto";
6
6
  import "google/protobuf/field_mask.proto";
7
+ import "google/protobuf/timestamp.proto";
7
8
  import "wix/inventory/api/v1/inventoryItem.proto";
8
9
  import "wix/api/annotations.proto";
9
10
  import "wix/api/entity.proto";
@@ -23,6 +24,8 @@ message InventoryItemChanged {
23
24
  .wix.inventory.api.v1.PreorderInfo preorder_info = 6;
24
25
  // Field mask of updated fields.
25
26
  google.protobuf.FieldMask fieldMask = 7;
27
+ // Date and time the inventory item was last updated.
28
+ google.protobuf.Timestamp updated_date = 8;
26
29
  }
27
30
 
28
31
  message InventoryVariantsChanged {
@@ -40,6 +43,8 @@ message InventoryVariantsChanged {
40
43
  repeated ChangedInventoryVariant variants = 3;
41
44
  // Reason data
42
45
  .wix.inventory.api.v1.ReasonTypeWrapper.ReasonType reason = 6 [(.wix.api.field_exposure) = INTERNAL];
46
+ // Date and time the inventory variant item was last updated.
47
+ google.protobuf.Timestamp updated_date = 8;
43
48
  }
44
49
 
45
50
  message ChangedInventoryVariant {
@@ -2,7 +2,6 @@ syntax = "proto3";
2
2
 
3
3
  package com.wix.ecommerce.platform_common.api;
4
4
 
5
- import "wix/api/annotations.proto";
6
5
  import "com/wix/ecommerce/platform_common/api/address.proto";
7
6
 
8
7
  // Billing Info and shipping details
@@ -0,0 +1,16 @@
1
+ syntax = "proto3";
2
+
3
+ package com.wix.ecommerce.platform_common.api;
4
+
5
+ import "google/protobuf/wrappers.proto";
6
+ import "wix/api/validations.proto";
7
+
8
+ message LocationAndQuantity {
9
+ // Location id in the associated owner app.
10
+ string id = 1 [(.wix.api.format) = GUID];
11
+ // Location owner app, if not provided then the site business info locations will be used.
12
+ google.protobuf.StringValue app_id = 2 [(.wix.api.format) = GUID];
13
+ // Quantity for specific location.
14
+ int32 quantity = 3 [(.wix.api.min) = 1, (.wix.api.max) = 100000];
15
+
16
+ }
@@ -43,6 +43,7 @@ extend google.protobuf.FieldOptions {
43
43
  optional Translatable translatable = 50144; // Mark this field as translatable using MultiLingual services
44
44
  optional string sample_data = 50149; // Example of data that may be assigned as a value of this field
45
45
  optional Conditional conditional = 50151; // Configure the conditions required for this field to be returned
46
+ optional bool nullable = 50152; // Mark specific field as nullable
46
47
  }
47
48
 
48
49
  extend google.protobuf.EnumValueOptions {
@@ -249,7 +250,8 @@ message Wql {
249
250
  ANY = 12 [deprecated = true]; // [Array] Matches arrays that contain at least one element specified in the query.
250
251
  HAS_SOME = 12; // [Array] Matches arrays that contain at least one element specified in the query.
251
252
  EMPTY = 13; // [Array] Matches arrays that contain no elements.
252
- MATCH_ALL = 14; // [Array] match multiple fields within array with AND operator semantics.
253
+ MATCH_ALL = 14; // Matches all items. Intended for expressing intent in selecting everything for ex. destructive operations - bulk deletes, updates, etc.
254
+ MATCH_ITEMS = 16; // [Array] match multiple fields within array with AND operator semantics.
253
255
  }
254
256
  enum Sort {
255
257
  NONE = 0; // no sorting enabled
@@ -287,6 +289,7 @@ message Wql {
287
289
  target_removal_date: "2023-03-31"
288
290
  }];
289
291
  repeated OperatorFieldSupport pattern = 4; // supported operators for subject query method
292
+ optional bool validate_query = 6; // false by default. all new services will have it set to true
290
293
  }
291
294
 
292
295
  message Search {
@@ -61,7 +61,10 @@ message Entity {
61
61
  }
62
62
 
63
63
  message Extensible {
64
+
64
65
  optional string nested_extension_field_path = 1;
66
+ // Indicates whether this entity supports filtering by extended fields which are marked in schema as `x-wix-filterable`
67
+ optional bool filterable = 2;
65
68
  }
66
69
 
67
70
  message MessageAppendix {
@@ -70,6 +73,7 @@ message MessageAppendix {
70
73
  AUTO_VELO = 1; // auto velo configuration
71
74
  DOCS_CONF = 2; // wix docs configuration: `documentation.yaml`
72
75
  MULTILINGUAL = 3; // wix multilingual configuration
76
+ SEARCH = 4; // nile search configuration
73
77
  }
74
78
  required Type type = 1; // appendix type
75
79
  required string path = 2; // absolute from module root
@@ -77,4 +81,6 @@ message MessageAppendix {
77
81
 
78
82
  message DomainEventOptions {
79
83
  optional bool event_sequence_number = 1; // indicated whenever `entity_event_sequence` in the envelope is set/populated for CUD events.
84
+ optional bool deleted_include_entity = 2; // indicated whenever `deleted_entity_as_json` is set/populated for EntityDeletedEvent events.
85
+ optional bool updated_include_modified_fields = 3; // indicated whenever `modified_fields` is set/populated for EntityUpdatedEvent events.
80
86
  }
@@ -11,6 +11,7 @@ message Details {
11
11
  oneof kind {
12
12
  ApplicationError application_error = 1;
13
13
  ValidationError validation_error = 2;
14
+ SystemError system_error = 4;
14
15
  }
15
16
  map<string, string> tracing = 3 [deprecated = true]; // deprecated in API's - to enable migration from rendering arbitrary tracing to rest response
16
17
  }
@@ -24,6 +25,11 @@ message ApplicationError {
24
25
  google.protobuf.Struct data = 3;
25
26
  }
26
27
 
28
+ message SystemError {
29
+ // Error code.
30
+ google.protobuf.StringValue errorCode = 1;
31
+ }
32
+
27
33
  /**
28
34
  example result:
29
35
  {
@@ -3,10 +3,10 @@ syntax = "proto3";
3
3
  package wix.catalog.api.v1;
4
4
 
5
5
  import "google/api/annotations.proto";
6
- import "wix/api/callback.proto";
7
6
  import "wix/api/api_errors.proto";
8
7
  import "wix/api/validations.proto";
9
8
  import "wix/api/annotations.proto";
9
+ import "wix/api/callback.proto";
10
10
  import "wix/api/entity.proto";
11
11
  import "wix/common/bulk.proto";
12
12
  import "wix/catalog/api/v1/bulk.proto";
@@ -147,6 +147,7 @@ service CatalogReadApi {
147
147
  }
148
148
 
149
149
  // Retrieves a product with the provided ID.
150
+ //flynt-disable crud-add-get-annotation
150
151
  rpc GetProduct (GetProductRequest) returns (GetProductResponse) {
151
152
  option (google.api.http) = {
152
153
  get: "/v1/products/{id}"
@@ -579,6 +580,8 @@ service CatalogWriteApi {
579
580
  option (wix.api.service_entity).message = "wix.catalog.api.v1.Product";
580
581
 
581
582
  //Creates a new product.
583
+ //flynt-disable missing-cud-event
584
+ //flynt-disable crud-add-create-annotation
582
585
  rpc CreateProduct (CreateProductRequest) returns (CreateProductResponse) {
583
586
  option (wix.api.required) = "CreateProductRequest.product.name";
584
587
  option (wix.api.required) = "CreateProductRequest.product.priceData";
@@ -592,6 +595,7 @@ service CatalogWriteApi {
592
595
  }
593
596
 
594
597
  //Creates a new product.
598
+ //flynt-disable crud-add-create-annotation
595
599
  rpc CreateProductPlatformized (CreateProductPlatformizedRequest) returns (CreateProductPlatformizedResponse) {
596
600
  option (wix.api.required) = "CreateProductPlatformizedRequest.product.name";
597
601
  option (wix.api.required) = "CreateProductPlatformizedRequest.product.priceData";
@@ -603,13 +607,30 @@ service CatalogWriteApi {
603
607
  };
604
608
  option (.wix.sdk.signature) = {params: "product"};
605
609
  option (wix.api.permission).name = "WIX_STORES.MODIFY_PRODUCTS";
606
- option (.wix.api.callback) = {
607
- event_type: CREATED
608
- permission: "WIX_STORES.READ_PRODUCTS"
609
- };
610
+ }
611
+
612
+ //Creates a new digital product.
613
+ //flynt-disable missing-cud-event
614
+ //flynt-disable crud-add-create-annotation
615
+ rpc CreateDigitalProduct (CreateDigitalProductRequest) returns (CreateDigitalProductResponse) {
616
+ option (wix.api.exposure) = INTERNAL;
617
+ option (wix.api.required) = "CreateDigitalProductRequest.product.name";
618
+ option (wix.api.required) = "CreateDigitalProductRequest.product.priceData";
619
+ option (wix.api.required) = "CreateDigitalProductRequest.product.priceData.price";
620
+ option (wix.api.required) = "CreateDigitalProductRequest.product.cost_and_profit_data.item_cost";
621
+ option (wix.api.required) = "CreateDigitalProductRequest.product.digital_file";
622
+ option (wix.api.required) = "CreateDigitalProductRequest.product.digital_file.id";
623
+ option (wix.api.required) = "CreateDigitalProductRequest.product.digital_file.file_name";
624
+ option (wix.api.required) = "CreateDigitalProductRequest.product.digital_file.file_type";
625
+ option (google.api.http) = {
626
+ post: "/v1/products-digital"
627
+ };
628
+ option (wix.api.permission).name = "WIX_STORES.MODIFY_PRODUCTS";
610
629
  }
611
630
 
612
631
  //Updates specified fields in a product.
632
+ //flynt-disable missing-cud-event
633
+ //flynt-disable crud-add-update-annotation
613
634
  rpc UpdateProduct (UpdateProductRequest) returns (UpdateProductResponse) {
614
635
  option (wix.api.required) = "UpdateProductRequest.product.id";
615
636
  option (wix.api.required) = "UpdateProductRequest.product";
@@ -620,6 +641,7 @@ service CatalogWriteApi {
620
641
  }
621
642
 
622
643
  //Updates specified fields in a product.
644
+ //flynt-disable crud-add-update-annotation
623
645
  rpc UpdateProductPlatformized (UpdateProductPlatformizedRequest) returns (UpdateProductPlatformizedResponse) {
624
646
  option (wix.api.required) = "UpdateProductPlatformizedRequest.product.id";
625
647
  option (wix.api.required) = "UpdateProductPlatformizedRequest.product";
@@ -628,13 +650,11 @@ service CatalogWriteApi {
628
650
  patch: "/v1/products-platformized/{product.id}"
629
651
  };
630
652
  option (wix.api.permission).name = "WIX_STORES.MODIFY_PRODUCTS";
631
- option (.wix.api.callback) = {
632
- event_type: UPDATED
633
- permission: "WIX_STORES.READ_PRODUCTS"
634
- };
635
653
  }
636
654
 
637
655
  //Deletes a product.
656
+ //flynt-disable missing-cud-event
657
+ //flynt-disable crud-add-delete-annotation
638
658
  rpc DeleteProduct (DeleteProductRequest) returns (DeleteProductResponse) {
639
659
  option (wix.api.required) = "DeleteProductRequest.id";
640
660
  option (google.api.http) = {
@@ -644,6 +664,7 @@ service CatalogWriteApi {
644
664
  }
645
665
 
646
666
  //Deletes a product.
667
+ //flynt-disable crud-add-delete-annotation
647
668
  rpc DeleteProductPlatformized (DeleteProductPlatformizedRequest) returns (DeleteProductPlatformizedResponse) {
648
669
  option (wix.api.required) = "DeleteProductPlatformizedRequest.id";
649
670
  option (wix.api.exposure) = PUBLIC;
@@ -651,10 +672,6 @@ service CatalogWriteApi {
651
672
  delete: "/v1/products-platformized/{id}"
652
673
  };
653
674
  option (wix.api.permission).name = "WIX_STORES.MODIFY_PRODUCTS";
654
- option (.wix.api.callback) = {
655
- event_type: DELETED
656
- permission: "WIX_STORES.READ_PRODUCTS"
657
- };
658
675
  }
659
676
 
660
677
  //Deletes a bulk of products.
@@ -758,6 +775,8 @@ service CatalogWriteApi {
758
775
  }
759
776
 
760
777
  // Delete all options from a specific product. Only available when [variant management](https://support.wix.com/en/article/wix-stores-adding-and-customizing-product-options#setting-different-prices-for-variants) is disabled.
778
+ //flynt-disable missing-cud-event
779
+ //flynt-disable crud-add-delete-annotation
761
780
  rpc DeleteProductOptions (DeleteProductOptionsRequest) returns (DeleteProductOptionsResponse) {
762
781
  option (wix.api.required) = "DeleteProductOptionsRequest.id";
763
782
  option (google.api.http) = {
@@ -765,6 +784,13 @@ service CatalogWriteApi {
765
784
  };
766
785
  option (wix.api.permission).name = "WIX_STORES.MODIFY_PRODUCTS";
767
786
  option (wix.api.maturity) = BETA;
787
+
788
+ // option (.wix.api.crud) = {
789
+ // method: DELETE
790
+ // delete_options: {
791
+ // id_field: "id"
792
+ // }
793
+ // };
768
794
  }
769
795
 
770
796
  rpc SetCustomFields (SetCustomFieldsRequest) returns (SetCustomFieldsResponse) {
@@ -946,6 +972,16 @@ message CreateProductPlatformizedResponse {
946
972
  Product product = 1;
947
973
  }
948
974
 
975
+ message CreateDigitalProductRequest {
976
+ //Product information.
977
+ Product product = 1;
978
+ }
979
+
980
+ message CreateDigitalProductResponse {
981
+ //Created product.
982
+ Product product = 1;
983
+ }
984
+
949
985
  message UpdateProductRequest {
950
986
  Product product = 1;
951
987
  }
@@ -31,7 +31,7 @@ message MediaItem {
31
31
 
32
32
  message MediaItemUrlAndSize {
33
33
  // Media item URL.
34
- string url = 1 [(wix.api.format) = URI];
34
+ string url = 1 [(wix.api.format) = WEB_URL];
35
35
  // Media item width.
36
36
  int32 width = 2 [(wix.api.min) = 0];
37
37
  // Media item height.
@@ -70,7 +70,7 @@ message MediaDataForWrite {
70
70
  // Media ID. For media items previously saved in Wix Media, the media ID is returned in the Query Product response.
71
71
  string mediaId = 1;
72
72
  // Media external URL (for new media items).
73
- string url = 2 [(wix.api.format) = URI];
73
+ string url = 2 [(wix.api.format) = WEB_URL];
74
74
  }
75
75
 
76
76
  // Assign this media item to a specific product choice.
@@ -16,6 +16,7 @@ import "google/protobuf/timestamp.proto";
16
16
  import "com/wix/ecommerce/commons/api/measurementUnit.proto";
17
17
  import "advanced-seo-api.proto";
18
18
  import "com/wix/ecommerce/catalog_spi/api/v1/platform_catalog_spi.proto";
19
+ import "com/wix/ecommerce/catalog_spi/api/v1/secured_media.proto";
19
20
 
20
21
 
21
22
  option java_package = "com.wix.ecommerce.catalog.api.v1";
@@ -23,6 +24,7 @@ option java_package = "com.wix.ecommerce.catalog.api.v1";
23
24
  message Product {
24
25
  option (wix.api.entity) = {
25
26
  fqdn: "wix.stores.catalog.v1.product"
27
+ app_def_id: "215238eb-22a5-4c36-9e7b-e7c08025e04e"
26
28
  segment: USERS
27
29
  appendix_files: {
28
30
  type: AUTO_VELO
@@ -107,6 +109,9 @@ message Product {
107
109
  google.protobuf.StringValue tax_group_id = 35 [(wix.api.format) = GUID, (wix.api.field_exposure) = INTERNAL];
108
110
  //internal field used by import/export to know how to link products in csv file to product ids
109
111
  string export_product_id = 36 [(wix.api.readOnly) = true, (wix.api.field_exposure) = PRIVATE, (wix.api.maxLength) = 100];
112
+
113
+ //Digital file which will be downloaded by buyer after successful purchase.
114
+ com.wix.ecommerce.catalog_spi.api.v1.SecuredMedia digital_file = 200 [(wix.api.readOnly) = true, (.wix.api.field_exposure) = INTERNAL];
110
115
  }
111
116
 
112
117
  enum ProductType {
@@ -5,10 +5,8 @@ package wix.catalog.api.v2;
5
5
  import "google/api/annotations.proto";
6
6
  import "wix/api/annotations.proto";
7
7
  import "wix/api/entity.proto";
8
- import "wix/catalog/api/v1/catalog.proto";
9
8
  import "wix/catalog/api/v1/collection.proto";
10
9
  import "com/wix/ecommerce/commons/api/platformQuery.proto";
11
- import "com/wix/ecommerce/commons/api/unlimitedPlatformQuery.proto";
12
10
  import "com/wix/ecommerce/commons/api/platformPagingMetadata.proto";
13
11
  import "wix/api/validations.proto";
14
12
 
@@ -79,6 +77,7 @@ message QueryCollectionsResponse {
79
77
  com.wix.ecommerce.commons.api.PlatformPagingMetadata metadata = 2;
80
78
  }
81
79
 
80
+ //flynt-disable crud-get-item-message-validation
82
81
  message GetCollectionRequest {
83
82
  // Requested collection ID.
84
83
  string id = 1;
@@ -75,6 +75,8 @@ message VideoV2 {
75
75
  google.protobuf.StringValue size_in_bytes = 6 [(.wix.api.readOnly) = true, (.wix.api.field_exposure) = PRIVATE, (.wix.api.format) = DECIMAL_VALUE];
76
76
  // Video URL expiration date (when relevant).
77
77
  google.protobuf.Timestamp url_expiration_date = 7 [(.wix.api.readOnly) = true, (.wix.api.field_exposure) = PRIVATE];
78
+ // Original video duration in milliseconds.
79
+ google.protobuf.Int32Value duration_in_milliseconds = 8 [(.wix.api.field_exposure) = PRIVATE, (.wix.api.readOnly) = true, (.wix.api.min) = 0];
78
80
  }
79
81
 
80
82
  message VideoResolution {
@@ -104,7 +106,12 @@ message VideoResolution {
104
106
  // Video filename.
105
107
  google.protobuf.StringValue filename = 10 [(.wix.api.field_exposure) = PRIVATE];
106
108
  // Video duration in seconds.
107
- google.protobuf.Int32Value duration_in_seconds = 11 [(.wix.api.field_exposure) = PRIVATE, (.wix.api.readOnly) = true, (.wix.api.min) = 0];
109
+ google.protobuf.Int32Value duration_in_seconds = 11 [(.wix.api.field_exposure) = PRIVATE, (.wix.api.readOnly) = true, (.wix.api.min) = 0, (.wix.api.field_deprecated) = {
110
+ replaced_by: "duration_in_milliseconds"
111
+ target_removal_date: "2024-08-01"
112
+ }];
113
+ // Video duration in milliseconds.
114
+ google.protobuf.Int32Value duration_in_milliseconds = 12 [(.wix.api.field_exposure) = PRIVATE, (.wix.api.readOnly) = true, (.wix.api.min) = 0];
108
115
 
109
116
  // When true, this is a protected asset, and calling the URL will return a 403 error.
110
117
  // In order to access private assets, make a request to:
@@ -131,7 +138,7 @@ message Audio {
131
138
  google.protobuf.StringValue size_in_bytes = 4 [(.wix.api.readOnly) = true, (.wix.api.field_exposure) = PRIVATE, (.wix.api.format) = DECIMAL_VALUE];
132
139
  // Audio filename.
133
140
  google.protobuf.StringValue filename = 5 [(.wix.api.readOnly) = true];
134
- // Audio duration in seconds.
141
+ // Audio duration in milliseconds.
135
142
  google.protobuf.Int32Value duration = 6 [(.wix.api.readOnly) = true, (.wix.api.field_exposure) = PRIVATE, (.wix.api.min) = 0];
136
143
 
137
144
  // When true, this is a protected asset, and calling the URL will return a 403 error.
@@ -14,9 +14,9 @@ message PageUrl {
14
14
  field: "base"
15
15
  field: "path"
16
16
  };
17
- // The base URL. For premium sites, this will be the domain. For free sites, this would be site URL (e.g mysite.wixsite.com/mysite)
17
+ // The base URL. For premium sites, this is the domain. For free sites, this is the site URL. For example, `mysite.wixsite.com/mysite`.
18
18
  string base = 1;
19
- // The path to that page - e.g /product-page/a-product
19
+ // The relative path for the page within the site. For example, `/product-page/a-product`.
20
20
  string path = 2;
21
21
  }
22
22
 
@@ -25,8 +25,8 @@ message PageUrlV2 {
25
25
  field: "relative_path"
26
26
  field: "url"
27
27
  };
28
- // The path to that page - e.g /product-page/a-product
28
+ // The relative path for the page within the site. For example, `/product-page/a-product`.
29
29
  string relative_path = 1;
30
- // The URL of that page. e.g https://mysite.com/product-page/a-product
30
+ // The page's full URL. For example, `https://mysite.com/product-page/a-product`.
31
31
  google.protobuf.StringValue url = 2;
32
32
  }
@@ -25,16 +25,17 @@ message CursorPaging {
25
25
  field: "limit"
26
26
  field: "cursor"
27
27
  };
28
- // Number of items to load.
28
+
29
+ // Maximum number of items to return in the results.
29
30
  google.protobuf.Int32Value limit = 1 [(.wix.api.min) = 0, (.wix.api.max) = 100];
31
+
30
32
  /*
31
33
  Pointer to the next or previous page in the list of results.
32
34
 
33
- You can get the relevant cursor token
34
- from the `pagingMetadata` object in the previous call's response.
35
+ Pass the relevant cursor token from the `pagingMetadata` object in the previous call's response.
35
36
  Not relevant for the first request.
36
37
  */
37
- google.protobuf.StringValue cursor = 2;
38
+ google.protobuf.StringValue cursor = 2 [(.wix.api.maxLength) = 16000];
38
39
  }
39
40
 
40
41
  message PagingMetadata {
@@ -86,13 +87,19 @@ message PagingMetadataV2 {
86
87
 
87
88
  message CursorPagingMetadata {
88
89
  option (.wix.api.decomposite_of) = "wix.common.PagingMetadataV2";
90
+
89
91
  // Number of items returned in the response.
90
92
  google.protobuf.Int32Value count = 1;
91
- // Offset that was requested.
93
+
94
+ // Cursor strings that point to the next page, previous page, or both.
92
95
  Cursors cursors = 2;
93
- // Indicates if there are more results after the current page.
94
- // If `true`, another page of results can be retrieved.
95
- // If `false`, this is the last page.
96
+
97
+ /*
98
+ Whether there are more pages to retrieve following the current page.
99
+
100
+ + `true`: Another page of results can be retrieved.
101
+ + `false`: This is the last page.
102
+ */
96
103
  google.protobuf.BoolValue has_next = 3;
97
104
  }
98
105
 
@@ -100,8 +107,10 @@ message Cursors {
100
107
  option (.wix.api.decomposition_minimum_fields) = {
101
108
  field: "next"
102
109
  };
103
- // Cursor pointing to next page in the list of results.
104
- google.protobuf.StringValue next = 1;
105
- // Cursor pointing to previous page in the list of results.
106
- google.protobuf.StringValue prev = 2;
110
+
111
+ // Cursor string pointing to the next page in the list of results.
112
+ google.protobuf.StringValue next = 1 [(.wix.api.maxLength) = 16000];
113
+
114
+ // Cursor pointing to the previous page in the list of results.
115
+ google.protobuf.StringValue prev = 2 [(.wix.api.maxLength) = 16000];
107
116
  }