@wix/bex-utils 2.71.0 → 2.72.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 (110) hide show
  1. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/builders.impl.d.ts +115 -0
  2. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/builders.impl.js +1340 -0
  3. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/builders.impl.js.map +1 -0
  4. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/http.impl.d.ts +29 -0
  5. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/http.impl.js +524 -0
  6. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/http.impl.js.map +1 -0
  7. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/meta.impl.d.ts +20 -0
  8. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/meta.impl.js +119 -0
  9. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/meta.impl.js.map +1 -0
  10. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/proto/client/proto-generated.d.ts +18874 -0
  11. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/proto/client/proto-generated.js +2 -0
  12. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/proto/proto-generated.d.ts +9468 -0
  13. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/proto/proto-generated.js +1 -0
  14. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/proto/server/proto-generated.d.ts +18788 -0
  15. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/proto/server/proto-generated.js +2 -0
  16. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/rpc.impl.d.ts +39 -0
  17. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/rpc.impl.js +113 -0
  18. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/rpc.impl.js.map +1 -0
  19. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/types.impl.d.ts +1248 -0
  20. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/types.impl.js +371 -0
  21. package/@wix/ambassador-dealer-v1-serving-offer/build/cjs/types.impl.js.map +1 -0
  22. package/@wix/ambassador-dealer-v1-serving-offer/build/es/builders.impl.d.ts +115 -0
  23. package/@wix/ambassador-dealer-v1-serving-offer/build/es/builders.impl.js +1209 -0
  24. package/@wix/ambassador-dealer-v1-serving-offer/build/es/builders.impl.js.map +1 -0
  25. package/@wix/ambassador-dealer-v1-serving-offer/build/es/http.impl.d.ts +29 -0
  26. package/@wix/ambassador-dealer-v1-serving-offer/build/es/http.impl.js +516 -0
  27. package/@wix/ambassador-dealer-v1-serving-offer/build/es/http.impl.js.map +1 -0
  28. package/@wix/ambassador-dealer-v1-serving-offer/build/es/meta.impl.d.ts +20 -0
  29. package/@wix/ambassador-dealer-v1-serving-offer/build/es/meta.impl.js +92 -0
  30. package/@wix/ambassador-dealer-v1-serving-offer/build/es/meta.impl.js.map +1 -0
  31. package/@wix/ambassador-dealer-v1-serving-offer/build/es/rpc.impl.d.ts +39 -0
  32. package/@wix/ambassador-dealer-v1-serving-offer/build/es/rpc.impl.js +86 -0
  33. package/@wix/ambassador-dealer-v1-serving-offer/build/es/rpc.impl.js.map +1 -0
  34. package/@wix/ambassador-dealer-v1-serving-offer/build/es/types.impl.d.ts +1248 -0
  35. package/@wix/ambassador-dealer-v1-serving-offer/build/es/types.impl.js +368 -0
  36. package/@wix/ambassador-dealer-v1-serving-offer/build/es/types.impl.js.map +1 -0
  37. package/@wix/ambassador-dealer-v1-serving-offer/builders/package.json +7 -0
  38. package/@wix/ambassador-dealer-v1-serving-offer/http/package.json +7 -0
  39. package/@wix/ambassador-dealer-v1-serving-offer/meta/package.json +7 -0
  40. package/@wix/ambassador-dealer-v1-serving-offer/package.json +52 -0
  41. package/@wix/ambassador-dealer-v1-serving-offer/rpc/package.json +6 -0
  42. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/abtest/v2/experiment_properties.proto +46 -0
  43. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/abtest/v2/experiment_results.proto +39 -0
  44. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/abtest/v2/experiment_support_kpis.proto +29 -0
  45. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/abtest/v2/experiments_properties_thin.proto +31 -0
  46. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/abtest/v2/wixab_service.proto +81 -0
  47. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/action_payload.proto +33 -0
  48. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/annotations.proto +451 -0
  49. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/api_errors.proto +142 -0
  50. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/callback.proto +163 -0
  51. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/context.proto +19 -0
  52. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/entity.proto +127 -0
  53. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/errors.proto +127 -0
  54. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/idempotency.proto +25 -0
  55. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/permissions.proto +46 -0
  56. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/sla.proto +24 -0
  57. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/subscription.proto +32 -0
  58. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/api/validations.proto +142 -0
  59. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/address.proto +148 -0
  60. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/bulk.proto +53 -0
  61. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/data/dataextensions/extended-fields.proto +20 -0
  62. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/data/dataextensions/update-extended-fields-messages.proto +15 -0
  63. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/data/errors.proto +435 -0
  64. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/identification.proto +40 -0
  65. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/image.proto +8 -0
  66. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/media.proto +280 -0
  67. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/money.proto +32 -0
  68. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/pageurl.proto +32 -0
  69. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/paging.proto +121 -0
  70. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/query.proto +812 -0
  71. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/sorting.proto +36 -0
  72. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/spi.proto +85 -0
  73. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/tags.proto +55 -0
  74. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/common/wixlink.proto +203 -0
  75. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/audiences.proto +226 -0
  76. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/campaigns.proto +270 -0
  77. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/frequency-caps.proto +74 -0
  78. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/localization-managers.proto +11 -0
  79. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/managers.proto +11 -0
  80. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/offer-test.proto +338 -0
  81. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/offer.proto +298 -0
  82. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/offers-service.proto +696 -0
  83. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/placements.proto +423 -0
  84. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/schemas-service.proto +142 -0
  85. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/targeting.proto +378 -0
  86. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/upstream/wix/common/paging.proto +126 -0
  87. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/upstream/wix/common/query.proto +840 -0
  88. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerBackoffice/api/v1/upstream/wix/common/sorting.proto +37 -0
  89. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerOffersServing/api/v1/dealer-offers-debug.proto +188 -0
  90. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerOffersServing/api/v1/dealer-offers-serving.proto +177 -0
  91. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerOffersServing/api/v1/offer.proto +87 -0
  92. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerPriority/api/v1/priority-service.proto +57 -0
  93. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/dealerPriority/api/v1/priority.proto +132 -0
  94. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/graphql/definitions.proto +13 -0
  95. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/http/field_mask.proto +46 -0
  96. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/optimization_test/v1/optimization_tester_service.proto +284 -0
  97. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/optimization_test/v1/test.proto +170 -0
  98. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/optimization_test/v1/upstream/wix/common/bulk.proto +56 -0
  99. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/optimization_test/v1/upstream/wix/common/paging.proto +121 -0
  100. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/optimization_test/v1/upstream/wix/common/query.proto +741 -0
  101. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/optimization_test/v1/upstream/wix/common/sorting.proto +26 -0
  102. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/targeting/v1/targeting.proto +406 -0
  103. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/targeting/v1/targeting_service.proto +247 -0
  104. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/variants_generator/v1/variant.proto +92 -0
  105. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/personalize/variants_generator/v1/variants_generator_service.proto +73 -0
  106. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/sdk/definitions.proto +191 -0
  107. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/spi/definitions.proto +187 -0
  108. package/@wix/ambassador-dealer-v1-serving-offer/src/main/proto/wix/spi/http_error_status.proto +24 -0
  109. package/@wix/ambassador-dealer-v1-serving-offer/types/package.json +7 -0
  110. package/package.json +5 -4
@@ -0,0 +1,36 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.common;
4
+
5
+ import "wix/api/annotations.proto";
6
+ import "wix/api/validations.proto";
7
+ import "google/protobuf/struct.proto";
8
+
9
+ option java_multiple_files = true;
10
+ option java_package = "com.wix.common";
11
+
12
+ message Sorting {
13
+ option (.wix.api.decomposition_minimum_fields) = {
14
+ field: "field_name"
15
+ field: "order"
16
+ };
17
+ // Name of the field to sort by.
18
+ string field_name = 1 [(.wix.api.maxLength) = 512];
19
+ // Sort order.
20
+ SortOrder order = 2;
21
+ // When `field_name` is a property of repeated field that is marked as `MATCH_ITEMS` and sort should be done by
22
+ // a specific element from a collection, filter can/should be provided to ensure correct sort value is picked.
23
+ //
24
+ // If multiple filters are provided, they are combined with AND operator.
25
+ //
26
+ // Example:
27
+ // Given we have document like {"id": "1", "nestedField": [{"price": 10, "region": "EU"}, {"price": 20, "region": "US"}]}
28
+ // and `nestedField` is marked as `MATCH_ITEMS`, to ensure that sorting is done by correct region, filter should be
29
+ // { fieldName: "nestedField.price", "select_items_by": [{"nestedField.region": "US"}] }
30
+ repeated google.protobuf.Struct select_items_by = 3 [(.wix.api.maxSize) = 10, (.wix.api.field_exposure) = PRIVATE];
31
+ }
32
+
33
+ enum SortOrder {
34
+ ASC = 0;
35
+ DESC = 1;
36
+ }
@@ -0,0 +1,85 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.common.spi;
4
+
5
+ import "google/protobuf/wrappers.proto";
6
+ import "wix/api/annotations.proto";
7
+ import "wix/api/validations.proto";
8
+
9
+ option java_multiple_files = true;
10
+ option java_package = "com.wix.common";
11
+
12
+ message SpiBaseUri {
13
+ option (.wix.api.decomposition_minimum_fields) = {
14
+ field: "base_uri"
15
+ field: "alternative_uris"
16
+ };
17
+ message AlternativeUri {
18
+ /*
19
+ Name of the method to create a custom URI for.
20
+
21
+ For `methodName`, use the name of the method in PascalCase.
22
+ For example, for Get Shipping Rates use `GetShippingRates`.
23
+ */
24
+ string method_name = 1 [(.wix.api.minLength) = 3, (.wix.api.maxLength) = 128];
25
+ /*
26
+ Custom URI that Wix uses to call your server for this method. The path-suffix documented in the method will not be appended to this URI.
27
+ Must be a secured endpoint beginning with `https://`. For example, `https://www.my-shipping-provider.com/my-shipping-rates`.
28
+ */
29
+ string absolute_uri = 2 [(.wix.api.minLength) = 6, (.wix.api.maxLength) = 2048];
30
+ }
31
+ /*
32
+ Base URI where the methods are called. Wix appends the path to the `baseUri`.
33
+ For example, to call the Get Shipping Rates method at `https://my-shipping-provider.com/v1/getRates`, the base URI you provide here is `https://my-shipping-provider.com/`.
34
+ */
35
+ string base_uri = 1 [(.wix.api.minLength) = 6, (.wix.api.maxLength) = 2048];
36
+ // Alternate, custom URIs to replace the default URIs for specific service plugin methods.
37
+ repeated AlternativeUri alternative_uris = 2;
38
+ }
39
+
40
+ /**
41
+ this message is not directly used by any service,
42
+ it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform.
43
+ e.g. SPIs, event-handlers, etc..
44
+ NOTE: this context object MUST be provided as the last argument in each Velo method signature.
45
+
46
+ Example:
47
+ ```typescript
48
+ export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) {
49
+ ...
50
+ }
51
+ ```
52
+ */
53
+ message Context {
54
+ message IdentificationData {
55
+ option (.wix.api.decomposite_of) = "wix.common.IdentificationData";
56
+ enum IdentityType {
57
+ UNKNOWN = 0;
58
+ ANONYMOUS_VISITOR = 1;
59
+ MEMBER = 2;
60
+ WIX_USER = 3;
61
+ APP = 4;
62
+ }
63
+ reserved 1;
64
+ IdentityType identity_type = 6 [(.wix.api.readOnly) = true];
65
+ oneof id {
66
+ // ID of a site visitor that has not logged in to the site.
67
+ string anonymous_visitor_id = 2 [(.wix.api.format) = GUID];
68
+ // ID of a site visitor that has logged in to the site.
69
+ string member_id = 3 [(.wix.api.format) = GUID, (.wix.api.referenced_entity) = "wix.members.v1.member"];
70
+ // ID of a Wix user (site owner, contributor, etc.).
71
+ string wix_user_id = 4 [(.wix.api.format) = GUID];
72
+ // ID of an app.
73
+ string app_id = 5 [(.wix.api.format) = GUID];
74
+ }
75
+ }
76
+ google.protobuf.StringValue request_id = 1; // A unique identifier of the request. You may print this ID to your logs to help with future debugging and easier correlation with Wix's logs.
77
+ google.protobuf.StringValue currency = 2 [(.wix.api.format) = CURRENCY]; // [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code.
78
+ IdentificationData identity = 3; // An object that describes the identity that triggered this request.
79
+ repeated string languages = 4; // A string representing a language and region in the format of `"xx-XX"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash "-", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `"en-US"`.
80
+ google.protobuf.StringValue instance_id = 5 [(.wix.api.format) = GUID]; // The service provider app's instance ID.
81
+ google.protobuf.StringValue app_extension_id = 6 [(.wix.api.maxLength) = 256, (wix.api.field_maturity) = ALPHA]; // Extension ID in Dev Center.
82
+ google.protobuf.StringValue app_extension_type = 7 [(.wix.api.maxLength) = 256, (wix.api.field_maturity) = ALPHA]; // Extension type in Dev Center.
83
+ google.protobuf.StringValue function_name = 8 [(.wix.api.maxLength) = 256, (wix.api.field_maturity) = ALPHA]; // Invoked function.
84
+
85
+ }
@@ -0,0 +1,55 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.common.tags;
4
+
5
+ import "google/protobuf/wrappers.proto";
6
+ import "wix/api/annotations.proto";
7
+ import "wix/api/validations.proto";
8
+
9
+ option java_multiple_files = true;
10
+ option java_package = "com.wix.common";
11
+ /*
12
+ Common object for tags.
13
+ Should be use as in this example:
14
+ message Foo {
15
+ string id = 1;
16
+ // ...
17
+ Tags tags = 5
18
+ }
19
+
20
+ example of taggable entity
21
+ {
22
+ id: "123"
23
+ tags: {
24
+ tags: {
25
+ tag_ids:["11","22"]
26
+ },
27
+ private_tags: {
28
+ tag_ids: ["33", "44"]
29
+ }
30
+ }
31
+ }
32
+ */
33
+ message Tags {
34
+ option (.wix.api.decomposition_minimum_fields) = {
35
+ field: "tags"
36
+ };
37
+
38
+ message TagList {
39
+ repeated string tag_ids = 1 [(.wix.api.referenced_entity) = "wix.os.tags.v1.tag", (.wix.api.maxSize) = 100, (.wix.api.maxLength) = 5]; // List of tag IDs
40
+ }
41
+ TagList private_tags = 1; // Tags that require an additional permission in order to access them, normally not given to site members or visitors.
42
+ TagList tags = 2; // Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.
43
+ }
44
+
45
+ message PublicTags {
46
+ option (.wix.api.decomposite_of) = "wix.common.tags.Tags";
47
+ option (.wix.api.decomposition_minimum_fields) = {
48
+ field: "tags"
49
+ };
50
+
51
+ message TagList {
52
+ repeated string tag_ids = 1 [(.wix.api.referenced_entity) = "wix.os.tags.v1.tag", (.wix.api.maxSize) = 100, (.wix.api.maxLength) = 5]; // List of tag IDs
53
+ }
54
+ TagList tags = 2; // Tags that are exposed to anyone who has access to the labeled entity itself, including site members and visitors.
55
+ }
@@ -0,0 +1,203 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.common;
4
+
5
+ option java_multiple_files = true;
6
+ option java_outer_classname = "WixLinkProto";
7
+ option java_package = "com.wix.common";
8
+
9
+ import "wix/api/annotations.proto";
10
+ import "wix/api/validations.proto";
11
+ import "google/protobuf/wrappers.proto";
12
+
13
+ //The link object generated by panels in the editor and used by applications in Wix
14
+ message WixLink {
15
+ option (.wix.api.decomposition_minimum_fields) = {
16
+ field: "external"
17
+ };
18
+ option (.wix.api.decomposition_minimum_fields) = {
19
+ field: "page"
20
+ };
21
+ option (.wix.api.decomposition_minimum_fields) = {
22
+ field: "anchor"
23
+ };
24
+ option (.wix.api.decomposition_minimum_fields) = {
25
+ field: "dynamic_page"
26
+ };
27
+ option (.wix.api.decomposition_minimum_fields) = {
28
+ field: "document"
29
+ };
30
+ option (.wix.api.decomposition_minimum_fields) = {
31
+ field: "email"
32
+ };
33
+ option (.wix.api.decomposition_minimum_fields) = {
34
+ field: "phone"
35
+ };
36
+ option (.wix.api.decomposition_minimum_fields) = {
37
+ field: "address"
38
+ };
39
+ option (.wix.api.decomposition_minimum_fields) = {
40
+ field: "whats_app"
41
+ };
42
+ option (.wix.api.decomposition_minimum_fields) = {
43
+ field: "tpa_page_link"
44
+ };
45
+ oneof Link {
46
+ ExternalLink external = 1; // External link type
47
+ PageLink page = 2; // Page link type
48
+ AnchorLink anchor = 3; // Anchor link type
49
+ DynamicPageLink dynamic_page = 4; // Dynamic page link type
50
+ DocumentLink document = 5; // Document link type
51
+ EmailLink email = 6; // Email link type
52
+ PhoneLink phone = 7; // Phone link type
53
+ AddressLink address = 8; // Address link type
54
+ WhatsAppLink whats_app = 9; // WhatsApp link type
55
+ TpaPageLink tpa_page = 10; // TPA link type
56
+ }
57
+ }
58
+
59
+ message ExternalLink {
60
+ option (.wix.api.decomposition_minimum_fields) = {
61
+ field: "url"
62
+ };
63
+ //The url of the page
64
+ string url = 1 [(.wix.api.format) = WEB_URL];
65
+ //Where this link should open, supports _self and _blank or any name the user chooses. _self means same page, _blank means new page.
66
+ google.protobuf.StringValue target = 2;
67
+ //rel of link
68
+ repeated LinkRel rel = 3 [(.wix.api.maxSize) = 20, (.wix.api.field_exposure) = PRIVATE];
69
+ }
70
+
71
+ message PageLink {
72
+ option (.wix.api.decomposition_minimum_fields) = {
73
+ field: "page_id"
74
+ };
75
+ //The page id we want from the site
76
+ string page_id = 1;
77
+ //Where this link should open, supports _self and _blank or any name the user chooses. _self means same page, _blank means new page.
78
+ google.protobuf.StringValue target = 2;
79
+ //rel of link
80
+ repeated LinkRel rel = 3 [(wix.api.maxSize) = 20];
81
+ }
82
+
83
+ message AnchorLink {
84
+ option (.wix.api.decomposition_minimum_fields) = {
85
+ field: "anchor_name"
86
+ field: "anchor_data_id"
87
+ field: "page_id"
88
+ };
89
+ //The name of the anchor
90
+ string anchor_name = 1;
91
+ //The data id (from the JSON page) of the anchor that should be used
92
+ string anchor_data_id = 2;
93
+ //The page id we want from the site
94
+ string page_id = 3;
95
+ //rel of link
96
+ repeated LinkRel rel = 4 [(wix.api.maxSize) = 20];
97
+ }
98
+
99
+ message DynamicPageLink {
100
+ option (.wix.api.decomposition_minimum_fields) = {
101
+ field: "router_id"
102
+ field: "inner_route"
103
+ field: "anchor_data_id"
104
+ };
105
+ //The router that handles this link
106
+ string router_id = 1;
107
+ //The path data we'd like
108
+ string inner_route = 2;
109
+ //The data id (from the JSON page) of the anchor that should be used
110
+ google.protobuf.StringValue anchor_data_id = 3;
111
+ //rel of link
112
+ repeated LinkRel rel = 4 [(wix.api.maxSize) = 20];
113
+ }
114
+
115
+ message DocumentLink {
116
+ option (.wix.api.decomposition_minimum_fields) = {
117
+ field: "doc_id"
118
+ field: "name"
119
+ };
120
+ //The id of the document
121
+ string doc_id = 1;
122
+ //The name of the document for download purposes
123
+ google.protobuf.StringValue name = 2;
124
+ //If this document can be indexed by scrapers, default is false
125
+ bool indexable = 3;
126
+ }
127
+
128
+ message EmailLink {
129
+ option (.wix.api.decomposition_minimum_fields) = {
130
+ field: "recipient"
131
+ field: "subject"
132
+ field: "body"
133
+ };
134
+ //The email we will be sending a message to
135
+ string recipient = 1 [(.wix.api.format) = EMAIL];
136
+ //The subject of the email
137
+ google.protobuf.StringValue subject = 2;
138
+ //The body of the email
139
+ google.protobuf.StringValue body = 3;
140
+ }
141
+
142
+ message PhoneLink {
143
+ option (.wix.api.decomposition_minimum_fields) = {
144
+ field: "phone_number"
145
+ };
146
+ //The phone number we want to link to
147
+ string phone_number = 1 [(.wix.api.pii) = true, (.wix.api.format) = PHONE, (.wix.api.maxLength) = 100];
148
+ }
149
+
150
+ message AddressLink {
151
+ option (.wix.api.decomposition_minimum_fields) = {
152
+ field: "address"
153
+ };
154
+ //An address that we can link to
155
+ string address = 1 [(.wix.api.pii) = true];
156
+ }
157
+
158
+ message WhatsAppLink {
159
+ option (.wix.api.decomposition_minimum_fields) = {
160
+ field: "phone_number"
161
+ };
162
+ //The whatsApp phone number we want to connect with
163
+ string phone_number = 1 [(.wix.api.pii) = true, (.wix.api.format) = PHONE];
164
+ }
165
+
166
+ //Link to a TPA page
167
+ message TpaPageLink {
168
+ option (.wix.api.decomposition_minimum_fields) = {
169
+ field: "item_type_identifier"
170
+ field: "item_id"
171
+ field: "page_id"
172
+ field: "app_definition_id"
173
+ field: "path"
174
+ };
175
+ //Type of item (e.g. 'wix.stores.sub_pages.product')
176
+ string item_type_identifier = 1;
177
+ //Id of linked item
178
+ string item_id = 2;
179
+ //Id of linked page
180
+ string page_id = 3;
181
+ //Id of app being linked to (AppDefId)
182
+ string app_definition_id = 4;
183
+ //The relativepath of linked page
184
+ string path = 5;
185
+ //rel of link
186
+ repeated LinkRel rel = 6 [(wix.api.maxSize) = 20];
187
+ }
188
+
189
+ //The 'rel' attribute of the link. The rel attribute defines the relationship between a linked resource and the current document.
190
+ //Further reading (also about different possible rel types): https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel
191
+ //Following are the accepted 'rel' types by Wix applications.
192
+ enum LinkRel {
193
+ // default (not implemented)
194
+ unknown_link_rel = 0 [(.wix.api.enum_maturity) = NOT_IMPLEMENTED];
195
+ //Indicates that the current document's original author or publisher does not endorse the referenced document.
196
+ nofollow = 1;
197
+ //Instructs the browser to navigate to the target resource without granting the new browsing context access to the document that opened it.
198
+ noopener = 2;
199
+ //No Referer header will be included. Additionally, has the same effect as noopener.
200
+ noreferrer = 3;
201
+ //Indicates a link that resulted from advertisements or paid placements.
202
+ sponsored = 4;
203
+ }
@@ -0,0 +1,226 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.dealerBackoffice.api.v1;
4
+
5
+ import "google/api/annotations.proto";
6
+ import "google/protobuf/wrappers.proto";
7
+ import "wix/api/callback.proto";
8
+
9
+ import "wix/api/annotations.proto";
10
+ import "wix/api/validations.proto";
11
+ import "wix/api/permissions.proto";
12
+ import "wix/api/entity.proto";
13
+ import "wix/dealerBackoffice/api/v1/targeting.proto";
14
+ import "wix/dealerBackoffice/api/v1/managers.proto";
15
+
16
+ option java_package = "com.wix.dealerBackoffice.api.v1";
17
+
18
+ // Endpoint for managing dealer audiences (see description of Audience entity)
19
+ service AudienceService {
20
+ option (wix.api.service_entity).message = "wix.dealerBackoffice.api.v1.Audience";
21
+ option (wix.api.service_maturity) = ALPHA;
22
+ option (wix.api.service_exposure) = INTERNAL;
23
+
24
+ // Get all audiences by ids.
25
+ // No exceptions are thrown if some/all audiences were not found.
26
+ // Worst case scenario (no audiences are found by provided id list) — you get empty array.
27
+ rpc GetAudiencesBulk (GetAudiencesBulkRequest) returns (GetAudiencesBulkResponse) {
28
+ option (google.api.http).get = "/v1/dealer/backoffice/audiences/bulk";
29
+ option (wix.api.required) = "GetAudiencesBulkRequest.audience_ids";
30
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.READ_AUDIENCE";
31
+ }
32
+
33
+ // Get an audience by id.
34
+ // GrpcStatus.NOT_FOUND is thrown if requested audience is not found in DB
35
+ rpc GetAudience (GetAudienceRequest) returns (GetAudienceResponse) {
36
+ option (google.api.http).get = "/v1/dealer/backoffice/audiences/{audience_id}";
37
+ option (wix.api.required) = "GetAudienceRequest.audience_id";
38
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.READ_AUDIENCE";
39
+ option (wix.api.crud) = {
40
+ method: GET_ITEM
41
+ get_options: {
42
+ id_field: "audience_id"
43
+ }
44
+ };
45
+ }
46
+
47
+ // List all audiences
48
+ rpc ListAudiences (ListAudiencesRequest) returns (ListAudiencesResponse) {
49
+ option (google.api.http).get = "/v1/dealer/backoffice/audiences";
50
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.READ_AUDIENCE";
51
+ }
52
+
53
+ rpc CreateAudience (CreateAudienceRequest) returns (CreateAudienceResponse) {
54
+ option (google.api.http).post = "/v1/dealer/backoffice/audiences";
55
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.MUTATE_AUDIENCE";
56
+ option (wix.api.required) = "CreateAudienceRequest.audience";
57
+ option (wix.api.crud) = {
58
+ method: CREATE
59
+ create_options: {
60
+ item_field: "audience"
61
+ }
62
+ };
63
+ option (wix.api.callback) = {
64
+ event_type: CREATED
65
+ };
66
+ }
67
+
68
+ // Update audience.
69
+ // Cannot update audience criteria or external criteria. Use SetAudienceCriteria instead.
70
+ rpc updateAudience (UpdateAudienceRequest) returns (UpdateAudienceResponse) {
71
+ option (google.api.http).put = "/v1/dealer/backoffice/audiences";
72
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.MUTATE_AUDIENCE";
73
+ }
74
+
75
+ rpc ArchiveAudience (ArchiveAudienceRequest) returns (ArchiveAudienceResponse) {
76
+ option (wix.api.required) = "ArchiveAudienceRequest.audience_id";
77
+ option (google.api.http).post = "/v1/dealer/backoffice/audiences/archive";
78
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.MUTATE_AUDIENCE";
79
+ }
80
+
81
+ // Set specific audience criteria
82
+ rpc SetAudienceCriteria(SetAudienceCriteriaRequest) returns (SetAudienceCriteriaResponse) {
83
+ option (google.api.http).put = "/v1/dealer/backoffice/audiences/{audience_id}/criteria";
84
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.MUTATE_AUDIENCE";
85
+ }
86
+
87
+ // Migrate audience to new Nile Audience Service
88
+ rpc MigrateAudience (MigrateAudienceRequest) returns (MigrateAudienceResponse) {
89
+ option (google.api.http).put = "/v1/dealer/backoffice/audiences/{audience_id}/migrate";
90
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.MUTATE_AUDIENCE";
91
+ }
92
+ }
93
+
94
+ // Single audience request
95
+ message GetAudienceRequest {
96
+ // required
97
+ string audience_id = 1 [(wix.api.format) = GUID];
98
+ }
99
+
100
+ // Single audience response
101
+ message GetAudienceResponse {
102
+ Audience audience = 1;
103
+ }
104
+
105
+ message ListAudiencesRequest {
106
+ }
107
+
108
+ // List all audiences response
109
+ message ListAudiencesResponse {
110
+ repeated Audience audiences = 1;
111
+ }
112
+
113
+ message CreateAudienceRequest {
114
+ Audience audience = 1;
115
+ }
116
+
117
+ message CreateAudienceResponse {
118
+ Audience audience = 1;
119
+ }
120
+
121
+ message UpdateAudienceRequest {
122
+ Audience audience = 1;
123
+ }
124
+
125
+ message UpdateAudienceResponse {
126
+ Audience audience = 1;
127
+ }
128
+
129
+ message ArchiveAudienceRequest {
130
+ string audience_id = 1 [(wix.api.format) = GUID, (wix.api.readOnly) = true];
131
+ }
132
+
133
+ message ArchiveAudienceResponse {}
134
+
135
+ message SetAudienceCriteriaRequest {
136
+ string audience_id = 1 [(wix.api.format) = GUID, (wix.api.readOnly) = true];
137
+
138
+ CustomFilterCriteria criteria = 2;
139
+
140
+ ExternalCriteria external_criteria = 3;
141
+
142
+ Audience.Level level = 4;
143
+ }
144
+
145
+ message SetAudienceCriteriaResponse {
146
+ Audience audience = 1;
147
+ }
148
+
149
+ // Multi audiences request
150
+ message GetAudiencesBulkRequest {
151
+ // required
152
+ repeated string audience_ids = 1 [(wix.api.format) = GUID];
153
+ }
154
+
155
+ // Multi audiences bulk response
156
+ message GetAudiencesBulkResponse {
157
+ repeated Audience audiences = 1;
158
+ }
159
+
160
+ message MigrateAudienceRequest {
161
+ string audience_id = 1 [(wix.api.format) = GUID, (wix.api.readOnly) = true];
162
+ }
163
+
164
+ message MigrateAudienceResponse { }
165
+
166
+ // Audience defines a group of Wix users and used as a filter in dealer offers https://bo.wix.com/wix-docs/rest/internal-tools/dealer-offers-serving/introduction
167
+ // When dealer offer has audience filter, dealer filters the offer based on wether user belongs to provided
168
+ // audience or not.
169
+ //
170
+ // Audience targeting currently supports bi profile user groups, site groups and simple bi field value
171
+ // conditions https://bo.wix.com/bi-profile-service#/groups
172
+ // Dor example 'Editor X users' audience mean "all users who has `editor_x_users` in bi profile user_groups".
173
+ message Audience {
174
+ option (wix.api.entity) = {fqdn:"wix.dealer.v1.audience", segment: USERS};
175
+
176
+ enum Level {
177
+ UNKNOWN = 0;
178
+ USER = 1;
179
+ SITE = 2;
180
+ };
181
+
182
+ // Unique audience guid
183
+ string guid = 1 [(wix.api.format) = GUID, (wix.api.readOnly) = true];
184
+
185
+ // Audience name
186
+ google.protobuf.StringValue name = 2 [(wix.api.minLength) = 1];
187
+
188
+ // Audience description
189
+ google.protobuf.StringValue description = 3 [(wix.api.minLength) = 1];
190
+
191
+ // URL of wix bi service catalog on profile field used for this audience
192
+ google.protobuf.StringValue field_link = 4 [(wix.api.minLength) = 1];
193
+
194
+ // Used as link to bi table for reports of audiences
195
+ google.protobuf.StringValue offline_source_table = 5 [(wix.api.minLength) = 1];
196
+
197
+ // Used as link to bi table for reports of audiences
198
+ google.protobuf.StringValue offline_query_condition = 6;
199
+
200
+ // Category of the audience (for example "App Funnels")
201
+ google.protobuf.StringValue category = 7 [(wix.api.minLength) = 1];
202
+
203
+ // Label of the audience (for example "Events")
204
+ google.protobuf.StringValue label = 8 [(wix.api.minLength) = 1];
205
+
206
+ // BI filter criteria, corresponding to this audience.
207
+ // Basically a user belongs to this audience if and only if this criteria for the user is satisfied.
208
+ // Different audiences should have different criterias.
209
+ CustomFilterCriteria criteria = 9;
210
+
211
+ // Priority of the audience to be used in BO UI etc.
212
+ google.protobuf.Int32Value ui_order = 10;
213
+
214
+ // If this audience is updated in realtime or not (from BI side).
215
+ google.protobuf.BoolValue real_time_update = 11 [(wix.api.readOnly) = true];
216
+
217
+ // Who are the managers of the audience in Wix
218
+ ManagerIdsWrapper managers_ids = 12;
219
+
220
+ reserved 13;
221
+
222
+ // SPI for audience
223
+ ExternalCriteria external_criteria = 14;
224
+
225
+ Level level = 15;
226
+ }