2Service Services API

<back to all web services

GetSearchParts

The following routes are available for this service:
GET/dealers/parts/searchSearches 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
}

Kotlin GetSearchParts DTOs

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

HTTP + OTHER

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/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Result":{"TotalNumberOfParts":0,"HasMoreRecords":false,"Parts":[{}]},"IsSuccessful":false,"ErrorMessage":"String"}