Betting.WebApi

<back to all web services

InstallProductInstance

Requires Authentication
The following routes are available for this service:
POST/cmd/products/instances
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Ref:
    id: Optional[str] = None
    val: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ProductReference:
    id: Optional[str] = None
    value: Optional[str] = None
    category: Optional[str] = None
    product_provider: Optional[Ref] = None


class PayinConstraintType(IntEnum):
    SINGLE_BET = 0
    MULTI_BET = 1
    SYSTEM_BET = 2


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Money:
    amount: Decimal = decimal.Decimal(0)
    currency: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PayinConstraint:
    type: Optional[PayinConstraintType] = None
    min: Optional[Money] = None
    default: Optional[Money] = None
    warning_threshold: Optional[Money] = None
    max: Optional[Money] = None


class WinningsCapType(IntEnum):
    SINGLE_BET = 0
    MULTI_BET = 1
    SYSTEM_BET = 2


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class WinningsCap:
    type: Optional[WinningsCapType] = None
    cap: Optional[Money] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class BettingPolicies:
    payin_constraints: Optional[RecordList[PayinConstraint]] = None
    payin_taxation_policy_id: Optional[str] = None
    winnings_caps: Optional[RecordList[WinningsCap]] = None
    winnings_taxation_policy_id: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class InstallProductInstance:
    id: Optional[str] = None
    name: Optional[str] = None
    title: Optional[str] = None
    product: Optional[ProductReference] = None
    currency: Optional[Ref] = None
    betting_policies: Optional[BettingPolicies] = None
    api_url: Optional[str] = None
    back_office_url: Optional[str] = None
    instance_url: Optional[str] = None
    feed_player_url: Optional[str] = None


T = TypeVar('T')


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RecordList(Generic[T], List[T]):
    pass

Python InstallProductInstance DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /cmd/products/instances HTTP/1.1 
Host: api.beto2.webhop.biz 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<InstallProductInstance xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Betting.WebApi.ServiceModel">
  <ApiUrl>String</ApiUrl>
  <BackOfficeUrl>String</BackOfficeUrl>
  <BettingPolicies xmlns:d2p1="http://schemas.datacontract.org/2004/07/Betting.Common">
    <d2p1:PayinConstraints>
      <d2p1:PayinConstraint>
        <d2p1:Default xmlns:d5p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
          <d5p1:Amount>0</d5p1:Amount>
          <d5p1:Currency>String</d5p1:Currency>
        </d2p1:Default>
        <d2p1:Max xmlns:d5p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
          <d5p1:Amount>0</d5p1:Amount>
          <d5p1:Currency>String</d5p1:Currency>
        </d2p1:Max>
        <d2p1:Min xmlns:d5p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
          <d5p1:Amount>0</d5p1:Amount>
          <d5p1:Currency>String</d5p1:Currency>
        </d2p1:Min>
        <d2p1:Type>SingleBet</d2p1:Type>
        <d2p1:WarningThreshold xmlns:d5p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
          <d5p1:Amount>0</d5p1:Amount>
          <d5p1:Currency>String</d5p1:Currency>
        </d2p1:WarningThreshold>
      </d2p1:PayinConstraint>
    </d2p1:PayinConstraints>
    <d2p1:PayinTaxationPolicyId>String</d2p1:PayinTaxationPolicyId>
    <d2p1:WinningsCaps>
      <d2p1:WinningsCap>
        <d2p1:Cap xmlns:d5p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
          <d5p1:Amount>0</d5p1:Amount>
          <d5p1:Currency>String</d5p1:Currency>
        </d2p1:Cap>
        <d2p1:Type>SingleBet</d2p1:Type>
      </d2p1:WinningsCap>
    </d2p1:WinningsCaps>
    <d2p1:WinningsTaxationPolicyId>String</d2p1:WinningsTaxationPolicyId>
  </BettingPolicies>
  <Currency xmlns:d2p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
    <d2p1:_x003C_Id_x003E_k__BackingField>String</d2p1:_x003C_Id_x003E_k__BackingField>
    <d2p1:_x003C_Val_x003E_k__BackingField>String</d2p1:_x003C_Val_x003E_k__BackingField>
  </Currency>
  <FeedPlayerUrl>String</FeedPlayerUrl>
  <Id>String</Id>
  <InstanceUrl>String</InstanceUrl>
  <Name>String</Name>
  <Product xmlns:d2p1="http://schemas.datacontract.org/2004/07/Betting.Common">
    <d2p1:Category>String</d2p1:Category>
    <d2p1:Id>String</d2p1:Id>
    <d2p1:ProductProvider xmlns:d3p1="http://schemas.datacontract.org/2004/07/Starnet.Common">
      <d3p1:_x003C_Id_x003E_k__BackingField>String</d3p1:_x003C_Id_x003E_k__BackingField>
      <d3p1:_x003C_Val_x003E_k__BackingField>String</d3p1:_x003C_Val_x003E_k__BackingField>
    </d2p1:ProductProvider>
    <d2p1:Value>String</d2p1:Value>
  </Product>
  <Title>String</Title>
</InstallProductInstance>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ResponseStatus xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.servicestack.net/types">
  <ErrorCode>String</ErrorCode>
  <Message>String</Message>
  <StackTrace>String</StackTrace>
  <Errors>
    <ResponseError>
      <ErrorCode>String</ErrorCode>
      <FieldName>String</FieldName>
      <Message>String</Message>
      <Meta xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </Meta>
    </ResponseError>
  </Errors>
  <Meta xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>String</d2p1:Key>
      <d2p1:Value>String</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
  </Meta>
</ResponseStatus>