Betting.WebApi

<back to all web services

StoreE2EConfiguration

The following routes are available for this service:
POST/cmd/e2e/configuration
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


enum ProductSubmitMode : int
{
    case Single = 0;
    case Multi = 1;
}

class Six4WinBetKindProbabilities implements JsonSerializable
{
    public function __construct(
        /** @var float */
        public float $standard=0.0,
        /** @var float */
        public float $system7=0.0,
        /** @var float */
        public float $system8=0.0,
        /** @var float */
        public float $system9=0.0,
        /** @var float */
        public float $system10=0.0,
        /** @var float */
        public float $firstColor1=0.0,
        /** @var float */
        public float $firstColor2=0.0,
        /** @var float */
        public float $firstColor3=0.0,
        /** @var float */
        public float $firstColor4=0.0,
        /** @var float */
        public float $firstColor5=0.0,
        /** @var float */
        public float $firstColor6=0.0,
        /** @var float */
        public float $firstColor7=0.0,
        /** @var float */
        public float $firstColor8=0.0,
        /** @var float */
        public float $firstNumberOdd=0.0,
        /** @var float */
        public float $firstNumberEven=0.0,
        /** @var float */
        public float $firstNumberLessThan24_5=0.0,
        /** @var float */
        public float $firstNumberGreaterThan24_5=0.0,
        /** @var float */
        public float $sumOfFirstFiveLessThan122_5=0.0,
        /** @var float */
        public float $sumOfFirstFiveGreaterThan122_5=0.0,
        /** @var float */
        public float $moreOddNumbers=0.0,
        /** @var float */
        public float $moreEvenNumbers=0.0
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['standard'])) $this->standard = $o['standard'];
        if (isset($o['system7'])) $this->system7 = $o['system7'];
        if (isset($o['system8'])) $this->system8 = $o['system8'];
        if (isset($o['system9'])) $this->system9 = $o['system9'];
        if (isset($o['system10'])) $this->system10 = $o['system10'];
        if (isset($o['firstColor1'])) $this->firstColor1 = $o['firstColor1'];
        if (isset($o['firstColor2'])) $this->firstColor2 = $o['firstColor2'];
        if (isset($o['firstColor3'])) $this->firstColor3 = $o['firstColor3'];
        if (isset($o['firstColor4'])) $this->firstColor4 = $o['firstColor4'];
        if (isset($o['firstColor5'])) $this->firstColor5 = $o['firstColor5'];
        if (isset($o['firstColor6'])) $this->firstColor6 = $o['firstColor6'];
        if (isset($o['firstColor7'])) $this->firstColor7 = $o['firstColor7'];
        if (isset($o['firstColor8'])) $this->firstColor8 = $o['firstColor8'];
        if (isset($o['firstNumberOdd'])) $this->firstNumberOdd = $o['firstNumberOdd'];
        if (isset($o['firstNumberEven'])) $this->firstNumberEven = $o['firstNumberEven'];
        if (isset($o['firstNumberLessThan24_5'])) $this->firstNumberLessThan24_5 = $o['firstNumberLessThan24_5'];
        if (isset($o['firstNumberGreaterThan24_5'])) $this->firstNumberGreaterThan24_5 = $o['firstNumberGreaterThan24_5'];
        if (isset($o['sumOfFirstFiveLessThan122_5'])) $this->sumOfFirstFiveLessThan122_5 = $o['sumOfFirstFiveLessThan122_5'];
        if (isset($o['sumOfFirstFiveGreaterThan122_5'])) $this->sumOfFirstFiveGreaterThan122_5 = $o['sumOfFirstFiveGreaterThan122_5'];
        if (isset($o['moreOddNumbers'])) $this->moreOddNumbers = $o['moreOddNumbers'];
        if (isset($o['moreEvenNumbers'])) $this->moreEvenNumbers = $o['moreEvenNumbers'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->standard)) $o['standard'] = $this->standard;
        if (isset($this->system7)) $o['system7'] = $this->system7;
        if (isset($this->system8)) $o['system8'] = $this->system8;
        if (isset($this->system9)) $o['system9'] = $this->system9;
        if (isset($this->system10)) $o['system10'] = $this->system10;
        if (isset($this->firstColor1)) $o['firstColor1'] = $this->firstColor1;
        if (isset($this->firstColor2)) $o['firstColor2'] = $this->firstColor2;
        if (isset($this->firstColor3)) $o['firstColor3'] = $this->firstColor3;
        if (isset($this->firstColor4)) $o['firstColor4'] = $this->firstColor4;
        if (isset($this->firstColor5)) $o['firstColor5'] = $this->firstColor5;
        if (isset($this->firstColor6)) $o['firstColor6'] = $this->firstColor6;
        if (isset($this->firstColor7)) $o['firstColor7'] = $this->firstColor7;
        if (isset($this->firstColor8)) $o['firstColor8'] = $this->firstColor8;
        if (isset($this->firstNumberOdd)) $o['firstNumberOdd'] = $this->firstNumberOdd;
        if (isset($this->firstNumberEven)) $o['firstNumberEven'] = $this->firstNumberEven;
        if (isset($this->firstNumberLessThan24_5)) $o['firstNumberLessThan24_5'] = $this->firstNumberLessThan24_5;
        if (isset($this->firstNumberGreaterThan24_5)) $o['firstNumberGreaterThan24_5'] = $this->firstNumberGreaterThan24_5;
        if (isset($this->sumOfFirstFiveLessThan122_5)) $o['sumOfFirstFiveLessThan122_5'] = $this->sumOfFirstFiveLessThan122_5;
        if (isset($this->sumOfFirstFiveGreaterThan122_5)) $o['sumOfFirstFiveGreaterThan122_5'] = $this->sumOfFirstFiveGreaterThan122_5;
        if (isset($this->moreOddNumbers)) $o['moreOddNumbers'] = $this->moreOddNumbers;
        if (isset($this->moreEvenNumbers)) $o['moreEvenNumbers'] = $this->moreEvenNumbers;
        return empty($o) ? new class(){} : $o;
    }
}

class Interval implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $start=0,
        /** @var int */
        public int $end=0
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['start'])) $this->start = $o['start'];
        if (isset($o['end'])) $this->end = $o['end'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->start)) $o['start'] = $this->start;
        if (isset($this->end)) $o['end'] = $this->end;
        return empty($o) ? new class(){} : $o;
    }
}

class ProductInstanceE2EConfiguration implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $productInstanceId=null,
        /** @var Interval|null */
        public ?Interval $betsPerSlip=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['productInstanceId'])) $this->productInstanceId = $o['productInstanceId'];
        if (isset($o['betsPerSlip'])) $this->betsPerSlip = JsonConverters::from('Interval', $o['betsPerSlip']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->productInstanceId)) $o['productInstanceId'] = $this->productInstanceId;
        if (isset($this->betsPerSlip)) $o['betsPerSlip'] = JsonConverters::to('Interval', $this->betsPerSlip);
        return empty($o) ? new class(){} : $o;
    }
}

class LocationE2EConfiguration implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $locationId=null,
        /** @var bool|null */
        public ?bool $isActive=null,
        /** @var ProductSubmitMode|null */
        public ?ProductSubmitMode $submitMode=null,
        /** @var array<ProductInstanceE2EConfiguration>|null */
        public ?array $productInstanceE2EConfigurations=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['locationId'])) $this->locationId = $o['locationId'];
        if (isset($o['isActive'])) $this->isActive = $o['isActive'];
        if (isset($o['submitMode'])) $this->submitMode = JsonConverters::from('ProductSubmitMode', $o['submitMode']);
        if (isset($o['productInstanceE2EConfigurations'])) $this->productInstanceE2EConfigurations = JsonConverters::fromArray('ProductInstanceE2EConfiguration', $o['productInstanceE2EConfigurations']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->locationId)) $o['locationId'] = $this->locationId;
        if (isset($this->isActive)) $o['isActive'] = $this->isActive;
        if (isset($this->submitMode)) $o['submitMode'] = JsonConverters::to('ProductSubmitMode', $this->submitMode);
        if (isset($this->productInstanceE2EConfigurations)) $o['productInstanceE2EConfigurations'] = JsonConverters::toArray('ProductInstanceE2EConfiguration', $this->productInstanceE2EConfigurations);
        return empty($o) ? new class(){} : $o;
    }
}

class StoreE2EConfiguration implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $delayTime=0,
        /** @var int */
        public int $numberOfSlipsPerLocation=0,
        /** @var ProductSubmitMode|null */
        public ?ProductSubmitMode $defaultSubmitMode=null,
        /** @var Six4WinBetKindProbabilities|null */
        public ?Six4WinBetKindProbabilities $six4WinBetKindProbabilities=null,
        /** @var array<ProductInstanceE2EConfiguration>|null */
        public ?array $defaultProductInstanceE2EConfigurations=null,
        /** @var array<LocationE2EConfiguration>|null */
        public ?array $locationE2EConfigurations=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['delayTime'])) $this->delayTime = $o['delayTime'];
        if (isset($o['numberOfSlipsPerLocation'])) $this->numberOfSlipsPerLocation = $o['numberOfSlipsPerLocation'];
        if (isset($o['defaultSubmitMode'])) $this->defaultSubmitMode = JsonConverters::from('ProductSubmitMode', $o['defaultSubmitMode']);
        if (isset($o['six4WinBetKindProbabilities'])) $this->six4WinBetKindProbabilities = JsonConverters::from('Six4WinBetKindProbabilities', $o['six4WinBetKindProbabilities']);
        if (isset($o['defaultProductInstanceE2EConfigurations'])) $this->defaultProductInstanceE2EConfigurations = JsonConverters::fromArray('ProductInstanceE2EConfiguration', $o['defaultProductInstanceE2EConfigurations']);
        if (isset($o['locationE2EConfigurations'])) $this->locationE2EConfigurations = JsonConverters::fromArray('LocationE2EConfiguration', $o['locationE2EConfigurations']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->delayTime)) $o['delayTime'] = $this->delayTime;
        if (isset($this->numberOfSlipsPerLocation)) $o['numberOfSlipsPerLocation'] = $this->numberOfSlipsPerLocation;
        if (isset($this->defaultSubmitMode)) $o['defaultSubmitMode'] = JsonConverters::to('ProductSubmitMode', $this->defaultSubmitMode);
        if (isset($this->six4WinBetKindProbabilities)) $o['six4WinBetKindProbabilities'] = JsonConverters::to('Six4WinBetKindProbabilities', $this->six4WinBetKindProbabilities);
        if (isset($this->defaultProductInstanceE2EConfigurations)) $o['defaultProductInstanceE2EConfigurations'] = JsonConverters::toArray('ProductInstanceE2EConfiguration', $this->defaultProductInstanceE2EConfigurations);
        if (isset($this->locationE2EConfigurations)) $o['locationE2EConfigurations'] = JsonConverters::toArray('LocationE2EConfiguration', $this->locationE2EConfigurations);
        return empty($o) ? new class(){} : $o;
    }
}

PHP StoreE2EConfiguration 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/e2e/configuration HTTP/1.1 
Host: api.sbbet.ath.cx 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<StoreE2EConfiguration xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Betting.WebApi.ServiceModel">
  <DefaultProductInstanceE2EConfigurations>
    <ProductInstanceE2EConfiguration>
      <BetsPerSlip xmlns:d4p1="http://schemas.datacontract.org/2004/07/Betting.Common">
        <d4p1:End>0</d4p1:End>
        <d4p1:Start>0</d4p1:Start>
      </BetsPerSlip>
      <ProductInstanceId>String</ProductInstanceId>
    </ProductInstanceE2EConfiguration>
  </DefaultProductInstanceE2EConfigurations>
  <DefaultSubmitMode>Single</DefaultSubmitMode>
  <DelayTime>0</DelayTime>
  <LocationE2EConfigurations>
    <LocationE2EConfiguration>
      <IsActive>false</IsActive>
      <LocationId>String</LocationId>
      <ProductInstanceE2EConfigurations>
        <ProductInstanceE2EConfiguration>
          <BetsPerSlip xmlns:d6p1="http://schemas.datacontract.org/2004/07/Betting.Common">
            <d6p1:End>0</d6p1:End>
            <d6p1:Start>0</d6p1:Start>
          </BetsPerSlip>
          <ProductInstanceId>String</ProductInstanceId>
        </ProductInstanceE2EConfiguration>
      </ProductInstanceE2EConfigurations>
      <SubmitMode>Single</SubmitMode>
    </LocationE2EConfiguration>
  </LocationE2EConfigurations>
  <NumberOfSlipsPerLocation>0</NumberOfSlipsPerLocation>
  <Six4WinBetKindProbabilities>
    <FirstColor1>0</FirstColor1>
    <FirstColor2>0</FirstColor2>
    <FirstColor3>0</FirstColor3>
    <FirstColor4>0</FirstColor4>
    <FirstColor5>0</FirstColor5>
    <FirstColor6>0</FirstColor6>
    <FirstColor7>0</FirstColor7>
    <FirstColor8>0</FirstColor8>
    <FirstNumberEven>0</FirstNumberEven>
    <FirstNumberGreaterThan24_5>0</FirstNumberGreaterThan24_5>
    <FirstNumberLessThan24_5>0</FirstNumberLessThan24_5>
    <FirstNumberOdd>0</FirstNumberOdd>
    <MoreEvenNumbers>0</MoreEvenNumbers>
    <MoreOddNumbers>0</MoreOddNumbers>
    <Standard>0</Standard>
    <SumOfFirstFiveGreaterThan122_5>0</SumOfFirstFiveGreaterThan122_5>
    <SumOfFirstFiveLessThan122_5>0</SumOfFirstFiveLessThan122_5>
    <System10>0</System10>
    <System7>0</System7>
    <System8>0</System8>
    <System9>0</System9>
  </Six4WinBetKindProbabilities>
</StoreE2EConfiguration>
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>