@wix/bex-utils 2.71.0 → 2.73.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 (112) 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/@wix/bex-bundled-mini-essentials/CHANGELOG.md +4 -0
  111. package/@wix/bex-bundled-mini-essentials/package.json +1 -1
  112. package/package.json +6 -5
@@ -0,0 +1,423 @@
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 "google/protobuf/timestamp.proto";
8
+ import "google/protobuf/struct.proto";
9
+ import "wix/api/callback.proto";
10
+
11
+ import "wix/api/annotations.proto";
12
+ import "wix/api/validations.proto";
13
+ import "wix/api/permissions.proto";
14
+ import "wix/api/entity.proto";
15
+ import "wix/common/data/dataextensions/extended-fields.proto";
16
+
17
+ import "wix/dealerPriority/api/v1/priority.proto";
18
+
19
+ import "wix/dealerBackoffice/api/v1/frequency-caps.proto";
20
+ import "wix/dealerBackoffice/api/v1/managers.proto";
21
+ import "wix/dealerBackoffice/api/v1/localization-managers.proto";
22
+ import "wix/api/sla.proto";
23
+
24
+ option java_package = "com.wix.dealerBackoffice.api.v1";
25
+
26
+ // Endpoint for manipulating dealer Placements data (see docs to Placement entity).
27
+ service PlacementService {
28
+ option (wix.api.service_entity).message = "wix.dealerBackoffice.api.v1.Placement";
29
+ option (wix.api.service_maturity) = ALPHA;
30
+ option (wix.api.service_exposure) = INTERNAL;
31
+
32
+ // Get placement by id
33
+ rpc GetPlacement (GetPlacementRequest) returns (GetPlacementResponse) {
34
+ option (google.api.http).get = "/v1/dealer/backoffice/placements/{placement_id}";
35
+ option (wix.api.required) = "GetPlacementRequest.placement_id";
36
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.READ_PLACEMENT";
37
+ option (wix.api.crud) = {
38
+ method: GET_ITEM
39
+ get_options: {
40
+ id_field: "placement_id"
41
+ }
42
+ };
43
+ }
44
+
45
+ // Create placement
46
+ rpc CreatePlacement (CreatePlacementRequest) returns (CreatePlacementResponse) {
47
+ option (google.api.http).post = "/v1/dealer/backoffice/placements";
48
+ option (wix.api.required) = "CreatePlacementRequest.placement.name";
49
+ option (wix.api.required) = "CreatePlacementRequest.placement.parent";
50
+ option (wix.api.required) = "CreatePlacementRequest.placement.level";
51
+ option (wix.api.required) = "CreatePlacementRequest.placement.prioritization_strategy_config.strategy_params.ab_test_strategies.params_a";
52
+ option (wix.api.required) = "CreatePlacementRequest.placement.prioritization_strategy_config.strategy_params.ab_test_strategies.params_b";
53
+ option (wix.api.required) = "CreatePlacementRequest.placement.prioritization_strategy_config.strategy_params.ab_test_strategies.spec_name";
54
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.CREATE_PLACEMENT";
55
+ option (wix.api.crud) = {
56
+ method: CREATE
57
+ create_options: {
58
+ item_field: "placement"
59
+ }
60
+ };
61
+ option (wix.api.callback) = {
62
+ event_type: CREATED
63
+ };
64
+ }
65
+
66
+ // Update placement (partial update)
67
+ rpc UpdatePlacement (UpdatePlacementRequest) returns (UpdatePlacementResponse) {
68
+ option (google.api.http).patch = "/v1/dealer/backoffice/placements/{placement.guid}";
69
+ option (wix.api.required) = "UpdatePlacementRequest.placement.guid";
70
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.UPDATE_PLACEMENT";
71
+ option (wix.api.required) = "UpdatePlacementRequest.placement.prioritization_strategy_config.strategy_params.ab_test_strategies.params_a";
72
+ option (wix.api.required) = "UpdatePlacementRequest.placement.prioritization_strategy_config.strategy_params.ab_test_strategies.params_b";
73
+ option (wix.api.required) = "UpdatePlacementRequest.placement.prioritization_strategy_config.strategy_params.ab_test_strategies.spec_name";
74
+ option (wix.api.crud) = {
75
+ method: UPDATE
76
+ update_options: {
77
+ item_field: "placement"
78
+ }
79
+ };
80
+ option (wix.api.callback) = {
81
+ event_type: UPDATED
82
+ };
83
+ }
84
+
85
+ // Duplicate placement
86
+ rpc DuplicatePlacement (DuplicatePlacementRequest) returns (DuplicatePlacementResponse) {
87
+ option (google.api.http).post = "/v1/dealer/backoffice/placements/duplicate";
88
+ option (wix.api.required) = "DuplicatePlacementRequest.placement_id";
89
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.DUPLICATE_PLACEMENT";
90
+ option (wix.api.sla).response_time_ms = 60000;
91
+ }
92
+
93
+ // Update placement (partial update)
94
+ rpc UpdateSlug (UpdatePlacementSlugRequest) returns (UpdatePlacementSlugResponse) {
95
+ option (google.api.http).put = "/v1/dealer/backoffice/placements/{placement_guid}/slug";
96
+ option (wix.api.required) = "UpdatePlacementSlugRequest.placement_guid";
97
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.UPDATE_PLACEMENT";
98
+ }
99
+
100
+ // List all placements
101
+ rpc ListPlacements (ListPlacementsRequest) returns (ListPlacementsResponse) {
102
+ option (google.api.http).get = "/v1/dealer/backoffice/placements";
103
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.READ_PLACEMENT";
104
+ }
105
+
106
+ // Get multiples placements by ids
107
+ rpc GetPlacementsBulk (GetPlacementsBulkRequest) returns (GetPlacementsBulkResponse) {
108
+ option (google.api.http).get = "/v1/dealer/backoffice/placements/bulk";
109
+ option (wix.api.required) = "GetPlacementsBulkRequest.placement_ids";
110
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.READ_PLACEMENT";
111
+ }
112
+
113
+ // Update Placement Status
114
+ rpc UpdatePlacementStatus (UpdatePlacementStatusRequest) returns (UpdatePlacementStatusResponse) {
115
+ option (google.api.http).put = "/v1/dealer/backoffice/placements/{placement_guid}/status";
116
+ option (wix.api.required) = "UpdatePlacementStatusRequest.placement_guid";
117
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.UPDATE_PLACEMENT";
118
+ }
119
+
120
+ // Publish Placement
121
+ rpc PublishPlacement (PublishPlacementRequest) returns (PublishPlacementResponse) {
122
+ option (google.api.http).put = "/v1/dealer/backoffice/placements/{placement_guid}/publish";
123
+ option (wix.api.required) = "PublishPlacementRequest.placement_guid";
124
+ option (wix.api.permission).name = "DEALER_BACKOFFICE.UPDATE_PLACEMENT";
125
+ }
126
+
127
+ }
128
+ message GetPlacementRequest {
129
+ // required
130
+ string placement_id = 1 [(wix.api.format) = GUID];
131
+ }
132
+
133
+ // Placement asset schema
134
+ // https://github.com/wix-private/dealer-backoffice/tree/master/packages/dealer-forms-renderer/docs
135
+ // https://docs.google.com/document/d/1Z6KGtk-UZC3-PWwMa4dfGgFvi9uPxCYyMDlW68RxXk8/edit#heading=h.hu6usdgde4b3
136
+ message Schema {
137
+ option (.wix.api.entity) = {fqdn:"wix.dealer.v1.schema", segment: USERS, extensible: {}};
138
+
139
+ google.protobuf.StringValue id = 1 [(wix.api.format) = GUID, (wix.api.readOnly) = true];
140
+
141
+ // The data schema of the placement creative
142
+ google.protobuf.Struct data_schema = 2;
143
+
144
+ // The ui schema of the placement creative
145
+ google.protobuf.Struct ui_schema = 3;
146
+
147
+ // field is deprecated due to duplicate field, use id instead
148
+ google.protobuf.StringValue schema_id = 4 [(wix.api.format) = GUID, (.wix.api.field_deprecated) = {
149
+ replaced_by: "id",
150
+ target_removal_date: "2023-12-01"
151
+ }];
152
+
153
+ // the type of the schema (json or banner)
154
+ google.protobuf.StringValue type = 5;
155
+
156
+ // The revision ID of the schema. A new revision is committed whenever the schemas are changed.
157
+ google.protobuf.Int32Value revision = 6 [(.wix.api.readOnly) = true];
158
+
159
+ // Revision creation timestamp. when the represented revision was created.
160
+ google.protobuf.Timestamp created_date = 7 [(.wix.api.readOnly) = true];
161
+
162
+ // The user id who created this schema. Readonly.
163
+ google.protobuf.StringValue created_by = 8 [(.wix.api.format) = GUID, (.wix.api.readOnly) = true];
164
+
165
+ // Data extensions ExtendedFields.
166
+ wix.common.data.dataextensions.ExtendedFields extended_fields = 9;
167
+ }
168
+
169
+ // Single placement result
170
+ message GetPlacementResponse {
171
+ Placement placement = 1;
172
+ }
173
+
174
+ // Create placement request
175
+ message CreatePlacementRequest {
176
+ Placement placement = 1;
177
+ }
178
+
179
+ message CreatePlacementResponse {
180
+ Placement placement = 1;
181
+ }
182
+
183
+ // Partial update placement request
184
+ message UpdatePlacementRequest {
185
+ Placement placement = 1;
186
+ }
187
+
188
+ message DuplicatePlacementRequest {
189
+ // required
190
+ string placement_id = 1 [(wix.api.format) = GUID];
191
+ bool duplicate_offers = 2;
192
+ }
193
+
194
+ message DuplicatePlacementResponse {
195
+ Placement placement = 1;
196
+ }
197
+
198
+ message UpdatePlacementResponse {
199
+ Placement placement = 1;
200
+ }
201
+
202
+ // Partial update placement request
203
+ message UpdatePlacementSlugRequest {
204
+ google.protobuf.StringValue placement_guid = 1 [(wix.api.format) = GUID, (wix.api.readOnly) = true];
205
+ google.protobuf.StringValue slug = 2 [(wix.api.minLength) = 1];
206
+ }
207
+
208
+ message UpdatePlacementSlugResponse {
209
+ bool success = 1;
210
+ }
211
+
212
+ // List all placements request
213
+ message ListPlacementsRequest {
214
+ }
215
+
216
+ // All placements result
217
+ message ListPlacementsResponse {
218
+ repeated Placement placements = 1;
219
+ }
220
+
221
+ message GetPlacementsBulkRequest {
222
+ // required
223
+ repeated string placement_ids = 1 [(wix.api.format) = GUID];
224
+ }
225
+
226
+ message GetPlacementsBulkResponse {
227
+ repeated Placement placements = 1;
228
+ }
229
+
230
+ message UpdatePlacementStatusRequest {
231
+ google.protobuf.StringValue placement_guid = 1 [(wix.api.format) = GUID];
232
+ Placement.Status status = 2;
233
+ }
234
+
235
+ message UpdatePlacementStatusResponse {}
236
+
237
+ message PublishPlacementRequest {
238
+ google.protobuf.StringValue placement_guid = 1 [(wix.api.format) = GUID];
239
+ }
240
+
241
+ message PublishPlacementResponse {
242
+ PublishStatus status = 1;
243
+ repeated PublishErrors errors = 2;
244
+
245
+ enum PublishStatus {
246
+ UNKNOWN = 0;
247
+ OK = 1;
248
+ FAILED = 2;
249
+ }
250
+
251
+ message PublishErrors {
252
+ string field = 1;
253
+ string description = 2;
254
+ }
255
+ }
256
+
257
+ // A Dealer placement is the area in a Wix page where we render some dealer asset(s)
258
+ // i.e: "Dashboard Main - Top Right" is a dealer placement.
259
+ // Placement can also be just a jsom schema with payload.
260
+ // Placements usually contain multiple dealer offers sorted by "priority in placement".
261
+ message Placement {
262
+ option (wix.api.entity) = {fqdn:"wix.dealer.v1.placement", segment: USERS};
263
+ // Unique placement guid
264
+ google.protobuf.StringValue guid = 1 [(wix.api.format) = GUID, (wix.api.readOnly) = true];
265
+
266
+ // BO placement name
267
+ google.protobuf.StringValue name = 2 [(wix.api.minLength) = 1];
268
+
269
+ // "Location" in UI — i.e. logical group, folder or label this placement belongs to.
270
+ // Every placement has a location (parent), for example the location of "Dashboard Main - Top Right"
271
+ // placement is "Business Manager"
272
+ google.protobuf.StringValue parent = 3 [(wix.api.minLength) = 1];
273
+
274
+ // The asset type of the placement.
275
+ // i.e: Asset type for the placement "Dashboard Main - Top Right" is "banner"
276
+ google.protobuf.StringValue asset_type = 4 [(wix.api.minLength) = 1];
277
+
278
+ reserved 6;
279
+
280
+ // Description of the placement
281
+ google.protobuf.StringValue description = 7;
282
+
283
+ // User oriented help text to show in UI. What is this placement for at Wix.
284
+ google.protobuf.StringValue best_for = 9;
285
+
286
+ // Who created the placement
287
+ // ignored when creating/updating placement - set by server
288
+ google.protobuf.StringValue created_by = 10 [(wix.api.format) = GUID, (wix.api.readOnly) = true];
289
+
290
+ // Who updated the placement
291
+ // ignored when creating/updating placement - set by server
292
+ google.protobuf.StringValue updated_by = 11 [(wix.api.format) = GUID, (wix.api.readOnly) = true];
293
+
294
+ // When created the placement
295
+ // ignored when creating/updating placement - set by server
296
+ google.protobuf.Timestamp created_date = 12 [(wix.api.readOnly) = true];
297
+
298
+ // WHen updated the placement
299
+ // ignored when creating/updating new placement - set by server
300
+ google.protobuf.Timestamp updated_date = 13 [(wix.api.readOnly) = true];
301
+
302
+ // URL to find placement
303
+ google.protobuf.StringValue url = 14;
304
+
305
+ // How to work with this placement (for PMMs)
306
+ google.protobuf.StringValue guidelines = 15;
307
+
308
+ google.protobuf.StringValue availability = 16;
309
+
310
+ // Unique human and URL friendly shortname of the placement
311
+ google.protobuf.StringValue slug = 17 [(wix.api.minLength) = 1];
312
+
313
+ // Frequency caps config of the placement. Works as a default value for all offers in the placement.
314
+ FrequencyCapsConfig frequency_caps_config = 18;
315
+
316
+ // Who are the managers of the placement in Wix
317
+ ManagerIdsWrapper managers_ids = 19;
318
+
319
+ // Asset schema of the placement.
320
+ // Different placements have different assets needed by dealer clients.
321
+ // This schema is a way to declare (edit, validate etc.) the structure of asset data.
322
+ // Contains the schema of this placement offers' assets data
323
+ // and schema of ui needed for editing this data.
324
+ Schema schema = 20;
325
+
326
+ // Does this placement work on User or Site level.
327
+ // Different kind of data is available to dealer runtime for site vs user level placements.
328
+ //
329
+ // For example requests to dealer runtime for "Site List Banner" placement lack metasiteId
330
+ // because the placement is shown outside of metasite context (USER level).
331
+ // But requests to "Payments Dashboard" placement are expected to have metasiteId value, because this is
332
+ // the SITE level placement
333
+ Level level = 21;
334
+
335
+ // Wether this placement is serving users new asset and UI for this placement has new creative screen
336
+ google.protobuf.BoolValue is_creative_v2_opt_in = 22;
337
+
338
+ ManagerLocalizationIdsWrapper localization_managers_ids = 23;
339
+
340
+ google.protobuf.BoolValue is_translatable = 24 [(wix.api.readOnly) = true];
341
+
342
+ reserved 25;
343
+
344
+ reserved 26;
345
+
346
+ // status of the placement
347
+ Status status = 27 [(wix.api.readOnly) = true];
348
+
349
+ message FrequencyCapsConfig {
350
+ // Placement level limits
351
+ FrequencyCaps frequency_caps = 1;
352
+ // List of dealer events supported (reported) by this placement
353
+ FrequencyCapsEvents supported_events = 2;
354
+ }
355
+
356
+ message Level {
357
+ LevelEnum value = 1;
358
+
359
+ enum LevelEnum {
360
+ UNKNOWN = 0;
361
+ USER = 1;
362
+ SITE = 2;
363
+ }
364
+ }
365
+
366
+ enum Status {
367
+ UNKNOWN = 0;
368
+ ACTIVE = 1;
369
+ CREATIVE_READ_ONLY = 2;
370
+ ARCHIVED = 3;
371
+ DRAFT = 4;
372
+ }
373
+
374
+ // Prioritization strategy config
375
+ PrioritizationStrategyConfig prioritization_strategy_config = 28;
376
+
377
+ message PrioritizationStrategyConfig {
378
+ oneof strategy_params {
379
+ wix.dealerPriority.api.v1.PrioritizationStrategyParams default_params = 1;
380
+
381
+ PrioritizationABTestStrategies ab_test_strategies = 2;
382
+
383
+ ShadowedStrategy shadowed_strategy = 3;
384
+ }
385
+
386
+ message PrioritizationABTestStrategies {
387
+ // the spec name of the test
388
+ string spec_name = 1 [(wix.api.minLength) = 1, (wix.api.maxLength) = 100];
389
+
390
+ wix.dealerPriority.api.v1.PrioritizationStrategyParams params_a = 2;
391
+ wix.dealerPriority.api.v1.PrioritizationStrategyParams params_b = 3;
392
+ }
393
+
394
+ message ShadowedStrategy {
395
+ wix.dealerPriority.api.v1.PrioritizationStrategyParams main_strategy = 1;
396
+ wix.dealerPriority.api.v1.PrioritizationStrategyParams shadowed_strategy = 2;
397
+ }
398
+ }
399
+
400
+ // Configuration for offers in placement
401
+ OffersConfig offers_config = 29;
402
+
403
+ message OffersConfig {
404
+ DateUnit maximum_live_time = 1;
405
+ message DateUnit {
406
+ google.protobuf.Int32Value days = 1;
407
+ }
408
+ }
409
+
410
+ PlacementType placement_type = 30;
411
+
412
+ google.protobuf.StringValue image_path = 31;
413
+
414
+ message PlacementType {
415
+ PlacementTypeEnum value = 1;
416
+
417
+ enum PlacementTypeEnum {
418
+ UNKNOWN = 0;
419
+ CREATIVE = 1;
420
+ CONFIGURATION = 2;
421
+ }
422
+ }
423
+ }
@@ -0,0 +1,142 @@
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 "google/protobuf/timestamp.proto";
8
+ import "google/protobuf/struct.proto";
9
+
10
+ import "wix/api/annotations.proto";
11
+ import "wix/api/validations.proto";
12
+ import "wix/api/permissions.proto";
13
+ import "wix/api/entity.proto";
14
+ import "wix/api/callback.proto";
15
+
16
+
17
+ import "wix/dealerBackoffice/api/v1/placements.proto";
18
+
19
+ option java_package = "com.wix.dealerBackoffice.api.v1";
20
+
21
+ service SchemaService {
22
+ option (.wix.api.service_maturity) = ALPHA;
23
+ option (.wix.api.service_exposure) = INTERNAL;
24
+ option (.wix.api.service_entity) = {
25
+ message: "wix.dealerBackoffice.api.v1.Schema"
26
+ namespace: "DealerPlacementSchema"
27
+ };
28
+
29
+ rpc GetSchema (GetSchemaRequest) returns (GetSchemaResponse) {
30
+ option (google.api.http).get = "/v1/dealer/backoffice/schemas/{schema_id}";
31
+ option (.wix.api.required) = "GetSchemaRequest.schema_id";
32
+ option (.wix.api.permission).name = "DEALER_BACKOFFICE.SCHEMA_READ";
33
+ option (wix.api.crud) = {
34
+ method: GET_ITEM
35
+ get_options: {
36
+ id_field: "schema_id"
37
+ }
38
+ };
39
+ }
40
+
41
+ rpc UpdateSchema (UpdateSchemaRequest) returns (UpdateSchemaResponse) {
42
+ option (google.api.http).put = "/v1/dealer/backoffice/schemas/{schema.id}";
43
+ option (.wix.api.required) = "UpdateSchemaRequest.schema.id";
44
+ option (.wix.api.required) = "UpdateSchemaRequest.schema.data_schema";
45
+ option (.wix.api.required) = "UpdateSchemaRequest.schema.ui_schema";
46
+ option (.wix.api.permission).name = "DEALER_BACKOFFICE.SCHEMA_UPDATE";
47
+ }
48
+
49
+ rpc CreateSchema (CreateSchemaRequest) returns (CreateSchemaResponse) {
50
+ option (.wix.api.crud) = {
51
+ method: CREATE
52
+ create_options: {
53
+ item_field: "schema"
54
+ }
55
+ };
56
+ option (wix.api.callback) = {
57
+ event_type: CREATED
58
+ };
59
+
60
+ option (google.api.http).post = "/v1/dealer/backoffice/schemas";
61
+ option (.wix.api.required) = "CreateSchemaRequest.schema.data_schema";
62
+ option (.wix.api.required) = "CreateSchemaRequest.schema.ui_schema";
63
+ option (.wix.api.permission).name = "DEALER_BACKOFFICE.SCHEMA_CREATE";
64
+ }
65
+
66
+ rpc ValidateSchema (ValidateSchemaRequest) returns (ValidateSchemaResponse) {
67
+ option (google.api.http).post = "/v1/dealer/backoffice/schemas/validate";
68
+ option (.wix.api.required) = "ValidateSchemaRequest.schema.data_schema";
69
+ option (.wix.api.required) = "ValidateSchemaRequest.schema.ui_schema";
70
+ option (.wix.api.permission).name = "DEALER_BACKOFFICE.SCHEMA_VALIDATE";
71
+ }
72
+ }
73
+
74
+ message CreateSchemaRequest {
75
+ Schema schema = 1;
76
+ }
77
+
78
+ message CreateSchemaResponse {
79
+ Schema schema = 1;
80
+ SchemaStatus status = 2;
81
+ repeated SchemaErrors errors = 3;
82
+
83
+ message SchemaErrors {
84
+ string field = 1;
85
+ string description = 2;
86
+ }
87
+
88
+ enum SchemaStatus {
89
+ UNKNOWN = 0;
90
+ OK = 1;
91
+ FAILED = 2;
92
+ }
93
+ }
94
+
95
+ message GetSchemaRequest {
96
+ string schema_id = 1 [(.wix.api.format) = GUID];
97
+ }
98
+
99
+ message GetSchemaResponse {
100
+ Schema schema = 1;
101
+ }
102
+
103
+ message UpdateSchemaRequest {
104
+ Schema schema = 1;
105
+ }
106
+
107
+ message UpdateSchemaResponse {
108
+ Schema schema = 1;
109
+ SchemaStatus status = 2;
110
+ repeated SchemaErrors errors = 3;
111
+
112
+ message SchemaErrors {
113
+ string field = 1;
114
+ string description = 2;
115
+ }
116
+
117
+ enum SchemaStatus {
118
+ UNKNOWN = 0;
119
+ OK = 1;
120
+ FAILED = 2;
121
+ }
122
+ }
123
+
124
+ message ValidateSchemaRequest {
125
+ Schema schema = 1;
126
+ }
127
+
128
+ message ValidateSchemaResponse {
129
+ SchemaStatus status = 1;
130
+ repeated SchemaErrors errors = 2;
131
+
132
+ message SchemaErrors {
133
+ string field = 1 [(wix.api.minLength) = 1, (wix.api.maxLength) = 100];
134
+ string description = 2 [(wix.api.minLength) = 1, (wix.api.maxLength) = 9999];
135
+ }
136
+
137
+ enum SchemaStatus {
138
+ UNKNOWN = 0;
139
+ OK = 1;
140
+ FAILED = 2;
141
+ }
142
+ }