@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,270 @@
1
+ syntax = "proto3";
2
+
3
+ package wix.dealerBackoffice.api.v1;
4
+
5
+ import "google/api/annotations.proto";
6
+ import "google/protobuf/timestamp.proto";
7
+ import "google/protobuf/wrappers.proto";
8
+ import "wix/api/callback.proto";
9
+
10
+ import "wix/api/annotations.proto";
11
+ import "wix/api/validations.proto";
12
+ import "wix/api/permissions.proto";
13
+
14
+ import "wix/common/paging.proto";
15
+ import "wix/common/query.proto";
16
+ import "wix/api/entity.proto";
17
+
18
+ import "wix/dealerBackoffice/api/v1/managers.proto";
19
+
20
+ option java_package = "com.wix.dealerBackoffice.api.v1";
21
+
22
+ // Endpoint for managing dealer campaign (see Campaign entity docs).
23
+ service CampaignService {
24
+ option (wix.api.service_entity).message = "wix.dealerBackoffice.api.v1.Campaign";
25
+ option (wix.api.service_maturity) = ALPHA;
26
+ option (wix.api.service_exposure) = INTERNAL;
27
+
28
+ // Get campaign by guid.
29
+ rpc GetCampaign (GetCampaignRequest) returns (GetCampaignResponse) {
30
+ option (google.api.http).get = "/v1/dealer/backoffice/campaigns/{campaign_id}";
31
+ option (wix.api.required) = "GetCampaignRequest.campaign_id";
32
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.READ_CAMPAIGN";
33
+ option (wix.api.crud) = {
34
+ method: GET_ITEM
35
+ get_options: {
36
+ id_field: "campaign_id"
37
+ }
38
+ };
39
+ }
40
+
41
+ // Get multiple campaigns in single request.
42
+ rpc GetCampaignsBulk (GetCampaignsBulkRequest) returns (GetCampaignsBulkResponse) {
43
+ option (google.api.http).get = "/v1/dealer/backoffice/campaigns/bulk";
44
+ option (wix.api.required) = "GetCampaignsBulkRequest.campaign_ids";
45
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.READ_CAMPAIGN";
46
+ }
47
+
48
+ // Listing campaigns with Query filters/paging support.
49
+ // Query params supported only partially.
50
+ // See comments to ListCampaignsRequest message.
51
+ rpc QueryCampaigns (QueryCampaignsRequest) returns (QueryCampaignsResponse) {
52
+ option (google.api.http).post = "/v1/dealer/backoffice/campaigns/query";
53
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.READ_CAMPAIGN";
54
+ }
55
+
56
+ // Creating new campaign in dealer BO.
57
+ //flynt-disable required-annotation-breaking-change
58
+ rpc CreateCampaign (CreateCampaignRequest) returns (CreateCampaignResponse) {
59
+ option (google.api.http).post = "/v1/dealer/backoffice/campaigns";
60
+ option (wix.api.required) = "CreateCampaignRequest.campaign.name";
61
+ option (wix.api.required) = "CreateCampaignRequest.campaign.product_id";
62
+ option (wix.api.required) = "CreateCampaignRequest.campaign.kpi_id";
63
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.CREATE_CAMPAIGN";
64
+ option (wix.api.crud) = {
65
+ method: CREATE
66
+ create_options: {
67
+ item_field: "campaign"
68
+ }
69
+ };
70
+ option (wix.api.callback) = {
71
+ event_type: CREATED
72
+ };
73
+ }
74
+
75
+ // Full update a campaign. Fields that are not set will be overwritten with empty values.
76
+ //flynt-disable required-annotation-breaking-change
77
+ rpc UpdateCampaign (UpdateCampaignRequest) returns (UpdateCampaignResponse) {
78
+ option (google.api.http).put = "/v1/dealer/backoffice/campaigns/{campaign.guid}";
79
+ option (wix.api.required) = "UpdateCampaignRequest.campaign.guid";
80
+ option (wix.api.required) = "UpdateCampaignRequest.campaign.name";
81
+ option (wix.api.required) = "UpdateCampaignRequest.campaign.product_id";
82
+ option (wix.api.required) = "UpdateCampaignRequest.campaign.kpi_id";
83
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.UPDATE_CAMPAIGN";
84
+ }
85
+
86
+ // Bring campaign to active state.
87
+ rpc ActivateCampaign (StatusCampaignRequest) returns (StatusCampaignResponse) {
88
+ option (google.api.http).post = "/v1/dealer/backoffice/campaigns/{campaign_id}/activate";
89
+ option (wix.api.required) = "StatusCampaignRequest.campaign_id";
90
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.UPDATE_CAMPAIGN";
91
+ }
92
+
93
+ // Bring campaign to inactive state.
94
+ rpc DeactivateCampaign (StatusCampaignRequest) returns (StatusCampaignResponse) {
95
+ option (google.api.http).post = "/v1/dealer/backoffice/campaigns/{campaign_id}/deactivate";
96
+ option (wix.api.required) = "StatusCampaignRequest.campaign_id";
97
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.UPDATE_CAMPAIGN";
98
+ }
99
+
100
+ // Bring campaign to archived state.
101
+ rpc ArchiveCampaign (StatusCampaignRequest) returns (StatusCampaignResponse) {
102
+ option (google.api.http).post = "/v1/dealer/backoffice/campaigns/{campaign_id}/archive";
103
+ option (wix.api.required) = "StatusCampaignRequest.campaign_id";
104
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.UPDATE_CAMPAIGN";
105
+ }
106
+ }
107
+
108
+
109
+ // Campaign guid container for all status updating endpoints.
110
+ message StatusCampaignRequest {
111
+ // Which campaign to update status
112
+ string campaign_id = 1 [(wix.api.format) = GUID];
113
+ }
114
+
115
+ message StatusCampaignResponse {
116
+ // Current campaign calculated status after status update action
117
+ CampaignStatusEnum.Status status = 1 [(wix.api.readOnly) = true];
118
+ }
119
+
120
+ // Update campaign data wrapper
121
+ message UpdateCampaignRequest {
122
+ // Campaign properties to be used to update entity
123
+ Campaign campaign = 1;
124
+ }
125
+
126
+ // Update campaign result data wrapper
127
+ message UpdateCampaignResponse {
128
+ // Updated campaign with all actual field set up
129
+ Campaign campaign = 1;
130
+ }
131
+
132
+ // Create campaign data wrapper
133
+ message CreateCampaignRequest {
134
+ // Campaign properties to be used for new entity
135
+ Campaign campaign = 1;
136
+ }
137
+
138
+ // Update campaign result data wrapper
139
+ message CreateCampaignResponse {
140
+ // Created campaign with all actual field set up
141
+ Campaign campaign = 1;
142
+ }
143
+
144
+ // Filtering by status only. Only $in operand supported.
145
+ // https://bo.wix.com/wix-docs/rnd/platformization-guidelines/api-query-language#platformization-guidelines_api-query-language_the-filter-section
146
+ //
147
+ // Examples of valid iputs:
148
+ // query: { filter: { status: 1 }}
149
+ // query: { filter: { status: {$in: [1, 2]} }}
150
+ // query: { filter: { status: {$in: [4, 5]} }},
151
+ // sort: [{ fieldName: 'createdBy', order: 'DESC' }] }
152
+ //
153
+ // Status values are integers, correspongind to this proto api object:
154
+ // message CampaignStatusEnum {
155
+ // enum Status {
156
+ // UNKNOWN = 0;
157
+ // INACTIVE = 1;
158
+ // ACTIVE = 2;
159
+ // PENDING = 3;
160
+ // FINISHED = 4;
161
+ // ARCHIVED = 5;
162
+ // }
163
+ // }
164
+ //
165
+ // Only 1 sorting field is supported (first one in array is taken).
166
+ // No fields, fieldsets support yet.
167
+ //
168
+ // Supported fieldNames to sort by:
169
+ // - name
170
+ // - status (TBD)
171
+ // - createdDate
172
+ // - updatedDate
173
+ // - createdBy
174
+ //
175
+ // TBD:
176
+ // query: { filter: { createdBy: '<uuid>' }}
177
+ // query: { filter: { createdBy: ['<uuid1>', '<uuid2>'] }}
178
+ // query: { filter: { createdBy: '<uuid>', status: 'ARCHIVED' }
179
+ message QueryCampaignsRequest {
180
+ wix.common.Query query = 1;
181
+ }
182
+
183
+ // Query results wrapper
184
+ message QueryCampaignsResponse {
185
+ // List of campaigns returned
186
+ repeated Campaign campaigns = 1;
187
+
188
+ // Paging info of the result set
189
+ wix.common.PagingMetadata paging_metadata = 2;
190
+ }
191
+
192
+ // Single campaign request
193
+ message GetCampaignRequest {
194
+ string campaign_id = 1 [(wix.api.format) = GUID];
195
+ }
196
+
197
+ // Single campaign result wrapper
198
+ message GetCampaignResponse {
199
+ Campaign campaign = 1;
200
+ }
201
+
202
+ // Multi campaign bulk request
203
+ message GetCampaignsBulkRequest {
204
+ repeated string campaign_ids = 1 [(wix.api.format) = GUID];
205
+ }
206
+
207
+ // Multi campaign bulk result wrapper
208
+ message GetCampaignsBulkResponse {
209
+ repeated Campaign campaigns = 1;
210
+ }
211
+
212
+ // Campaign is an abstract container for multiple dealer entities united by some arbitrary property
213
+ // (advertising campaign, purpose, usecase etc).
214
+ // Offers from different placements may belong to same campaign.
215
+ message Campaign {
216
+ option (wix.api.entity) = {fqdn:"wix.dealer.v1.campaign", segment: USERS};
217
+ // Unique guid.
218
+ // If empty on creating campaign - assigned by server at the moment of the request
219
+ // If set on creating campaign - will be used, or GRPC exception returned if already exists
220
+ google.protobuf.StringValue guid = 1 [(wix.api.format) = GUID, (wix.api.readOnly) = true];
221
+
222
+ // Who created the campaign (wix user guid).
223
+ // Ignored when creating/updating campaign - set by server.
224
+ google.protobuf.StringValue created_by = 2 [(wix.api.format) = GUID, (wix.api.readOnly) = true];
225
+
226
+ // Who updated the campaign last.
227
+ // Ignored when creating/updating campaign - set by server.
228
+ google.protobuf.StringValue updated_by = 3 [(wix.api.format) = GUID, (wix.api.readOnly) = true];
229
+
230
+ // When the campaign was created.
231
+ // Ignored when creating/updating campaign - set by server.
232
+ google.protobuf.Timestamp created_date = 4 [(wix.api.readOnly) = true];
233
+
234
+ // When the campaign was last time updated.
235
+ // Ignored when creating/updating new campaign - set by server.
236
+ google.protobuf.Timestamp updated_date = 5 [(wix.api.readOnly) = true];
237
+
238
+ // Human readable name for the campaign. Required.
239
+ string name = 6 [(wix.api.minLength) = 1];
240
+
241
+ // State machine is:
242
+ // Inactive -> Active -> Archived
243
+ //
244
+ // Explicit state changing actions:
245
+ //
246
+ // activate (* -> active)
247
+ // deactivate (* -> inactive)
248
+ // archive (* -> archived)
249
+ CampaignStatusEnum.Status status = 7 [(wix.api.readOnly) = true];
250
+
251
+ // product_id is a group of campaigns, each campaign belong to product_id
252
+ // Required
253
+ string product_id = 8 [(wix.api.minLength) = 1];
254
+
255
+ // kpi id from wix bi bank https://bo.wix.com/wix-docs/rest/drafts/bibank
256
+ google.protobuf.StringValue kpi_id = 9 [(wix.api.format) = GUID];
257
+
258
+ // Who are the campaign's managers (wix user guids).
259
+ ManagerIdsWrapper managers_ids = 10;
260
+ }
261
+
262
+
263
+ message CampaignStatusEnum {
264
+ enum Status {
265
+ UNKNOWN = 0;
266
+ INACTIVE = 1;
267
+ ACTIVE = 2;
268
+ ARCHIVED = 3;
269
+ }
270
+ }
@@ -0,0 +1,74 @@
1
+ syntax = "proto3";
2
+ package wix.dealerBackoffice.api.v1;
3
+
4
+ import "google/protobuf/wrappers.proto";
5
+ option java_package = "com.wix.dealerBackoffice.api.v1";
6
+
7
+ // FrequencyCaps is an entity containing some criterias (rules) for offer eligibility based on
8
+ // past interactions of a user with the offer (or related offers).
9
+ // By "interactions" we mean views, clicks, etc. Anything that is collected by deler-events API.
10
+ //
11
+ // FrequencyCaps can be set per offer or per placement. If set on placement level - it's like a default
12
+ // value for all offers in the placement. While offer level FrequencyCaps is like specific value for the
13
+ // offer only.
14
+ message FrequencyCaps {
15
+ // If this flag is set & true — an offer frequency caps are calculated not separately but together with
16
+ // other offers belonging to same campaign & placement.
17
+ //
18
+ // For example frequencyCaps.views.limit = 5 with `count_with_related_offers` == false
19
+ // means "stop this offer when it was viewed 5 times by this user".
20
+ // While frequencyCaps.views.limit = 5 with `count_with_related_offers` == true
21
+ // means "stop this offer when any of the offers within same campaign & placement
22
+ // were together viewed 5 times by this user".
23
+ google.protobuf.BoolValue count_with_related_offers = 1;
24
+
25
+ // Actual limits imposed on the offer. Null if no limits.
26
+ Conditions conditions = 2;
27
+
28
+ message Conditions {
29
+ // Max number of total offer VIEW events.
30
+ EventsCountLimit views = 1;
31
+ // Max number of total offer MAIN_CTA clicks.
32
+ EventsCountLimit main_cta_clicks = 2;
33
+ // Max number of total offer SKIP events.
34
+ EventsCountLimit skips = 3;
35
+ // Max number of total offer CLOSE events.
36
+ EventsCountLimit closes = 4;
37
+ // Max number of total offer SHOW_LATER events.
38
+ LastEventLimit show_later = 10;
39
+
40
+ enum CountType {
41
+ UNKNOWN = 0;
42
+ TOTAL = 1;
43
+ DAYS = 2;
44
+ }
45
+
46
+ // Simple number limit
47
+ message LastEventLimit {
48
+ int32 limit = 1;
49
+ }
50
+
51
+ // Limit supporting number count or days aggregation count
52
+ message EventsCountLimit {
53
+ int32 limit = 1;
54
+ CountType type = 2;
55
+ }
56
+ }
57
+ }
58
+
59
+ // Event types supported by frequency caps (equivalent to dealer events API event types
60
+ // https://github.com/wix-private/dealer-offer-events/tree/master/packages/dealer-offer-events-api/src/main/proto/wix/dealerOfferEvents/api/v1)
61
+ enum FrequencyCapsEventType {
62
+ UNKNOWN = 0;
63
+ VIEW = 1;
64
+ MAIN_CTA_CLICK = 2;
65
+ SKIP = 3;
66
+ UNSKIP = 4;
67
+ CLOSE = 5;
68
+ SHOW_LATER = 6;
69
+ }
70
+
71
+ // List of supported events for a placement
72
+ message FrequencyCapsEvents {
73
+ repeated FrequencyCapsEventType events = 1;
74
+ }
@@ -0,0 +1,11 @@
1
+ syntax = "proto3";
2
+ package wix.dealerBackoffice.api.v1;
3
+
4
+ import "google/protobuf/wrappers.proto";
5
+ import "wix/api/validations.proto";
6
+ option java_package = "com.wix.dealerBackoffice.api.v1";
7
+
8
+ // Wrapper for list of localization manager guids (wix users)
9
+ message ManagerLocalizationIdsWrapper {
10
+ repeated google.protobuf.StringValue values = 1 [(wix.api.maxSize) = 50, (wix.api.format) = GUID];
11
+ }
@@ -0,0 +1,11 @@
1
+ syntax = "proto3";
2
+ package wix.dealerBackoffice.api.v1;
3
+
4
+ import "google/protobuf/wrappers.proto";
5
+ import "wix/api/validations.proto";
6
+ option java_package = "com.wix.dealerBackoffice.api.v1";
7
+
8
+ // Wrapper for list of manager guids (wix users)
9
+ message ManagerIdsWrapper {
10
+ repeated google.protobuf.StringValue values = 1 [(wix.api.maxSize) = 50, (wix.api.format) = GUID];
11
+ }