@wix/bex-utils 2.77.0 → 2.79.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 (77) hide show
  1. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/builders.impl.d.ts +22 -0
  2. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/builders.impl.js +275 -0
  3. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/builders.impl.js.map +1 -0
  4. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/http.impl.d.ts +50 -0
  5. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/http.impl.js +250 -0
  6. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/http.impl.js.map +1 -0
  7. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/meta.impl.d.ts +16 -0
  8. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/meta.impl.js +81 -0
  9. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/meta.impl.js.map +1 -0
  10. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/proto/client/proto-generated.d.ts +7116 -0
  11. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/proto/client/proto-generated.js +2 -0
  12. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/proto/proto-generated.d.ts +3557 -0
  13. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/proto/proto-generated.js +1 -0
  14. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/proto/server/proto-generated.d.ts +7113 -0
  15. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/proto/server/proto-generated.js +2 -0
  16. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/rpc.impl.d.ts +59 -0
  17. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/rpc.impl.js +109 -0
  18. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/rpc.impl.js.map +1 -0
  19. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/types.impl.d.ts +343 -0
  20. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/types.impl.js +42 -0
  21. package/@wix/ambassador-dealer-v1-offer-event/build/cjs/types.impl.js.map +1 -0
  22. package/@wix/ambassador-dealer-v1-offer-event/build/es/builders.impl.d.ts +22 -0
  23. package/@wix/ambassador-dealer-v1-offer-event/build/es/builders.impl.js +239 -0
  24. package/@wix/ambassador-dealer-v1-offer-event/build/es/builders.impl.js.map +1 -0
  25. package/@wix/ambassador-dealer-v1-offer-event/build/es/http.impl.d.ts +50 -0
  26. package/@wix/ambassador-dealer-v1-offer-event/build/es/http.impl.js +244 -0
  27. package/@wix/ambassador-dealer-v1-offer-event/build/es/http.impl.js.map +1 -0
  28. package/@wix/ambassador-dealer-v1-offer-event/build/es/meta.impl.d.ts +16 -0
  29. package/@wix/ambassador-dealer-v1-offer-event/build/es/meta.impl.js +56 -0
  30. package/@wix/ambassador-dealer-v1-offer-event/build/es/meta.impl.js.map +1 -0
  31. package/@wix/ambassador-dealer-v1-offer-event/build/es/rpc.impl.d.ts +59 -0
  32. package/@wix/ambassador-dealer-v1-offer-event/build/es/rpc.impl.js +84 -0
  33. package/@wix/ambassador-dealer-v1-offer-event/build/es/rpc.impl.js.map +1 -0
  34. package/@wix/ambassador-dealer-v1-offer-event/build/es/types.impl.d.ts +343 -0
  35. package/@wix/ambassador-dealer-v1-offer-event/build/es/types.impl.js +39 -0
  36. package/@wix/ambassador-dealer-v1-offer-event/build/es/types.impl.js.map +1 -0
  37. package/@wix/ambassador-dealer-v1-offer-event/builders/package.json +7 -0
  38. package/@wix/ambassador-dealer-v1-offer-event/http/package.json +7 -0
  39. package/@wix/ambassador-dealer-v1-offer-event/meta/package.json +7 -0
  40. package/@wix/ambassador-dealer-v1-offer-event/package.json +52 -0
  41. package/@wix/ambassador-dealer-v1-offer-event/rpc/package.json +6 -0
  42. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/api/action_payload.proto +33 -0
  43. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/api/annotations.proto +451 -0
  44. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/api/api_errors.proto +142 -0
  45. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/api/callback.proto +163 -0
  46. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/api/context.proto +19 -0
  47. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/api/entity.proto +127 -0
  48. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/api/errors.proto +127 -0
  49. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/api/idempotency.proto +25 -0
  50. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/api/permissions.proto +46 -0
  51. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/api/sla.proto +24 -0
  52. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/api/subscription.proto +32 -0
  53. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/api/validations.proto +142 -0
  54. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/common/address.proto +148 -0
  55. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/common/bulk.proto +53 -0
  56. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/common/identification.proto +40 -0
  57. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/common/image.proto +8 -0
  58. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/common/media.proto +280 -0
  59. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/common/money.proto +32 -0
  60. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/common/pageurl.proto +32 -0
  61. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/common/paging.proto +121 -0
  62. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/common/query.proto +799 -0
  63. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/common/sorting.proto +36 -0
  64. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/common/spi.proto +85 -0
  65. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/common/tags.proto +55 -0
  66. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/common/wixlink.proto +203 -0
  67. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/dealerOfferEvents/api/v1/dealer-offer-events.proto +211 -0
  68. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/dealerOfferEvents/api/v1/event.proto +131 -0
  69. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/graphql/definitions.proto +13 -0
  70. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/http/field_mask.proto +46 -0
  71. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/sdk/definitions.proto +191 -0
  72. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/spi/definitions.proto +187 -0
  73. package/@wix/ambassador-dealer-v1-offer-event/src/main/proto/wix/spi/http_error_status.proto +24 -0
  74. package/@wix/ambassador-dealer-v1-offer-event/types/package.json +7 -0
  75. package/@wix/bex-bundled-mini-essentials/CHANGELOG.md +4 -0
  76. package/@wix/bex-bundled-mini-essentials/package.json +1 -1
  77. 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,211 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.dealerOfferEvents.api.v1;
4
+
5
+ import "google/api/annotations.proto";
6
+ import "google/protobuf/timestamp.proto";
7
+ import "google/protobuf/field_mask.proto";
8
+ import "google/protobuf/wrappers.proto";
9
+ import "google/protobuf/struct.proto";
10
+ import "wix/api/entity.proto";
11
+ import "wix/api/annotations.proto";
12
+ import "wix/api/validations.proto";
13
+ import "wix/common/query.proto";
14
+ import "wix/common/paging.proto";
15
+
16
+ import "wix/dealerOfferEvents/api/v1/event.proto";
17
+
18
+ option java_package = "com.wix.dealerOfferEvents.api.v1";
19
+
20
+ service DealerOfferEventsService {
21
+ option (wix.api.service_entity).message = "wix.dealerOfferEvents.api.v1.OfferEvent";
22
+ option (wix.api.service_exposure) = INTERNAL;
23
+
24
+ // Report an event for a Dealer Offer for a specific user identity and metasite.
25
+ // required fields: event.type, event.offer_id and event.real_estate_id (placementId) in addition - some of the event types require specific payload.
26
+ // For example MAIN_CTA_CLICK needs to be reported with main_cta_click payload that contains additional data on the event such as target_url.
27
+ // VIEW event does not require any additional information.
28
+ //
29
+ // Identity and metasite are taken implicitly from request by default - NO NEED TO PASS SUCH INFO.
30
+ // If an event is reported from metasite(BM/EDITOR), MAKE SURE request is sent with an authorization header.
31
+ //
32
+ // For some EDGE CASES - privileged apps with DEALER.OFFER_EVENTS_EXPLICIT_CONTEXT can report on behalf of user and fill identity(user_id and msid) fields.
33
+ rpc ReportEvent (ReportEventRequest) returns (ReportEventResponse) {
34
+ option (google.api.http).post = "/v1/dealer-offer-events/{event.offer_id}";
35
+
36
+ option (wix.api.required) = "ReportEventRequest.event.offer_id";
37
+ option (wix.api.maturity) = GA;
38
+ };
39
+
40
+ // return list of offer events summary for a bulk of offer ids.
41
+ // a summary response contains last event happened for each event type or event counts.
42
+ // - you have to provide field masks for all the event types you want to get for each offer.
43
+ // BY DEFAULT Summaries will be filtered by the implicit identity and metasite in the request.
44
+ //
45
+ // FOR SOME EDGE CASES - special permission DEALER.OFFER_EVENTS_EXPLICIT_CONTEXT is required in order to pass explicit identity and metasite filter.
46
+ //
47
+ // You can request event summary data for specific offers or specific campaigns.
48
+ //
49
+ // In case campaign level events summary requested, cumulative data is returned:
50
+ // — events counters are a sum of all campaign's offer events counters
51
+ // — lastEvent for campaign is the lastEvent of the "latest" offer within campaign
52
+ // — etc.
53
+ //
54
+ // If summary_filter.placement_id is set, then only offers belonging to campaign & placement is counted
55
+ // for campaign level summary
56
+ //
57
+ // If offer_ids is empty — you get empty result.events_summary
58
+ // If campaign_ids empty — you get empty result.campaign_events_summary
59
+ //
60
+ rpc ListEventsSummary (ListEventsSummaryRequest) returns (ListEventsSummaryResponse) {
61
+ option (google.api.http).get = "/v1/dealer-offer-events/summary";
62
+ option (wix.api.required) = "ListEventsSummaryRequest.summary_filter.field_mask";
63
+ option (wix.api.maturity) = GA;
64
+ };
65
+
66
+ // ONLY SUPPORTED FOR EVENT TYPE AGENT_MARK - USER JOURNEY USE CASES
67
+ // Returns list of offer events for given filters.
68
+ // Filters: offer_id (required), event_type (required, only AGENT_MARK); siteId is taken implicitly
69
+ // from aspects, so they must be server signed with siteId.
70
+ // Supported `paging`. Events limit by default is 200.
71
+ // Not supported 'sort`, `fields` and `fieldsets`. Events are sorted in descending order by creation_date.
72
+ //
73
+ // Query examples:
74
+ // query: { filter: { offer_id: <uuid> }, event_type: 'AGENT_MARK'}}
75
+ // query: { filter: { offer_id: { $in: [<uuid1>, <uuid2>] }, event_type: 'AGENT_MARK'}}
76
+ // query: { filter: { offer_id: { $in: [<uuid1>, <uuid2>] }, event_type: 'AGENT_MARK'}, paging: { offset: 10, limit: 100 } }
77
+ rpc QueryEvents (QueryEventsRequest) returns (QueryEventsResponse) {
78
+
79
+ option (google.api.http).get = "/v1/dealer-offer-events/query";
80
+
81
+ option (wix.api.required) = "QueryEventsRequest.query";
82
+ option (wix.api.required) = "QueryEventsRequest.query.filter";
83
+ option (wix.api.maturity) = ALPHA;
84
+ };
85
+ }
86
+
87
+
88
+ message ReportEventRequest {
89
+ // Event properties container
90
+ OfferEvent event = 1;
91
+
92
+ // Deviant Art specific use-case: signed jwt token with uuid of deviant art user in wix bi infra
93
+ google.protobuf.StringValue deviant_art_user_id = 2 [(.wix.api.maxLength) = 4096];
94
+ }
95
+
96
+ message ReportEventResponse {
97
+ }
98
+
99
+
100
+ message ListEventsSummaryRequest {
101
+ // each element in response.eventsSummary is a summary of offerId
102
+ repeated string offer_ids = 1 [(wix.api.format) = GUID];
103
+
104
+ // each element in response.campaignEventsSummary is a summary of corresponding campaignId
105
+ repeated string campaign_ids = 3 [(wix.api.format) = GUID];
106
+
107
+ // applied to each requested offer or each offer within requested campaigns
108
+ // all fields are optional - if not passing fields mask then no summary will be returned
109
+ SummaryFilter summary_filter = 2;
110
+ }
111
+
112
+ message SummaryFilter {
113
+ // OPNIONAL - only events reported with this user id will be taken into account - supported by AGENT_MARK only
114
+ google.protobuf.StringValue user_id = 1 [(wix.api.format) = GUID];
115
+
116
+ // OPNIONAL - only events reported with this account id will be taken into account
117
+ google.protobuf.StringValue target_account_id = 2 [(wix.api.format) = GUID];
118
+
119
+ // OPNIONAL - only events reported with this site id will be taken into account
120
+ google.protobuf.StringValue site_id = 3 [(wix.api.format) = GUID];
121
+
122
+ reserved 4;
123
+
124
+ // which placement offers take into account in campaign scope (applicable only for campaign_ids requests)
125
+ google.protobuf.StringValue placement_id = 6 [(wix.api.format) = GUID];
126
+ // todo: add (wix.api.referenced_entity) = "wix.dealer.v1.placement"]; when it's on BO API
127
+
128
+ // Array of strings that will determine which events will be included in EventsSummary response
129
+ // In the format of EventsSummary fields "<event_usecase>.<event_type>"
130
+ //
131
+ // Possible values for VIEW events:
132
+ // - lastEvent.VIEW
133
+ // - eventsCount.VIEW
134
+ // Possible values for MAIN_CTA_CLICK events:
135
+ // * get last main cta click of any action type:
136
+ // - lastEvent.MAIN_CTA_CLICK
137
+ // - eventsCount.MAIN_CTA_CLICK
138
+ //
139
+ // Possible values for AGENT_MARK events:
140
+ // * get last event of any status:
141
+ // - lastEvent.AGENT_MARK
142
+ //
143
+ //
144
+ // For example:
145
+ // "lastEvent.VIEW,lastEvent.AGENT_MARK,eventsCount.MAIN_CTA_CLICK"
146
+ //
147
+ // will result in (if CLOSE event exists for given offer/user/metasite)
148
+ // {
149
+ // lastEvent: {
150
+ // VIEW: {...(OfferEvent data)},
151
+ // AGENT_MARK: {...(OfferEvent data)}
152
+ // },
153
+ // eventsCount:{ MAIN_CTA_CLICK: { totalCount: 20 }}
154
+ // }
155
+ //
156
+ google.protobuf.FieldMask field_mask = 5;
157
+ }
158
+
159
+ message EventCounts {
160
+ // counter
161
+ google.protobuf.Int32Value total_count = 1;
162
+ }
163
+
164
+ message EventsSummary {
165
+ // If set - means this summary is about the offer
166
+ google.protobuf.StringValue offer_id = 1 [(wix.api.format) = GUID];
167
+ // todo: add (wix.api.referenced_entity) = "wix.dealer.v1.backoffice_offer"]; when it's on BO API
168
+
169
+ // If set - means this summary is about the campaign
170
+ google.protobuf.StringValue campaign_id = 5 [(wix.api.format) = GUID];
171
+ // todo: add (wix.api.referenced_entity) = "wix.dealer.v1.campaign"]; when it's on BO API
172
+
173
+ // Campaign summary: Last event per type among all offers within campaign (+ placement if filter specified)
174
+ // Offer summary: Last event per type for given offer
175
+ //
176
+ // key is a value from EventType enum
177
+ // OfferEvent enity eill be returned partailly dependeing on event type - see details on entity
178
+ map<string, OfferEvent> last_event = 3;
179
+
180
+ // Campaign summary: cumulative counters for all offer events of the same type within this campaign (+ placement if filter specified)
181
+ // Offer summary: event counts per type for given offer
182
+ //
183
+ // key is a value from EventType enum
184
+ map<string, EventCounts> events_count = 10;
185
+
186
+ reserved 2, 4;
187
+ }
188
+
189
+ message ListEventsSummaryResponse {
190
+ // list of event summaries for requested offer ids, will be empty if only campaign events requested
191
+ repeated EventsSummary events_summary = 1;
192
+
193
+ // list of event summaries for requested campaign ids, will be empty if only offer events requested
194
+ repeated EventsSummary campaign_events_summary = 2;
195
+ }
196
+
197
+ message QueryEventsRequest {
198
+ // Query examples:
199
+ // query: { filter: { offer_id: <uuid> }, event_type: 'AGENT_MARK'}}
200
+ // query: { filter: { offer_id: { $in: [<uuid1>, <uuid2>] }, event_type: 'AGENT_MARK'}}
201
+ // query: { filter: { offer_id: { $in: [<uuid1>, <uuid2>] }, event_type: 'AGENT_MARK'}, paging: { offset: 10, limit: 100 } }
202
+ wix.common.Query query = 1;
203
+ }
204
+
205
+ message QueryEventsResponse {
206
+ // List of offer events
207
+ repeated OfferEvent events = 1;
208
+
209
+ // result paging status
210
+ wix.common.PagingMetadata paging_metadata = 2;
211
+ }