| POST | /api/itemDataNotification/search | Search item data notification based on search parameters |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using DX.STF.Application.ClientApi.Messages.ItemDataNotification;
using DX.STF.Models.Queries.ItemDataNotification;
using DX.STF.Contracts.Enums;
using DX.STF.Models.Queries.QueryResult;
using DX.Framework.Core.Querying;
namespace DX.Framework.Core.Querying
{
public partial class PagedQueryResult<T>
{
public virtual long StartIndex { get; set; }
public virtual long EndIndex { get; set; }
public virtual int NumberOfRecordsReturned { get; set; }
public virtual int TotalNumberOfPages { get; set; }
public virtual long TotalNumberOfRecords { get; set; }
public virtual List<ResultItem<ClaimMessage>> Results { get; set; } = [];
}
}
namespace DX.STF.Application.ClientApi.Messages.ItemDataNotification
{
///<summary>
///Item Data Notification
///</summary>
[Api(Description="Item Data Notification")]
[ApiResponse(Description="Paged ItemDataNotification data", IsDefaultResponse=true, ResponseType=typeof(DX.STF.Models.Queries.QueryResult.PagedQueryResponseWithToken`1[[DX.Framework.Core.Querying.ResultItem`1[[DX.STF.Models.Dto.GS1.ItemDataNotificationMessage, DX.STF.Models, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], DX.Framework.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]), StatusCode=200)]
public partial class SearchItemDataNotification
{
///<summary>
///Search query
///</summary>
[ApiMember(Description="Search query", ParameterType="model")]
public virtual SearchItemDataNotificationQuery Query { get; set; }
}
}
namespace DX.STF.Contracts.Enums
{
public enum ORDER
{
ASC,
DESC,
}
}
namespace DX.STF.Models.Queries.ItemDataNotification
{
public partial class SearchItemDataNotificationQuery
: ISearchItemDataNotification
{
public virtual string ReceiverGln { get; set; }
public virtual string SenderGln { get; set; }
public virtual List<string> PartnerGln { get; set; } = [];
public virtual int RequestedPage { get; set; }
public virtual int NumberOfRecordsPerPage { get; set; }
public virtual string ContinuationToken { get; set; }
public virtual string CategoryCode { get; set; }
public virtual string Identifier { get; set; }
public virtual string TradeItemDescription { get; set; }
public virtual string Gtin { get; set; }
public virtual string OrderBy { get; set; }
public virtual ORDER Order { get; set; }
}
}
namespace DX.STF.Models.Queries.QueryResult
{
public partial class PagedQueryResponseWithToken<T>
: PagedQueryResult<ResultItem<InvoiceMessage>>
{
public virtual string ContinuationToken { get; set; }
}
}
C# SearchItemDataNotification DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/itemDataNotification/search HTTP/1.1
Host: stf-api-uat.data-xchange.co.za
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
query:
{
receiverGln: String,
senderGln: String,
partnerGln:
[
String
],
requestedPage: 0,
numberOfRecordsPerPage: 0,
continuationToken: String,
categoryCode: String,
identifier: String,
tradeItemDescription: String,
gtin: String,
orderBy: String,
order: ASC
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
continuationToken: String,
startIndex: 0,
endIndex: 0,
numberOfRecordsReturned: 0,
totalNumberOfPages: 0,
totalNumberOfRecords: 0,
results:
[
{
}
]
}