Betting.WebApi

<back to all web services

FindAppEventsSummary

Requires Authentication
The following routes are available for this service:
All Verbs/qry/app-events-summary
<?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};


class QueryRequest implements JsonSerializable
{
    public function __construct(
        /** @var array<string,string>|null */
        public ?array $qry=null
    ) {
    }

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

class PaginatedQueryRequest extends QueryRequest implements JsonSerializable
{
    /**
     * @param array<string,string>|null $qry
     */
    public function __construct(
        ?array $qry=null,
        /** @var int */
        public int $currentPage=0,
        /** @var int */
        public int $pageSize=0
    ) {
        parent::__construct($qry);
    }

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

class EventsSummary implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $n=0,
        /** @var int */
        public int $s=0,
        /** @var int */
        public int $i=0,
        /** @var int */
        public int $w=0,
        /** @var int */
        public int $e=0
    ) {
    }

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

class FindAppEventsSummary extends PaginatedQueryRequest implements JsonSerializable
{
    /**
     * @param array<string,string>|null $qry
     * @param int $currentPage
     * @param int $pageSize
     */
    public function __construct(
        ?array $qry=null,
        int $currentPage=0,
        int $pageSize=0
    ) {
        parent::__construct($qry,$currentPage,$pageSize);
    }

    /** @throws Exception */
    public function fromMap($o): void {
        parent::fromMap($o);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = parent::jsonSerialize();
        return empty($o) ? new class(){} : $o;
    }
}

PHP FindAppEventsSummary DTOs

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

HTTP + JSV

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

POST /qry/app-events-summary HTTP/1.1 
Host: api.sbbet.ath.cx 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	currentPage: 0,
	pageSize: 0,
	qry: 
	{
		String: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	n: 0,
	s: 0,
	i: 0,
	w: 0,
	e: 0
}