· 6 years ago · Nov 29, 2019, 10:12 AM
1openapi: 3.0.2
2info:
3 version: "0.3.0"
4 title: 'bet-offer-write'
5 description: >-
6 Service that serves for Product-DB offer write into the Product Database.
7
8 ##### Version History
9
10 | Version | Author | Date | Comments |
11
12 |:--------|----------------------|------------------|----------------- |
13 | `0.3.0` | Pavel Neumann | 2019-11-26 | HTTP methods changed for a lot of APIs, consumes changes, etc. |
14
15 | `0.2.1` | Pavel Neumann | 2019-11-21 | Json Merge-patch update based on discussion and analysis in RND-37133 |
16
17 | `0.2.0` | Pavel Neumann | 2019-11-01 | Market Types introduction |
18
19 | `0.1.11` | Lukas Vopelka | 2019-11-01 | Added providerId information for odds editor and other minor fixes. |
20
21 | `0.1.10` | Pavel Neumann | 2019-10-30 | Minor refactoring reflecting RND-36576 |
22
23 | `0.1.9` | Pavel Neumann | 2019-10-15 | Tournaments update method for assigning it to a category. |
24
25 | `0.1.8` | Lukas Vopelka | 2019-10-15 | Extension of market result setting RND-36581; UpdateMarketOddRequest type updated from String to Float |
26
27 | `0.1.7` | Pavel Neumann | 2019-10-11 | Minor refactoring reflecting RND-36344 |
28
29 | `0.1.6` | Pavel Neumann | 2019-10-10 | Update Tournament added |
30
31 | `0.1.5` | Pavel Neumann | 2019-09-10 | Added Categories |
32
33 | `0.1.2` | Pavel Neumann | 2019-09-02 | Minor tweaks and refactoring. |
34
35 | `0.1.3` | Pavel Neumann | 2019-08-25 | Minor tweaks and refactoring. |
36
37 | `0.1.2` | Pavel Neumann | 2019-08-13 | Merged with versions 0.1.1 and 0.0.10, Added some properties into the CreateTeam and CreatePlayer endpoints, added new endpoints for Team Management. |
38
39 | `0.1.1` | Lukas Vopelka | 2019-08-12 | Fixed problem with the Auto API mocking. Removed global enums and model composition constructions. |
40
41 | `0.1.0` | Lukas Vopelka | 2019-08-08 | Added operations for market status and odds manipulation. |
42
43 | `0.0.10` | Pavel Neumann | 2019-07-25 | Fixture update deleted and replaced by PATCH methods which should be really useful. |
44
45 | `0.0.9` | Pavel Neumann | 2019-07-10 | Create Fixtrure request params clean-up, Market request params clean-up |
46
47 | `0.0.8` | Pavel Neumann | 2019-07-01 | Competitor divided into two methods for creating players and teams separately. AuthGrou param for tournament creation deleted as it will be configurable within BetOfferWrite application. |
48
49 | `0.0.7` | Pavel Neumann | 2019-06-21 | Structure of methods changed (/api/ prefix moved) and basePath reorganised. Added PATCH methods for Fixture date and Market Info number. |
50
51 | `0.0.6` | Pavel Neumann | 2019-06-17 | Revert back to OAS2.0 as OAS3 generators for Java does not work correctly; Deleted PUT methods for sport, competitor and tournament as those are not needed at the moment |
52
53 | `0.0.5` | Pavel Neumann | 2019-06-17 | Update to an OAS3 |
54
55 | `0.0.4` | Pavel Neumann | 2019-06-17 | Error responses have been updated; Some DELETE APIs have been removed as they are not needed; IVG product type removed|
56
57 | `0.0.3` | Pavel Neumann | 2019-05-30 | Request Entity Objects decoupling so the wrappers don't share the same model |
58
59 | `0.0.2` | Pavel Neumann | 2019-05-24 | Added product db into requests, deleted convenience methods for GameTyped fixturess, renamed to bet-offer, some refactoring |
60
61 | `0.0.1` | Pavel Neumann | 2019-05-23 | Initial API definition |
62
63 contact:
64 email: neumann.pavel@ifortuna.cz
65servers:
66 # Added by API Auto Mocking Plugin edit to make it real URL (just mocked)
67 - url: https://www.virtserver.swaggerhub.com/Fortuna-Games/bet-offer-write/0.1.2
68parameters:
69 reqHeaderUser:
70 in: header
71 name: ftn-req-user
72 required: true
73 type: integer
74 description: Identification of user or system which initiated the call of this operation. Primary purpose of this param is audit logging so it is included as a mandatory param in all the requests.
75 reqHeaderProduct:
76 in: header
77 name: mw-product-type
78 required: true
79 type: string
80 enum: [prematch, live]
81 description: The header defines which database should be used for inserting/updating an entity
82 providerIdHeader:
83 in: header
84 name: providerId
85 type: string
86 description: Provider identification.
87 reqHeaderDeleteItems:
88 in: header
89 name: deleteItems
90 type: array
91 items:
92 type: string
93 description: "An array containing names of all the request attributes which needs to be deleted/set to null. In case of multi-level object a path needs to be entered. e.g. configuration/restrictions/riskLimit/ako."
94 resourceId:
95 in: path
96 name: id
97 required: true
98 type: integer
99 description: A unique identifier of the resource (Competitor, Sport, Fixture, Market, ...) which is being manipulated with using a put or patch methods as those methods accept such parameter within a URI path.
100 gameType:
101 in: path
102 name: gameType
103 required: true
104 type: string
105 enum: &gameType [single,double,race,player]
106 reqHeaderFtnSystem:
107 in: header
108 name: ftn-system
109 required: true
110 type: string
111 description: Identification of the FTN system that is invoking the API
112paths:
113 /competitors/teams:
114 parameters:
115 - $ref: '#/parameters/reqHeaderUser'
116 - $ref: '#/parameters/reqHeaderProduct'
117 post:
118 description: Create a Team Competitor
119 summary: Create a Team Competitor
120 operationId: createTeamCompetitor
121 requestBody:
122 required: true
123 description: ''
124 content:
125 application/json:
126 schema:
127 $ref: '#/components/schemas/CreateTeamRequest'
128 responses:
129 201:
130 description: ''
131 content:
132 application/json:
133 schema:
134 $ref: '#/components/schemas/CreateCompetitorResponse'
135 400:
136 $ref: '#/responses/ClientError4XX'
137 500:
138 $ref: '#/responses/SystemError5XX'
139 default:
140 $ref: '#/responses/SystemError5XX'
141 /competitors/teams/{id}:
142 parameters:
143 - $ref: '#/parameters/reqHeaderUser'
144 - $ref: '#/parameters/reqHeaderProduct'
145 - $ref: '#/parameters/resourceId'
146 - $ref: '#/parameters/reqHeaderDeleteItems'
147 patch:
148 description: Update a Team Competitor. This method is intended to be used when partial update is needed so only the provided data will be changed. Any ommited fields will remain unchanged. If any field is provided with value NULL, the value of that field should be deleted.
149 summary: Update a Team Competitor
150 operationId: updateTeamCompetitor
151 requestBody:
152 required: true
153 description: ''
154 content:
155 application/merge-patch+json:
156 schema:
157 $ref: '#/components/schemas/UpdateTeamRequest'
158 responses:
159 200:
160 description: 'Team has been updated'
161 400:
162 $ref: '#/responses/ClientError4XX'
163 500:
164 $ref: '#/responses/SystemError5XX'
165 default:
166 $ref: '#/responses/SystemError5XX'
167 /competitors/players:
168 parameters:
169 - $ref: '#/parameters/reqHeaderUser'
170 - $ref: '#/parameters/reqHeaderProduct'
171 post:
172 description: Create a Player Competitor
173 summary: Create a Player Competitor
174 operationId: createPlayerCompetitor
175 requestBody:
176 required: true
177 description: ''
178 content:
179 application/json:
180 schema:
181 $ref: '#/components/schemas/CreatePlayerRequest'
182 responses:
183 201:
184 description: ''
185 content:
186 application/json:
187 schema:
188 $ref: '#/components/schemas/CreateCompetitorResponse'
189 400:
190 $ref: '#/responses/ClientError4XX'
191 500:
192 $ref: '#/responses/SystemError5XX'
193 default:
194 $ref: '#/responses/SystemError5XX'
195 /competitors/players/{id}:
196 parameters:
197 - $ref: '#/parameters/reqHeaderUser'
198 - $ref: '#/parameters/reqHeaderProduct'
199 - $ref: '#/parameters/resourceId'
200 - $ref: '#/parameters/reqHeaderDeleteItems'
201 patch:
202 description: Update a Player Competitor. This method is intended to be used when partial update is needed so only the provided data will be changed. Any ommited fields will remain unchanged. If any field is provided with value NULL, the value of that field should be deleted.
203 summary: Update a Player Competitor
204 operationId: updatePlayerCompetitor
205 requestBody:
206 required: true
207 description: ''
208 content:
209 application/merge-patch+json:
210 schema:
211 $ref: '#/components/schemas/UpdatePlayerRequest'
212 responses:
213 200:
214 description: 'Player has been updated'
215 400:
216 $ref: '#/responses/ClientError4XX'
217 500:
218 $ref: '#/responses/SystemError5XX'
219 default:
220 $ref: '#/responses/SystemError5XX'
221
222 /sports:
223 parameters:
224 - $ref: '#/parameters/reqHeaderUser'
225 - $ref: '#/parameters/reqHeaderProduct'
226 post:
227 description: Create a Sport
228 summary: Create a Sport
229 operationId: createSport
230 requestBody:
231 required: true
232 description: ''
233 content:
234 application/json:
235 schema:
236 $ref: '#/components/schemas/CreateSportRequest'
237 responses:
238 201:
239 description: ''
240 content:
241 application/json:
242 schema:
243 $ref: '#/components/schemas/CreateSportResponse'
244 400:
245 $ref: '#/responses/ClientError4XX'
246 500:
247 $ref: '#/responses/SystemError5XX'
248 default:
249 $ref: '#/responses/SystemError5XX'
250
251 /categories:
252 parameters:
253 - $ref: '#/parameters/reqHeaderUser'
254 - $ref: '#/parameters/reqHeaderProduct'
255 post:
256 description: Create a New Category
257 summary: Create a New Category
258 operationId: createCategory
259 requestBody:
260 required: true
261 description: ''
262 content:
263 application/json:
264 schema:
265 $ref: '#/components/schemas/CreateCategoryRequest'
266 responses:
267 201:
268 description: ''
269 content:
270 application/json:
271 schema:
272 $ref: '#/components/schemas/CreateCategoryResponse'
273 400:
274 $ref: '#/responses/ClientError4XX'
275 500:
276 $ref: '#/responses/SystemError5XX'
277 default:
278 $ref: '#/responses/SystemError5XX'
279 /categories/{id}:
280 parameters:
281 - $ref: '#/parameters/reqHeaderUser'
282 - $ref: '#/parameters/reqHeaderProduct'
283 - $ref: '#/parameters/resourceId'
284 - $ref: '#/parameters/reqHeaderDeleteItems'
285 patch:
286 description: Update an existing Category. This method is intended to be used when partial update is needed so only the provided data will be changed. Any ommited fields will remain unchanged. If any field is provided with value NULL, the value of that field should be deleted.
287 summary: Update an existing Category
288 operationId: updateCategory
289 requestBody:
290 required: true
291 description: ''
292 content:
293 application/merge-patch+json:
294 schema:
295 $ref: '#/components/schemas/UpdateCategoryRequest'
296 responses:
297 200:
298 description: 'Category has been updated'
299 400:
300 $ref: '#/responses/ClientError4XX'
301 500:
302 $ref: '#/responses/SystemError5XX'
303 default:
304 $ref: '#/responses/SystemError5XX'
305
306 /tournaments:
307 parameters:
308 - $ref: '#/parameters/reqHeaderUser'
309 - $ref: '#/parameters/reqHeaderProduct'
310 post:
311 description: Create a Tournament
312 summary: Create a Tournament
313 operationId: createTournament
314 requestBody:
315 required: true
316 description: ''
317 content:
318 application/json:
319 schema:
320 $ref: '#/components/schemas/CreateTournamentRequest'
321 responses:
322 201:
323 description: ''
324 content:
325 application/json:
326 schema:
327 $ref: '#/components/schemas/CreateTournamentResponse'
328 400:
329 $ref: '#/responses/ClientError4XX'
330 500:
331 $ref: '#/responses/SystemError5XX'
332 default:
333 $ref: '#/responses/SystemError5XX'
334
335 /tournaments/{id}:
336 parameters:
337 - $ref: '#/parameters/reqHeaderUser'
338 - $ref: '#/parameters/reqHeaderProduct'
339 - $ref: '#/parameters/resourceId'
340 - $ref: '#/parameters/reqHeaderDeleteItems'
341 patch:
342 description: Update an existing Tournament. This method is intended to be used when partial update is needed so only the provided data will be changed. Any ommited fields will remain unchanged. If any field is provided with value NULL, the value of that field should be deleted.
343 summary: Update an existing Tournament
344 operationId: updateTournament
345 requestBody:
346 required: true
347 description: ''
348 content:
349 application/merge-patch+json:
350 schema:
351 $ref: '#/components/schemas/UpdateTournamentRequest'
352 responses:
353 200:
354 description: 'Tournament has been updated'
355 400:
356 $ref: '#/responses/ClientError4XX'
357 500:
358 $ref: '#/responses/SystemError5XX'
359 default:
360 $ref: '#/responses/SystemError5XX'
361
362 /tournaments/{id}/category-id:
363 parameters:
364 - $ref: '#/parameters/reqHeaderUser'
365 - $ref: '#/parameters/reqHeaderProduct'
366 - $ref: '#/parameters/resourceId'
367 - $ref: '#/parameters/reqHeaderDeleteItems'
368 put:
369 description: Update a category for an existing Tournament. The main purpose of this method is making a category management possible. As long as Tournament belongs to the only one category, we are providing such update with this single-purpose endpoint.
370 summary: Update a category of an existing Tournament
371 operationId: updateTournamentCategory
372 requestBody:
373 required: true
374 content:
375 application/json:
376 schema:
377 type: object
378 properties:
379 categoryId:
380 type: integer
381 example: 125
382 responses:
383 200:
384 description: 'Tournament has been updated'
385 400:
386 $ref: '#/responses/ClientError4XX'
387 500:
388 $ref: '#/responses/SystemError5XX'
389 default:
390 $ref: '#/responses/SystemError5XX'
391
392 /tournaments/{id}/fixtures/markets/info-number:
393 parameters:
394 - $ref: '#/parameters/reqHeaderUser'
395 - $ref: '#/parameters/reqHeaderProduct'
396 - $ref: '#/parameters/resourceId'
397 - $ref: '#/parameters/reqHeaderDeleteItems'
398 post:
399 description: Sets the info numbers for all the markets under specified tournament
400 summary: Sets the info numbers for markets
401 operationId: updateInfoNumbersForTournament
402 requestBody:
403 required: true
404 description: ''
405 content:
406 application/json:
407 schema:
408 type: object
409 properties:
410 minInfoNumber:
411 type: integer
412 dateFrom:
413 type: string
414 format: date
415 example: "2019-06-21"
416 dateTo:
417 type: string
418 format: date
419 example: "2019-06-21"
420 required:
421 - dateFrom
422 - dateTo
423 responses:
424 200:
425 description: 'Info numbers for Tournament has been set'
426 400:
427 $ref: '#/responses/ClientError4XX'
428 500:
429 $ref: '#/responses/SystemError5XX'
430 default:
431 $ref: '#/responses/SystemError5XX'
432
433 /fixtures:
434 parameters:
435 - $ref: '#/parameters/reqHeaderUser'
436 - $ref: '#/parameters/reqHeaderProduct'
437 # get:
438 post:
439 description: Create a Fixture
440 summary: Create a Fixture
441 operationId: createFixture
442 parameters:
443 - $ref: '#/parameters/reqHeaderUser'
444 - $ref: '#/parameters/reqHeaderProduct'
445 - $ref: '#/parameters/reqHeaderFtnSystem'
446 required: true
447 description: ''
448 content:
449 application/json:
450 schema:
451 $ref: '#/components/schemas/CreateFixtureRequest'
452 responses:
453 201:
454 description: ''
455 content:
456 application/json:
457 schema:
458 $ref: '#/components/schemas/CreateFixtureResponse'
459 400:
460 $ref: '#/responses/ClientError4XX'
461 500:
462 $ref: '#/responses/SystemError5XX'
463 default:
464 $ref: '#/responses/SystemError5XX'
465 /fixtures/{id}:
466 parameters:
467 - $ref: '#/parameters/reqHeaderUser'
468 - $ref: '#/parameters/reqHeaderProduct'
469 - $ref: '#/parameters/resourceId'
470 delete:
471 description: Delete a Fixture
472 summary: Delete a Fixture
473 operationId: deleteFixture
474 responses:
475 200:
476 description: ''
477 content:
478 application/json:
479 schema:
480 $ref: '#/components/schemas/DeleteFixtureResponse'
481 headers: {}
482 400:
483 $ref: '#/responses/ClientError4XX'
484 500:
485 $ref: '#/responses/SystemError5XX'
486 default:
487 $ref: '#/responses/SystemError5XX'
488 /fixtures/{id}/match-start-date:
489 parameters:
490 - $ref: '#/parameters/reqHeaderUser'
491 - $ref: '#/parameters/reqHeaderProduct'
492 - $ref: '#/parameters/resourceId'
493 - $ref: '#/parameters/reqHeaderDeleteItems'
494 put:
495 description: Change date of a Fixture
496 summary: Change date of a Fixture
497 operationId: updateFixtureDate
498 requestBody:
499 required: true
500 description: ''
501 content:
502 application/json:
503 schema:
504 $ref: '#/components/schemas/UpdateFixtureDateRequest'
505 responses:
506 200:
507 description: ''
508 content:
509 application/json:
510 schema:
511 $ref: '#/components/schemas/UpdateFixtureResponse'
512 headers: {}
513 400:
514 $ref: '#/responses/ClientError4XX'
515 500:
516 $ref: '#/responses/SystemError5XX'
517 default:
518 $ref: '#/responses/SystemError5XX'
519 /fixtures/{id}/status:
520 parameters:
521 - $ref: '#/parameters/reqHeaderUser'
522 - $ref: '#/parameters/reqHeaderProduct'
523 - $ref: '#/parameters/resourceId'
524 - $ref: '#/parameters/reqHeaderDeleteItems'
525 put:
526 description: Change status of a Fixture
527 summary: Change status of a Fixture
528 operationId: updateFixtureStatus
529 requestBody:
530 required: true
531 description: ''
532 content:
533 application/json:
534 schema:
535 $ref: '#/components/schemas/UpdateFixtureStatusRequest'
536 responses:
537 200:
538 description: ''
539 content:
540 application/json:
541 schema:
542 $ref: '#/components/schemas/UpdateFixtureResponse'
543 headers: {}
544 400:
545 $ref: '#/responses/ClientError4XX'
546 500:
547 $ref: '#/responses/SystemError5XX'
548 default:
549 $ref: '#/responses/SystemError5XX'
550
551 /market-types:
552 parameters:
553 - $ref: '#/parameters/reqHeaderUser'
554 - $ref: '#/parameters/reqHeaderProduct'
555 post:
556 description: Create a new Market Type
557 summary: Create a Market Type
558 operationId: createMarketType
559 requestBody:
560 required: true
561 description: ''
562 content:
563 application/json:
564 schema:
565 $ref: '#/components/schemas/CreateMarketTypeRequest'
566 responses:
567 201:
568 description: ''
569 content:
570 application/json:
571 schema:
572 $ref: '#/components/schemas/CreateMarketTypeResponse'
573 400:
574 $ref: '#/responses/ClientError4XX'
575 500:
576 $ref: '#/responses/SystemError5XX'
577 default:
578 $ref: '#/responses/SystemError5XX'
579
580 /market-types/{id}:
581 parameters:
582 - $ref: '#/parameters/reqHeaderUser'
583 - $ref: '#/parameters/reqHeaderProduct'
584 - $ref: '#/parameters/resourceId'
585 - $ref: '#/parameters/reqHeaderDeleteItems'
586 patch:
587 description: Update an existing Market Type
588 summary: Update an existing Market Type
589 operationId: updateMarketType
590 requestBody:
591 required: true
592 description: ''
593 content:
594 application/merge-patch+json:
595 schema:
596 $ref: '#/components/schemas/UpdateMarketTypeRequest'
597 responses:
598 200:
599 description: 'Market Type has been updated'
600 400:
601 $ref: '#/responses/ClientError4XX'
602 500:
603 $ref: '#/responses/SystemError5XX'
604 default:
605 $ref: '#/responses/SystemError5XX'
606 delete:
607 description: Delete a Market Type
608 summary: Delete a Market Type
609 operationId: deleteMarketType
610 responses:
611 200:
612 description: ''
613 content:
614 application/json:
615 schema:
616 $ref: '#/components/schemas/DeleteMarketTypeResponse'
617 headers: {}
618 400:
619 $ref: '#/responses/ClientError4XX'
620 500:
621 $ref: '#/responses/SystemError5XX'
622 default:
623 $ref: '#/responses/SystemError5XX'
624
625 /markets:
626 parameters:
627 - $ref: '#/parameters/reqHeaderUser'
628 - $ref: '#/parameters/reqHeaderProduct'
629 post:
630 description: Create a new Market
631 summary: Create a Market
632 operationId: createMarket
633 requestBody:
634 required: true
635 description: ''
636 content:
637 application/json:
638 schema:
639 $ref: '#/components/schemas/CreateMarketRequest'
640 responses:
641 201:
642 description: ''
643 content:
644 application/json:
645 schema:
646 $ref: '#/components/schemas/CreateMarketResponse'
647 400:
648 $ref: '#/responses/ClientError4XX'
649 500:
650 $ref: '#/responses/SystemError5XX'
651 default:
652 $ref: '#/responses/SystemError5XX'
653 /markets/{id}:
654 parameters:
655 - $ref: '#/parameters/reqHeaderUser'
656 - $ref: '#/parameters/reqHeaderProduct'
657 - $ref: '#/parameters/resourceId'
658 put:
659 description: Update a Market
660 summary: Update a Market
661 operationId: updateMarket
662 requestBody:
663 required: true
664 description: ''
665 content:
666 application/json:
667 schema:
668 $ref: '#/components/schemas/UpdateMarketRequest'
669 responses:
670 200:
671 description: ''
672 content:
673 application/json:
674 schema:
675 $ref: '#/components/schemas/UpdateMarketResponse'
676 headers: {}
677 400:
678 $ref: '#/responses/ClientError4XX'
679 500:
680 $ref: '#/responses/SystemError5XX'
681 default:
682 $ref: '#/responses/SystemError5XX'
683 delete:
684 description: Delete a Market
685 summary: Delete a Market
686 operationId: deleteMarket
687
688 responses:
689 200:
690 description: ''
691 content:
692 application/json:
693 schema:
694 $ref: '#/components/schemas/DeleteMarketResponse'
695 headers: {}
696 400:
697 $ref: '#/responses/ClientError4XX'
698 500:
699 $ref: '#/responses/SystemError5XX'
700 default:
701 $ref: '#/responses/SystemError5XX'
702 /markets/{id}/odds/{oddId}/value:
703 parameters:
704 - $ref: '#/parameters/reqHeaderUser'
705 - $ref: '#/parameters/reqHeaderProduct'
706 - $ref: '#/parameters/reqHeaderFtnSystem'
707 - $ref: '#/parameters/resourceId'
708 - $ref: '#/parameters/providerIdHeader'
709 - $ref: '#/parameters/reqHeaderDeleteItems'
710 - in: path
711 name: oddId
712 required: true
713 description: A unique identified of the odd that belongs to particular market
714 schema:
715 type: integer
716 put:
717 description: |-
718 Update the specific odd value within existing market.
719 summary: Update Odd Value
720 operationId: updateMarketOdds
721 requestBody:
722 required: true
723 description: 'Specific odd value to be set.'
724 content:
725 application/json:
726 schema:
727 $ref: '#/components/schemas/UpdateMarketOddRequest'
728 responses:
729 200:
730 $ref: '#/responses/ClientWarning2XX'
731 400:
732 $ref: '#/responses/ClientError4XX'
733 404:
734 $ref: '#/responses/ClientError4XX'
735 409:
736 $ref: '#/responses/ClientError4XX'
737 500:
738 $ref: '#/responses/SystemError5XX'
739 default:
740 $ref: '#/responses/SystemError5XX'
741 /markets/{id}/odds/value:
742 parameters:
743 - $ref: '#/parameters/reqHeaderUser'
744 - $ref: '#/parameters/reqHeaderProduct'
745 - $ref: '#/parameters/reqHeaderFtnSystem'
746 - $ref: '#/parameters/resourceId'
747 - $ref: '#/parameters/providerIdHeader'
748 - $ref: '#/parameters/reqHeaderDeleteItems'
749 put:
750 description: |-
751 Bulk update of all the odds within given market. Only specific (white-listed) values are supported.
752 summary: Bulk Update Odd Value
753 operationId: bulkUpdateMarketOdds
754 requestBody:
755 required: true
756 description: 'Odd value.'
757 content:
758 application/json:
759 schema:
760 $ref: '#/components/schemas/BulkUpdateMarketOddRequest'
761 responses:
762 200:
763 description: 'All odds successfully updated.'
764 400:
765 $ref: '#/responses/ClientError4XX'
766 404:
767 $ref: '#/responses/ClientError4XX'
768 409:
769 $ref: '#/responses/ClientError4XX'
770 500:
771 $ref: '#/responses/SystemError5XX'
772 default:
773 $ref: '#/responses/SystemError5XX'
774 /markets/{id}/results/{resultName}:
775 parameters:
776 - $ref: '#/parameters/reqHeaderUser'
777 - $ref: '#/parameters/reqHeaderProduct'
778 - $ref: '#/parameters/reqHeaderFtnSystem'
779 - $ref: '#/parameters/resourceId'
780 - in: path
781 name: resultName
782 required: true
783 schema:
784 $ref: '#/components/schemas/ResultNameEnum'
785 put:
786 description: |-
787 Update a single result of the market.
788 summary: Update Result Value
789 operationId: updateMarketResults
790 requestBody:
791 required: true
792 description: 'Result value'
793 content:
794 application/json:
795 schema:
796 $ref: '#/components/schemas/UpdateMarketResultRequest'
797 responses:
798 200:
799 description: 'Result successfully updated.'
800 400:
801 $ref: '#/responses/ClientError4XX'
802 404:
803 $ref: '#/responses/ClientError4XX'
804 500:
805 $ref: '#/responses/SystemError5XX'
806 default:
807 $ref: '#/responses/SystemError5XX'
808 /markets/{id}/results:
809 parameters:
810 - $ref: '#/parameters/reqHeaderUser'
811 - $ref: '#/parameters/reqHeaderProduct'
812 - $ref: '#/parameters/reqHeaderFtnSystem'
813 - $ref: '#/parameters/resourceId'
814 post:
815 description: |-
816 Bulk update single or multiple market results
817 summary: Update Result Value
818 operationId: bulkUpdateMarketResults
819 requestBody:
820 required: true
821 description: 'Result value'
822 content:
823 application/json:
824 schema:
825 $ref: '#/components/schemas/BulkUpdateMarketResultRequest'
826 responses:
827 200:
828 description: 'Result successfully updated.'
829 400:
830 $ref: '#/responses/ClientError4XX'
831 404:
832 $ref: '#/responses/ClientError4XX'
833 500:
834 $ref: '#/responses/SystemError5XX'
835 default:
836 $ref: '#/responses/SystemError5XX'
837 /markets/{id}/status:
838 parameters:
839 - $ref: '#/parameters/reqHeaderUser'
840 - $ref: '#/parameters/reqHeaderProduct'
841 - $ref: '#/parameters/reqHeaderFtnSystem'
842 - $ref: '#/parameters/resourceId'
843 - $ref: '#/parameters/reqHeaderDeleteItems'
844 put:
845 description: |-
846 Update the market status. When changing to 'STARTED' for a first time, the market will get it's 'Info Number' automatically.
847 summary: Update a Market status
848 operationId: updateMarketStatus
849 requestBody:
850 required: true
851 description: 'Desired market status.'
852 content:
853 application/json:
854 schema:
855 $ref: '#/components/schemas/UpdateMarketStatusRequest'
856 responses:
857 200:
858 description: 'Status successfully updated.'
859 400:
860 $ref: '#/responses/ClientError4XX'
861 404:
862 $ref: '#/responses/ClientError4XX'
863 500:
864 $ref: '#/responses/SystemError5XX'
865 default:
866 $ref: '#/responses/SystemError5XX'
867 /markets/statuses:
868 parameters:
869 - $ref: '#/parameters/reqHeaderUser'
870 - $ref: '#/parameters/reqHeaderProduct'
871 - $ref: '#/parameters/reqHeaderFtnSystem'
872 - $ref: '#/parameters/reqHeaderDeleteItems'
873 patch:
874 description: |-
875 Bulk update of the markets status. Performs update on all selected markets respecting the same rules as single market status update.
876 summary: Bulk Update of Markets status
877 operationId: bulkUpdateMarketStatus
878 requestBody:
879 required: true
880 description: ''
881 content:
882 application/json:
883 schema:
884 $ref: '#/components/schemas/BulkUpdateMarketStatusRequest'
885 responses:
886 200:
887 description: OK
888 content:
889 application/json:
890 schema:
891 $ref: '#/components/schemas/BulkUpdateMarketStatusResponse'
892 headers: {}
893 400:
894 $ref: '#/responses/ClientError4XX'
895 500:
896 $ref: '#/responses/SystemError5XX'
897 default:
898 $ref: '#/responses/SystemError5XX'
899responses:
900 ClientWarning2XX:
901 description: HTTP Client Warning (2XX)
902 schema:
903 $ref: '#/components/schemas/ErrorResponse'
904 ClientError4XX:
905 description: HTTP Client Error (4XX)
906 schema:
907 $ref: '#/components/schemas/ErrorResponse'
908 SystemError5XX:
909 description: HTTP Server Error (5XX)
910 schema:
911 $ref: '#/components/schemas/ErrorResponse'
912
913components:
914 schemas:
915 #--- Requests ans Responses ---
916 # Competitor
917 CreateTeamRequest:
918 type: object
919 properties:
920 defaultName:
921 type: string
922 example: "Team Name"
923 note:
924 type: string
925 example: "Note to be displayed in Bet Creator"
926 sportIds:
927 type: array
928 description: A Map of Sport IDs and it's active flag to be able to denote sports the competitor copetes in.
929 items:
930 type: integer
931 minItems: 1
932 example:
933 - 1
934 - 3
935 - 7
936 tournamentIds:
937 type: array
938 description: A Map of Tournament IDs and it's active flag to be able to denote btournaments the competitor copetes in.
939 items:
940 type: integer
941 example:
942 - 21
943 - 53
944 - 66
945 localizedNames:
946 $ref: '#/components/schemas/LocalizedNames'
947 active:
948 type: boolean
949 required:
950 - defaultName
951 - sportIds
952
953 UpdateTeamRequest:
954 type: object
955 properties:
956 defaultName:
957 type: string
958 example: "Team Name"
959 note:
960 type: string
961 example: "Note to be displayed in Bet Creator"
962 sportIds:
963 type: object
964 description: A Map of Sport IDs and it's active flag to be able to denote sports the competitor copetes in.
965 additionalProperties:
966 type: boolean
967 example:
968 '1': true
969 '3': false
970 '7': true
971 tournamentIds:
972 type: object
973 description: A Map of Tournament IDs and it's active flag to be able to denote btournaments the competitor copetes in.
974 additionalProperties:
975 type: boolean
976 example:
977 '21': true
978 '53': false
979 '66': true
980 localizedNames:
981 $ref: '#/components/schemas/LocalizedNames'
982 active:
983 type: boolean
984
985 CreatePlayerRequest:
986 type: object
987 properties:
988 defaultName:
989 type: string
990 example: "Player Name"
991 note:
992 type: string
993 example: "Note to be displayed in Bet Creator"
994 gender:
995 type: string
996 enum:
997 - male
998 - female
999 sportIds:
1000 type: array
1001 description: An Array of Sport IDs and it's active flag to be able to denote sports the competitor copetes in.
1002 items:
1003 type: integer
1004 minItems: 1
1005 example:
1006 - 1
1007 - 3
1008 - 7
1009 tournamentIds:
1010 type: array
1011 description: An Array of Tournament IDs and it's active flag to be able to denote btournaments the competitor copetes in.
1012 items:
1013 type: integer
1014 example:
1015 - 21
1016 - 53
1017 - 66
1018 teamIds:
1019 type: array
1020 description: An Array of Team IDs and it's active flag to be able to denote teams the player is part of.
1021 items:
1022 type: integer
1023 example:
1024 - 111
1025 - 267
1026 - 398
1027 localizedNames:
1028 $ref: '#/components/schemas/LocalizedNames'
1029 active:
1030 type: boolean
1031 required:
1032 - defaultName
1033 - sportIds
1034
1035 UpdatePlayerRequest:
1036 type: object
1037 properties:
1038 defaultName:
1039 type: string
1040 example: "Player Name"
1041 note:
1042 type: string
1043 example: "Note to be displayed in Bet Creator"
1044 gender:
1045 type: string
1046 enum:
1047 - male
1048 - female
1049 sportIds:
1050 type: object
1051 description: A Map of Sport IDs and it's active flag to be able to denote sports the competitor copetes in.
1052 additionalProperties:
1053 type: boolean
1054 example:
1055 '1': true
1056 '3': false
1057 '7': true
1058 tournamentIds:
1059 type: object
1060 description: A Map of Tournament IDs and it's active flag to be able to denote btournaments the competitor copetes in.
1061 additionalProperties:
1062 type: boolean
1063 example:
1064 '21': true
1065 '53': false
1066 '66': true
1067 teamIds:
1068 type: object
1069 description: A Map of Team IDs and it's active flag to be able to denote teams the player is part of.
1070 additionalProperties:
1071 type: boolean
1072 example:
1073 '111': true
1074 '267': false
1075 '398': true
1076 localizedNames:
1077 $ref: '#/components/schemas/LocalizedNames'
1078 active:
1079 type: boolean
1080
1081 CreateCompetitorResponse:
1082 title: CreateCompetitorResponse
1083 type: object
1084 properties:
1085 competitorId:
1086 type: integer
1087 format: int32
1088 example: 9
1089 required:
1090 - competitorId
1091
1092
1093 # Sport
1094 CreateSportRequest:
1095 type: object
1096 properties:
1097 name:
1098 type: string
1099 example: "Sport Name"
1100 localizedNames:
1101 $ref: '#/components/schemas/LocalizedNames'
1102 required:
1103 - name
1104 CreateSportResponse:
1105 title: CreateSportResponse
1106 type: object
1107 properties:
1108 sportId:
1109 type: integer
1110 format: int32
1111 example: 1
1112 required:
1113 - sportId
1114
1115 #Categories
1116 CreateCategoryRequest:
1117 type: object
1118 properties:
1119 defaultName:
1120 type: string
1121 example: "Category Name"
1122 icon:
1123 type: string
1124 example: "An icon name to be displayed on Web"
1125 sportId:
1126 description: A Sport IDs the Category belongs to.
1127 type: integer
1128 example: 7
1129 localizedNames:
1130 $ref: '#/components/schemas/LocalizedNames'
1131 required:
1132 - defaultName
1133 - sportId
1134
1135 CreateCategoryResponse:
1136 type: object
1137 properties:
1138 categoryId:
1139 type: integer
1140 format: int32
1141 example: 1
1142 required:
1143 - categoryId
1144
1145 UpdateCategoryRequest:
1146 type: object
1147 properties:
1148 defaultName:
1149 type: string
1150 example: "Category Name"
1151 icon:
1152 type: string
1153 example: "An icon name to be displayed on Web"
1154 sportId:
1155 description: A Sport ID the Category belongs to.
1156 type: integer
1157 example: 7
1158 localizedNames:
1159 $ref: '#/components/schemas/LocalizedNames'
1160 order:
1161 type: integer
1162 active:
1163 type: boolean
1164
1165 # Tournament
1166 CreateTournamentRequest:
1167 title: CreateTournamentRequest
1168 type: object
1169 properties:
1170 name:
1171 type: string
1172 example: "Tournament Name"
1173 sportId:
1174 description: Sport ID from the FTN product database the tournament belongs to.
1175 type: integer
1176 format: int32
1177 example: 10
1178 categoryId:
1179 description: "Assign this tournament to a Category (tab_liga)"
1180 type: integer
1181 example: 201
1182 localizedNames:
1183 $ref: '#/components/schemas/LocalizedNames'
1184 required:
1185 - name
1186 - sportId
1187 CreateTournamentResponse:
1188 title: CreateTournamentResponse
1189 type: object
1190 properties:
1191 tournamentId:
1192 type: integer
1193 format: int32
1194 example: 22
1195 required:
1196 - tournamentId
1197
1198 UpdateTournamentRequest:
1199 type: object
1200 properties:
1201 name:
1202 type: string
1203 example: "Tournament Name"
1204 sportId:
1205 description: Sport ID from the FTN product database the tournament belongs to.
1206 type: integer
1207 format: int32
1208 example: 10
1209 categoryId:
1210 description: "Assign this tournament to a Category (tab_liga)"
1211 type: integer
1212 example: 201
1213 localizedNames:
1214 $ref: '#/components/schemas/LocalizedNames'
1215 order:
1216 type: integer
1217 active:
1218 type: boolean
1219
1220 # Fixture
1221 CreateFixtureRequest:
1222 type: object
1223 properties:
1224 teamIds:
1225 description: Teams IDs which participate in a match or market
1226 type: array
1227 items:
1228 type: integer
1229 minItems: 1
1230 maxItems: 4
1231 example:
1232 - 222
1233 - 333
1234 tournamentId:
1235 description: Tournament ID from the FTN product database the tournament belongs to.
1236 type: integer
1237 format: int32
1238 example: 10
1239 matchStartTime:
1240 type: string
1241 format: date-time
1242 example: "2019-06-21T12:00:00Z"
1243 isBookmaker:
1244 description: The ftn-req-user from the header will be stored as a BookmakerId by a Product DB. Bookmaker Id primarily serves as a reference to which bookmaker an Overask will be assigned.
1245 type: boolean
1246 example: true
1247 liveChannelId:
1248 type: integer
1249 description: This param is used for pairing automatic and manual Live Offer.
1250 example: 1
1251 mainMarket:
1252 type: object
1253 properties:
1254 gameType:
1255 type: string
1256 enum: [single,double,race,player]
1257 description: Game Type defines the type and number of the competitors in a match/market. Fortuna product DB uses integer values to define following game types so the component will transform it before inserting into the DB.
1258 required:
1259 - teamIds
1260 - tournamentId
1261 CreateFixtureResponse:
1262 title: CreateFixtureResponse
1263 type: object
1264 properties:
1265 fixtureId:
1266 type: integer
1267 format: int32
1268 example: 333
1269 required:
1270 - fixtureId
1271 UpdateFixtureResponse:
1272 title: UpdateFixtureResponse
1273 type: object
1274 properties:
1275 fixtureId:
1276 type: integer
1277 format: int32
1278 example: 333
1279 required:
1280 - fixtureId
1281 UpdateFixtureDateRequest:
1282 type: object
1283 properties:
1284 matchStartTime:
1285 type: string
1286 format: date-time
1287 example: "2019-06-21T12:00:00Z"
1288 required:
1289 - matchStartTime
1290 UpdateFixtureStatusRequest:
1291 type: object
1292 properties:
1293 status:
1294 type: string
1295 enum:
1296 - PREPARED
1297 - RUNNING
1298 - TERMINATED
1299 - FINISHED
1300 DeleteFixtureResponse:
1301 title: DeleteFixtureResponse
1302 type: object
1303 properties:
1304 fixtureId:
1305 type: integer
1306 format: int32
1307 example: 333
1308 required:
1309 - fixtureId
1310
1311 #--- Market Types ---
1312 CreateMarketTypeRequest:
1313 type: object
1314 properties:
1315 title:
1316 type: string
1317 description: Name of the market type
1318 example: "Home scores first goal in second period"
1319 shortTitle:
1320 type: string
1321 description: "A shorter variant of the market type title for bookies to be able to recognize markets type."
1322 example: "h 1st g in 2nd pr"
1323 note:
1324 type: string
1325 description: "A note regarding the market type"
1326 example: "Bet on whether the home team scores first in the secong period."
1327 type:
1328 type: string
1329 enum: [A,H,W,S]
1330 description: Away Favorit, Home Favorit, Always Winning, Standard
1331 example: "S"
1332 sourceMarketType:
1333 type: integer
1334 description: "Id of the source market for a derivated markets (e.g. Favorit of the day)"
1335 group:
1336 type: integer
1337 description: Maps the market type to the groups like Universal, Football, Hockey, ... which are used within Config module to filter market types.
1338 example: 1
1339 specifiers: #Define object?
1340 type: array
1341 items:
1342 type: object
1343 properties:
1344 name:
1345 type: string
1346 valueType:
1347 type: string
1348 enum: [integer,decimal,string,competitor]
1349 value:
1350 type: string
1351 configuration:
1352 type: object
1353 properties:
1354 result:
1355 type: object
1356 properties:
1357 cellsNumber:
1358 type: integer
1359 description: How many cells will be displayed im an OddsEditor for entering the results. Default number in DB is set to 1.
1360 copyStrategy:
1361 type: integer
1362 description: 'Controls result copying from parent markets and lotery results: 1 = copy from parent, 12 = copy from parent only if not a draw, 0 = do not copy, anything else = lotery, controls number of rows to be created in table tab_loterie_vysledky.'
1363 copyResult:
1364 type: array
1365 items:
1366 type: integer
1367 description: 'Defines market type ids to which the result from this market type will be copied.'
1368
1369 modelServer:
1370 type: object
1371 properties:
1372 functionName:
1373 type: string
1374 description: Name of the function which is responsibnle for generating markets from this market type.
1375 computationType:
1376 type: integer
1377 description: "Defiition how the odds will be computet. Options like model server or recalc tables (dopoctove tabulky)."
1378 subGamesFunction:
1379 type: array
1380 items:
1381 type: integer
1382 autoCalc:
1383 type: integer
1384 description: "Automatic calculation of odds. Replaces manual use of CALC button in Betsys."
1385
1386 behaviour:
1387 type: object
1388 description: "Configuration that defines behaviour of this market type."
1389 properties:
1390 nonPlayableReference:
1391 type: integer
1392 description: "Defines whether this is a reference market based on wich the model server will generate respective odds."
1393 nonVisiblReference:
1394 type: integer
1395 cloneable:
1396 type: boolean
1397 description: "If set to true, model server will know he is supposed to create identical market instances with different handicap value (handicap value represents a specifier value in the legacy system)."
1398 profiBet:
1399 type: integer
1400 description: "Whether the market type representes a Profi Bet."
1401 supportAllowed:
1402 type: integer
1403 description: "A bit mask representing which markets are allowed to be combined. A bit mask represented as a decadic number."
1404 supportForbidden:
1405 type: integer
1406 description: "A bit mask representing which markets are excluded. A bit mask represented as a decadic number."
1407 handicapGroup:
1408 type: integer
1409 description: "A bit mask which defines common approach to all the markets under this market type. e.g. while computing under/over values or handicap values."
1410 copy:
1411 type: integer
1412 description: "A bit mask which defines copy strategy for markets created based on this market type."
1413 clone:
1414 type: integer
1415 description: "Live-only config. A Bit mask which defines some cloning strategy for Live market types. Usually used values are 0 or 1."
1416 copyGroup:
1417 type: integer
1418 description: "A bit mask which defines copy strategy between groups. | Meaning of groups are not yet known, w8ing for Bookies to provide some info..."
1419 changeStatus1:
1420 type: integer
1421 description: "A bit mask which defines some strategy related to market statuses. This is a first row of status change checkboxes"
1422 changeStatus2:
1423 type: integer
1424 description: "A bit mask which defines some strategy related to market statuses. This is a second row of status change checkboxes"
1425
1426 restrictions:
1427 type: object
1428 properties:
1429 riskLimit:
1430 type: object
1431 properties:
1432 solo:
1433 type: number
1434 description: "Betslip goes into the bookie authorisation after exceeding defined amount for a SOLO bet type."
1435 soloLose:
1436 type: number
1437 description: "Betslip goes into the bookie authorisation after exceeding defined amount when a LOSE has been chosen in a SOLO bet type."
1438 ako:
1439 type: number
1440 description: "Betslip goes into the bookie authorisation after exceeding defined amount for a AKO bet type."
1441 winningRate:
1442 description: "Represents Margin->Default field in Config form."
1443 type: number
1444 handicap:
1445 description: "A handicap value which will be used as a default value while creating a market."
1446 type: number
1447 minStake:
1448 type: number
1449 maxStake:
1450 type: number
1451 marketDelay:
1452 type: integer
1453 description: "Time amount (in seconds) after which the betslip containing this market type is stored or shown in authorisation."
1454 duplicityCoefficent:
1455 #PROBABLY DEPRECATED - Check With LIVE Bookies
1456 type: integer
1457 description: "Reportedly not used. Need to check with Live bookies as well"
1458 riskCoefficient:
1459 type: number
1460 description: "Defines market risk coefficent it's value can be 0.1 as well as 2. This coefficent multiplies authorisation tables defined in Navipro."
1461
1462 restriction:
1463 type: object
1464 properties:
1465 type:
1466 type: integer
1467 description: 'Defines restriction behavior. Technically it points into the table with restrictions enumeration.'
1468 minAko:
1469 type: integer
1470 description: 'Defines minimum legs on a betslip.'
1471 restrictedCombinationWithMarkets:
1472 type: string
1473 description: "Comma delimited market type ids which are exclisive with this one. Exclusive markets can't live on a single betslip."
1474 handicapEditEnabled:
1475 description: "A flag which defines whether the default value for handicap is allowed to be changed in Odds editor"
1476 type: boolean
1477 earlyCashout:
1478 description: 'Early Cashout-related configuration.'
1479 type: object
1480 properties:
1481 type:
1482 type: string
1483 shortName:
1484 type: string
1485
1486 lottery:
1487 type: object
1488 properties:
1489 lottery:
1490 type: integer
1491 description: "This should represent a boolean flag which states whether the market type is a lottery. NOT CONFIRMED YET."
1492 gameType:
1493 type: integer
1494 description: "Reference to a lottery game type like even/odd, handicap or stake multiplier."
1495 marketTypeInternal:
1496 type: string
1497 description: "Lottery related thing but we could not be able to tell what it does."
1498
1499 live:
1500 type: object
1501 properties:
1502 liveOddsId:
1503 type: integer
1504 liveOddsSportId:
1505 type: integer
1506 liveOddsSubId:
1507 type: string
1508 betradarMarketId:
1509 type: string
1510 marginTable:
1511 type: integer
1512 description: "Select (probably) asymetric margins for Live markets. Live only."
1513
1514 display:
1515 type: object
1516 properties:
1517 order:
1518 type: integer
1519 web15Display:
1520 type: integer
1521 description: "Whether or not to display it on Web1.5"
1522 web15DefaultTemplate:
1523 type: string
1524 description: "Display definition for Etn Web1.5"
1525 printResults:
1526 type: integer
1527 description: "Sets how the results are printed. Whether all the results, or just winning tips, etc."
1528 printSpecialGame:
1529 type: integer
1530 description: "..."
1531 smsTemplate:
1532 type: integer
1533 description: "Refers to SMS template id which will be used for the SMS when market is settled."
1534 handicapView:
1535 type: integer
1536 description: "Don't know what does this really mean yet"
1537 liveEditorStopping:
1538 type: integer
1539 description: "Defines whether to display wiew/stop section in a live odds editor."
1540 liveEditorFilter:
1541 type: integer
1542 description: "Defines whether to disaply a filter section in live odds editor."
1543 showOnMobile:
1544 #PROBABLY DEPRECATED - Check With Live Bookies.
1545 type: integer
1546 description: "Defines whether the item should be displayed on mobile devices as well. Reportedly not used on PREMATCH"
1547 showOnRetailBoards:
1548 type: integer
1549 description: "Whether or not to display (print) this market type on a retail boards on walls."
1550 showOnMultiview:
1551 type: integer
1552 description: "Etnetera-related channel called Multiview."
1553 showOnPrint:
1554 type: boolean
1555 description: "Configures whether or not the item should be printed."
1556 showInFolder:
1557 type: integer
1558 description: "Whether or not to print this market type into the paper folder in retail shops. It's limited in comparison to main 'wall' Offer"
1559 disaplyColumn:
1560 type: integer
1561 disaplyOrder:
1562 type: string
1563 overviewName:
1564 type: string
1565 required:
1566 - title
1567
1568 CreateMarketTypeResponse:
1569 type: object
1570 properties:
1571 marketTypeId:
1572 type: integer
1573 format: int32
1574 example: 9999
1575 required:
1576 - marketTypeId
1577
1578 UpdateMarketTypeRequest:
1579 allOf:
1580 - $ref: '#/components/schemas/CreateMarketTypeRequest'
1581
1582 DeleteMarketTypeResponse:
1583 title: DeleteMarketTypeResponse
1584 type: object
1585 properties:
1586 marketTypeId:
1587 type: integer
1588 format: int32
1589 example: 4444
1590 required:
1591 - marketTypeId
1592
1593 #--- Markets ---
1594 CreateMarketRequest:
1595 title: CreateMarketRequest
1596 type: object
1597 properties:
1598 marketType:
1599 type: integer
1600 fixtureId:
1601 type: integer
1602 description: In fact this is an ID of the market from the product database which acts like a Match.
1603 example: 555
1604 gameType:
1605 type: string
1606 enum: [single,double,race,player]
1607 description: Game Type defines the type and number of the competitors in a match/market. Fortuna product DB uses integer values to define following game types so the component will transform it before inserting into the DB.
1608 status:
1609 type: integer
1610 example: 1
1611 required:
1612 - marketType
1613 - fixtureId
1614 - gameType
1615 CreateMarketResponse:
1616 title: CreateMarketResponse
1617 type: object
1618 properties:
1619 marketId:
1620 type: integer
1621 format: int32
1622 example: 333
1623 required:
1624 - marketId
1625 UpdateMarketRequest:
1626 title: UpdateMarketRequest
1627 type: object
1628 properties:
1629 name:
1630 type: string
1631 example: "Match/Market Name"
1632 marketType:
1633 type: integer
1634 gameType:
1635 type: string
1636 enum: [single,double,race,player]
1637 description: Game Type defines the type and number of the competitors in a match/market. Fortuna product DB uses integer values to define following game types so the component will transform it before inserting into the DB.
1638 teamIds:
1639 description: Teams IDs which participate in a match or market
1640 type: array
1641 items:
1642 type: integer
1643 example:
1644 - 222
1645 - 333
1646 infoNumber:
1647 type: integer
1648 description: The number which basically makes the market bettable. Without the info number, it could not be presented to customers.
1649 tournamentId:
1650 description: Tournament ID from the FTN product database the tournament belongs to.
1651 type: integer
1652 format: int32
1653 example: 10
1654 fixtureId:
1655 type: integer
1656 description: In fact this is an ID of the market from the product database which acts like a Match.
1657 example: 555
1658 matchStartTime:
1659 type: string
1660 format: date-time
1661 example: "2019-06-21T12:00:00Z"
1662 isReferenceMarket:
1663 type: boolean
1664 example: false
1665 isBookmaker:
1666 type: boolean
1667 example: false
1668 liveChannelId:
1669 type: integer
1670 description: ...
1671 example: 1
1672 hasStream:
1673 type: boolean
1674 example: false
1675 description: ...
1676 streamNumber:
1677 type: integer
1678 example: 8520
1679 description: ...
1680 required:
1681 - name
1682 - teamIds
1683 - gameType
1684 - tournamentId
1685 UpdateMarketResponse:
1686 title: UpdateMarketResponse
1687 type: object
1688 properties:
1689 marketId:
1690 type: integer
1691 format: int32
1692 example: 111222333
1693 required:
1694 - marketId
1695 UpdateMarketStatusRequest:
1696 type: object
1697 properties:
1698 status:
1699 type: string
1700 enum: &mktStatus
1701 - STARTED
1702 - STOPPED
1703 - TO_BE_EVALUATED
1704 - TO_BE RETURNED
1705 - TO_BE_REPAIRED
1706 required:
1707 - status
1708 BulkUpdateMarketStatusRequest:
1709 type: object
1710 properties:
1711 marketIds:
1712 type: array
1713 minItems: 1
1714 items:
1715 type: integer
1716 format: int32
1717 example: 333
1718 status:
1719 type: string
1720 enum: *mktStatus
1721 required:
1722 - marketIds
1723 - status
1724 BulkUpdateMarketStatusResponse:
1725 title: BulkUpdateMarketStatusResponse
1726 type: object
1727 properties:
1728 failedMarketIds:
1729 type: array
1730 items:
1731 type: integer
1732 format: int32
1733 example: 333
1734 required:
1735 - marketIds
1736 UpdateMarketOddRequest:
1737 type: object
1738 properties:
1739 value:
1740 type: number
1741 example: '1.5'
1742 required:
1743 - value
1744 OddValueSource:
1745 type: object
1746 properties:
1747 provider:
1748 type: string
1749 example: "BetRadar"
1750 BulkUpdateMarketOddRequest:
1751 type: object
1752 properties:
1753 value:
1754 type: string
1755 example: "NONE"
1756 enum: [NONE]
1757 description: "Used for zero-out all the odds. Currently only 'none' value is allowed"
1758 required:
1759 - value
1760 MarketResult:
1761 type: object
1762 properties:
1763 name:
1764 type: string
1765 example: "1_1"
1766 value:
1767 type: integer
1768 example: 10
1769 UpdateMarketResultRequest:
1770 type: object
1771 properties:
1772 value:
1773 type: integer
1774 example: 10
1775 BulkUpdateMarketResultRequest:
1776 type: array
1777 minItems: 1
1778 items:
1779 $ref: '#/components/schemas/MarketResult'
1780 DeleteMarketResponse:
1781 title: DeleteMarketResponse
1782 type: object
1783 properties:
1784 marketId:
1785 type: integer
1786 format: int32
1787 example: 333
1788 required:
1789 - marketId
1790 ResultNameEnum:
1791 type: string
1792 enum: ["1_1", "1_2", "1_3", "1_4", "2_1", "2_2", "2_3", "2_4"]
1793 #--- DTOs ---
1794 # TODO - check params of the error response; currently it's just copied from another service for he sake of completeness.
1795 MarketTypeSpecifier:
1796 type: object
1797 description: "Database requires market type for defining a specifier"
1798 properties:
1799 name:
1800 type: string
1801 example: "1st period"
1802 shortName:
1803 type: string
1804 example: "1st pt"
1805 overviewName:
1806 type: string
1807 description: "Don't know what does it mean yet."
1808 order:
1809 type: integer
1810 example: "10"
1811 displayOrder:
1812 type: integer
1813 betradarShortName:
1814 type: string
1815 teamIds:
1816 type: array
1817 items:
1818 minItems: 1
1819 type: integer
1820 example:
1821 - 7341
1822 - 7342
1823 values:
1824 type: array
1825 description: "DB has varying data type defined, but here in swagger we have only as a string. This param needs to be clarified with doc and teams how it is used while creating market instance."
1826 items:
1827 type: string
1828
1829 required:
1830 - name
1831
1832 LocalizedNames:
1833 description: key represents lang code (string), value represents localized value (string).
1834 type: object
1835 additionalProperties:
1836 type: string
1837 example:
1838 CZ: Česká Republika
1839 SK: Česko
1840 EN: Czech Rep.
1841 ErrorResponse:
1842 title: ErrorResponse
1843 example:
1844 timestamp: "2019-06-21T12:00:00Z"
1845 requestUrl: "/competitors/teams"
1846 traceId: "4e30f7340b3fb631"
1847 items: [
1848 {
1849 type : "ERROR",
1850 message: "Text of error or warning",
1851 params: ["param1", "param2"]
1852 }
1853 ]
1854 type: object
1855 properties:
1856 timestamp:
1857 type: string
1858 format: date-time
1859 example: "2019-06-21T12:00:00Z"
1860 requestUrl:
1861 description: Which URL (API method) has been requested
1862 type: string
1863 traceId:
1864 description: An Id used between the microservices to map requests from different components together.
1865 type: string
1866 items:
1867 description: List of messages/items regarding this error state.
1868 type: array
1869 items:
1870 $ref: '#/components/schemas/ErrorDetails'
1871 required:
1872 - timestamp
1873 - requestUrl
1874 - traceId
1875 ErrorDetails:
1876 description: Error details.
1877 type: object
1878 properties:
1879 type:
1880 type: string
1881 enum: [ERROR, WARNING]
1882 message:
1883 type: string
1884 params:
1885 type: array
1886 items:
1887 type: object