| GET | /dealers/parts/search | Searches for articles by keyword(s). |
|---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
open class GetSearchParts : AuthenticatedRequest()
{
/**
* Keyword(s)
*/
@ApiMember(Description="Keyword(s)", IsRequired=true)
open var SearchText:String? = null
/**
* Article type (1=part, 2=accessory, 3=tool, 4=device)
*/
@ApiMember(Description="Article type (1=part, 2=accessory, 3=tool, 4=device)", IsRequired=true)
open var ArticleType:Int? = null
/**
* Number of parts to return (max 100).
*/
@ApiMember(Description="Number of parts to return (max 100).", IsRequired=true)
open var PageSize:Int? = null
/**
* Page number.
*/
@ApiMember(Description="Page number.", IsRequired=true)
open var Page:Int? = null
}
open class AuthenticatedRequest
{
/**
* Session token received from successful authentication.
*/
@ApiMember(Description="Session token received from successful authentication.", IsRequired=true, ParameterType="query")
open var SessionToken:String? = null
}
open class OperationResult_1<T> : OperationResult()
{
/**
* Result value
*/
@ApiMember(Description="Result value", ParameterType="model")
open var Result:PartResults? = null
}
open class OperationResult
{
/**
* Specifies if the operation was successful.
*/
@ApiMember(Description="Specifies if the operation was successful.", ParameterType="model")
open var IsSuccessful:Boolean? = null
/**
* States error message in case of unsuccessful operation.
*/
@ApiMember(Description="States error message in case of unsuccessful operation.", ParameterType="model")
open var ErrorMessage:String? = null
}
open class PartResults
{
/**
* Total number of parts available.
*/
@ApiMember(Description="Total number of parts available.")
open var TotalNumberOfParts:Int? = null
/**
* Indication if there are more parts to retrieve.
*/
@ApiMember(Description="Indication if there are more parts to retrieve.")
open var HasMoreRecords:Boolean? = null
/**
* Part records.
*/
@ApiMember(Description="Part records.")
open var Parts:ArrayList<PartInfoResult>? = null
}
open class PartInfoResult
{
/**
* Unique ID for the part.
*/
@ApiMember(Description="Unique ID for the part.")
open var Id:Int? = null
/**
* Part number.
*/
@ApiMember(Description="Part number.")
open var PartNumber:String? = null
/**
* Description of the part.
*/
@ApiMember(Description="Description of the part.")
open var Description:String? = null
/**
* Part manufacturer.
*/
@ApiMember(Description="Part manufacturer.")
open var Manufacturer:String? = null
/**
* Determines if the part can be ordered.
*/
@ApiMember(Description="Determines if the part can be ordered.")
open var CanBeOrdered:Boolean? = null
/**
* Textual representation of the status of the part.
*/
@ApiMember(Description="Textual representation of the status of the part.")
open var StatusText:String? = null
/**
* Available stock to order.
*/
@ApiMember(Description="Available stock to order.")
open var AvailableStockQuantity:Int? = null
/**
* Average days needed for delivery.
*/
@ApiMember(Description="Average days needed for delivery.")
open var AverageDeliveryInDays:Int? = null
/**
* Price of a single unit, excluding VAT.
*/
@ApiMember(Description="Price of a single unit, excluding VAT.")
open var UnitPrice:BigDecimal? = null
/**
* EAN number.
*/
@ApiMember(Description="EAN number.")
open var EanNumber:String? = null
/**
* Images
*/
@ApiMember(Description="Images")
open var Images:ArrayList<PartInfoResultImage>? = null
/**
* Secondary article numbers
*/
@ApiMember(Description="Secondary article numbers")
open var SecondaryArticleNumbers:ArrayList<String>? = null
/**
* Replacement article numbers
*/
@ApiMember(Description="Replacement article numbers")
open var ReplacementArticleNumbers:ArrayList<String>? = null
/**
* Stock quantities
*/
@ApiMember(Description="Stock quantities")
open var StockQuantities:ArrayList<PartStockQuantity>? = null
}
open class PartInfoResultImage
{
/**
* Image number
*/
@ApiMember(Description="Image number")
open var ImageNumber:Int? = null
/**
* Image URL
*/
@ApiMember(Description="Image URL")
open var ImageUrl:String? = null
}
open class PartStockQuantity
{
/**
* Location ID
*/
@ApiMember(Description="Location ID")
open var LocationId:Int? = null
/**
* Location code
*/
@ApiMember(Description="Location code")
open var LocationCode:String? = null
/**
* Stock quantity in location
*/
@ApiMember(Description="Stock quantity in location")
open var StockQuantity:Int? = null
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /dealers/parts/search HTTP/1.1 Host: services.acct.2service.nl Accept: text/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"Result":{"TotalNumberOfParts":0,"HasMoreRecords":false,"Parts":[{}]},"IsSuccessful":false,"ErrorMessage":"String"}