DX STF Client API

<back to all web services

GetReceivingAdviceByDateRange

Receiving Advice Requests

Receiving Advice

Requires Authentication
The following routes are available for this service:
GET/api/receivingAdvice/from/{FromDate}/to/{ToDate}Get Receiving Advice between start and end date
<?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};


/** @description Receiving Advice */
// @Api(Description="Receiving Advice")
// @ApiResponse(Description="Paged invoice response between start and end date", IsDefaultResponse=true, StatusCode=200)
class GetReceivingAdviceByDateRange implements JsonSerializable
{
    public function __construct(
        /** @description Requested page number, starting at 1 */
        // @ApiMember(Description="Requested page number, starting at 1")
        /** @var int */
        public int $requestedPage=0,

        /** @description Number of records to return on a page */
        // @ApiMember(Description="Number of records to return on a page")
        /** @var int */
        public int $numberOfRecordsPerPage=0,

        /** @description From Date Time */
        // @ApiMember(Description="From Date Time", ParameterType="path")
        /** @var DateTime */
        public DateTime $fromDate=new DateTime(),

        /** @description To Date Time */
        // @ApiMember(Description="To Date Time", ParameterType="path")
        /** @var DateTime */
        public DateTime $toDate=new DateTime()
    ) {
    }

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

/**
 * @template T
 */
class PagedQueryResult implements JsonSerializable
{
    public array $genericArgs = [];
    public static function create(array $genericArgs=[]): PagedQueryResult {
        $to = new PagedQueryResult();
        $to->genericArgs = $genericArgs;
        return $to;
    }

    public function __construct(
        /** @var int */
        public mixed $startIndex=0,
        /** @var int */
        public mixed $endIndex=0,
        /** @var int */
        public mixed $numberOfRecordsReturned=0,
        /** @var int */
        public mixed $totalNumberOfPages=0,
        /** @var int */
        public mixed $totalNumberOfRecords=0,
        /** @var array<ResultItem<ClaimMessage>>|null */
        public mixed $results=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['startIndex'])) $this->startIndex = $o['startIndex'];
        if (isset($o['endIndex'])) $this->endIndex = $o['endIndex'];
        if (isset($o['numberOfRecordsReturned'])) $this->numberOfRecordsReturned = $o['numberOfRecordsReturned'];
        if (isset($o['totalNumberOfPages'])) $this->totalNumberOfPages = $o['totalNumberOfPages'];
        if (isset($o['totalNumberOfRecords'])) $this->totalNumberOfRecords = $o['totalNumberOfRecords'];
        if (isset($o['results'])) $this->results = JsonConverters::fromArray('ResultItem<ClaimMessage>', $o['results']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->startIndex)) $o['startIndex'] = $this->startIndex;
        if (isset($this->endIndex)) $o['endIndex'] = $this->endIndex;
        if (isset($this->numberOfRecordsReturned)) $o['numberOfRecordsReturned'] = $this->numberOfRecordsReturned;
        if (isset($this->totalNumberOfPages)) $o['totalNumberOfPages'] = $this->totalNumberOfPages;
        if (isset($this->totalNumberOfRecords)) $o['totalNumberOfRecords'] = $this->totalNumberOfRecords;
        if (isset($this->results)) $o['results'] = JsonConverters::toArray('ResultItem<ClaimMessage>', $this->results);
        return empty($o) ? new class(){} : $o;
    }
}

PHP GetReceivingAdviceByDateRange 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.

GET /api/receivingAdvice/from/{FromDate}/to/{ToDate} HTTP/1.1 
Host: stf-api-uat.data-xchange.co.za 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	startIndex: 0,
	endIndex: 0,
	numberOfRecordsReturned: 0,
	totalNumberOfPages: 0,
	totalNumberOfRecords: 0,
	results: 
	[
		{
			
		}
	]
}