Antel Merchandiser App API

<back to all web services

GetPrincipal

Requires Authentication
The following routes are available for this service:
GET/principal/get
import java.math.*
import java.util.*
import net.servicestack.client.*


open class GetPrincipal : ApiServiceRequest()
{
    var PrincipalId:Int? = null
}

open class ApiServiceRequest : IServiceRequest, IHasApiKey, IHasDeviceInfo
{
    /**
    * The API Key required for authentication
    */
    @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
    var ApiKey:String? = null

    /**
    * Latitude of the user making this request
    */
    @ApiMember(DataType="double", Description="Latitude of the user making this request")
    var Latitude:Double? = null

    /**
    * Longitude of the user making this request
    */
    @ApiMember(DataType="double", Description="Longitude of the user making this request")
    var Longitude:Double? = null
}

open class GetPrincipalResponse : ApiServiceResponse()
{
    var Data:PrincipalData? = null
}

open class ApiServiceResponse : IServiceResponse
{
    /**
    * Information about the response.
    */
    @ApiMember(Description="Information about the response.", IsRequired=true)
    var Description:String? = null

    /**
    * Heading or summary of the response.
    */
    @ApiMember(Description="Heading or summary of the response.", IsRequired=true)
    var Heading:String? = null

    /**
    * Did the intended operation for this response complete successfully?
    */
    @ApiMember(DataType="boolean", Description="Did the intended operation for this response complete successfully?", IsRequired=true)
    var WasSuccessful:Boolean? = null

    var ResponseStatus:ResponseStatus? = null
}

open class PrincipalData
{
    var PrincipalId:Int? = null
    var Name:String? = null
    var LogoImageUrl:String? = null
    var Products:ArrayList<ProductDataCategory> = ArrayList<ProductDataCategory>()
    var UpliftPrefix:String? = null
    var ContactName:String? = null
    var ContactNumber:String? = null
    var ContactEmail:String? = null
    var HasLogo:Boolean? = null
    var AllowProductLookup:Boolean? = null
    var CaptureSerialNumber:Boolean? = null
    var ShowProductionDate:Boolean? = null
    var ShowExpiryDate:Boolean? = null
    var ShowBatchCode:Boolean? = null
    var SealNumberPerProduct:Boolean? = null
    var AllowedProductStockStatuses:ArrayList<StockStatusData> = ArrayList<StockStatusData>()
    var Enabled:Boolean? = null
    var ShowSealNumber:Boolean? = null
    var ShowSealWeight:Boolean? = null
    var ConsolidationEnabled:Boolean? = null
}

open class ProductDataCategory
{
    var UnitBarcode:String? = null
    var Products:ArrayList<ProductData> = ArrayList<ProductData>()
}

open class ProductData
{
    var ProductId:Int? = null
    var PrincipalId:Int? = null
    var PrincipalPrefix:String? = null
    var Name:String? = null
    var Category:String? = null
    var ProductCode:String? = null
    var UnitBarcode:String? = null
    var CartonQuantity:Int? = null
    var ShrinkQuantity:Int? = null
    var UnitQuantity:Int? = null
    var CartonMeasurement:String? = null
    var ShrinkMeasurement:String? = null
    var UnitMeasurement:String? = null
    var CartonWeight:Double? = null
    var ShrinkWeight:Double? = null
    var UnitWeight:BigDecimal? = null
    var CartonPrice:BigDecimal? = null
    var ShrinkPrice:BigDecimal? = null
    var UnitPrice:BigDecimal? = null
    var UnitOfMeasureId:Int? = null
}

open class StockStatusData
{
    var Id:Int? = null
    var Name:String? = null
    var PhotoRequired:Boolean? = null
    var BatchCodeMandatory:Boolean? = null
    var Color:String? = null
}

Kotlin GetPrincipal 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 /principal/get HTTP/1.1 
Host: returnit-api-dev.happen.zone 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Data: 
	{
		PrincipalId: 0,
		Name: String,
		LogoImageUrl: String,
		Products: 
		[
			{
				UnitBarcode: String,
				Products: 
				[
					{
						ProductId: 0,
						PrincipalId: 0,
						PrincipalPrefix: String,
						Name: String,
						Category: String,
						ProductCode: String,
						UnitBarcode: String,
						CartonQuantity: 0,
						ShrinkQuantity: 0,
						UnitQuantity: 0,
						CartonMeasurement: String,
						ShrinkMeasurement: String,
						UnitMeasurement: String,
						CartonWeight: 0,
						ShrinkWeight: 0,
						UnitWeight: 0,
						CartonPrice: 0,
						ShrinkPrice: 0,
						UnitPrice: 0,
						UnitOfMeasureId: 0
					}
				]
			}
		],
		UpliftPrefix: String,
		ContactName: String,
		ContactNumber: String,
		ContactEmail: String,
		HasLogo: False,
		AllowProductLookup: False,
		CaptureSerialNumber: False,
		ShowProductionDate: False,
		ShowExpiryDate: False,
		ShowBatchCode: False,
		SealNumberPerProduct: False,
		AllowedProductStockStatuses: 
		[
			{
				Id: 0,
				Name: String,
				PhotoRequired: False,
				BatchCodeMandatory: False,
				Color: String
			}
		],
		Enabled: False,
		ShowSealNumber: False,
		ShowSealWeight: False,
		ConsolidationEnabled: False
	},
	Description: String,
	Heading: String,
	WasSuccessful: False,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}