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.*;

public class dtos
{

    public static class GetSearchParts extends AuthenticatedRequest
    {
        /**
        * Keyword(s)
        */
        @ApiMember(Description="Keyword(s)", IsRequired=true)
        public String SearchText = 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)
        public Integer ArticleType = null;

        /**
        * Number of parts to return (max 100).
        */
        @ApiMember(Description="Number of parts to return (max 100).", IsRequired=true)
        public Integer PageSize = null;

        /**
        * Page number.
        */
        @ApiMember(Description="Page number.", IsRequired=true)
        public Integer Page = null;
        
        public String getSearchText() { return SearchText; }
        public GetSearchParts setSearchText(String value) { this.SearchText = value; return this; }
        public Integer getArticleType() { return ArticleType; }
        public GetSearchParts setArticleType(Integer value) { this.ArticleType = value; return this; }
        public Integer getPageSize() { return PageSize; }
        public GetSearchParts setPageSize(Integer value) { this.PageSize = value; return this; }
        public Integer getPage() { return Page; }
        public GetSearchParts setPage(Integer value) { this.Page = value; return this; }
    }

    public static class AuthenticatedRequest
    {
        /**
        * Session token received from successful authentication.
        */
        @ApiMember(Description="Session token received from successful authentication.", IsRequired=true, ParameterType="query")
        public String SessionToken = null;
        
        public String getSessionToken() { return SessionToken; }
        public AuthenticatedRequest setSessionToken(String value) { this.SessionToken = value; return this; }
    }

    public static class OperationResult_1<T> extends OperationResult
    {
        /**
        * Result value
        */
        @ApiMember(Description="Result value", ParameterType="model")
        public PartResults Result = null;
        
        public PartResults getResult() { return Result; }
        public OperationResult_1<T> setResult(PartResults value) { this.Result = value; return this; }
    }

    public static class OperationResult
    {
        /**
        * Specifies if the operation was successful.
        */
        @ApiMember(Description="Specifies if the operation was successful.", ParameterType="model")
        public Boolean IsSuccessful = null;

        /**
        * States error message in case of unsuccessful operation.
        */
        @ApiMember(Description="States error message in case of unsuccessful operation.", ParameterType="model")
        public String ErrorMessage = null;
        
        public Boolean getIsSuccessful() { return IsSuccessful; }
        public OperationResult setIsSuccessful(Boolean value) { this.IsSuccessful = value; return this; }
        public String getErrorMessage() { return ErrorMessage; }
        public OperationResult setErrorMessage(String value) { this.ErrorMessage = value; return this; }
    }

    public static class PartResults
    {
        /**
        * Total number of parts available.
        */
        @ApiMember(Description="Total number of parts available.")
        public Integer TotalNumberOfParts = null;

        /**
        * Indication if there are more parts to retrieve.
        */
        @ApiMember(Description="Indication if there are more parts to retrieve.")
        public Boolean HasMoreRecords = null;

        /**
        * Part records.
        */
        @ApiMember(Description="Part records.")
        public ArrayList<PartInfoResult> Parts = null;
        
        public Integer getTotalNumberOfParts() { return TotalNumberOfParts; }
        public PartResults setTotalNumberOfParts(Integer value) { this.TotalNumberOfParts = value; return this; }
        public Boolean isHasMoreRecords() { return HasMoreRecords; }
        public PartResults setHasMoreRecords(Boolean value) { this.HasMoreRecords = value; return this; }
        public ArrayList<PartInfoResult> getParts() { return Parts; }
        public PartResults setParts(ArrayList<PartInfoResult> value) { this.Parts = value; return this; }
    }

    public static class PartInfoResult
    {
        /**
        * Unique ID for the part.
        */
        @ApiMember(Description="Unique ID for the part.")
        public Integer Id = null;

        /**
        * Part number.
        */
        @ApiMember(Description="Part number.")
        public String PartNumber = null;

        /**
        * Description of the part.
        */
        @ApiMember(Description="Description of the part.")
        public String Description = null;

        /**
        * Part manufacturer.
        */
        @ApiMember(Description="Part manufacturer.")
        public String Manufacturer = null;

        /**
        * Determines if the part can be ordered.
        */
        @ApiMember(Description="Determines if the part can be ordered.")
        public Boolean CanBeOrdered = null;

        /**
        * Textual representation of the status of the part.
        */
        @ApiMember(Description="Textual representation of the status of the part.")
        public String StatusText = null;

        /**
        * Available stock to order.
        */
        @ApiMember(Description="Available stock to order.")
        public Integer AvailableStockQuantity = null;

        /**
        * Average days needed for delivery.
        */
        @ApiMember(Description="Average days needed for delivery.")
        public Integer AverageDeliveryInDays = null;

        /**
        * Price of a single unit, excluding VAT.
        */
        @ApiMember(Description="Price of a single unit, excluding VAT.")
        public BigDecimal UnitPrice = null;

        /**
        * EAN number.
        */
        @ApiMember(Description="EAN number.")
        public String EanNumber = null;

        /**
        * Images
        */
        @ApiMember(Description="Images")
        public ArrayList<PartInfoResultImage> Images = null;

        /**
        * Secondary article numbers
        */
        @ApiMember(Description="Secondary article numbers")
        public ArrayList<String> SecondaryArticleNumbers = null;

        /**
        * Replacement article numbers
        */
        @ApiMember(Description="Replacement article numbers")
        public ArrayList<String> ReplacementArticleNumbers = null;

        /**
        * Stock quantities
        */
        @ApiMember(Description="Stock quantities")
        public ArrayList<PartStockQuantity> StockQuantities = null;
        
        public Integer getId() { return Id; }
        public PartInfoResult setId(Integer value) { this.Id = value; return this; }
        public String getPartNumber() { return PartNumber; }
        public PartInfoResult setPartNumber(String value) { this.PartNumber = value; return this; }
        public String getDescription() { return Description; }
        public PartInfoResult setDescription(String value) { this.Description = value; return this; }
        public String getManufacturer() { return Manufacturer; }
        public PartInfoResult setManufacturer(String value) { this.Manufacturer = value; return this; }
        public Boolean isCanBeOrdered() { return CanBeOrdered; }
        public PartInfoResult setCanBeOrdered(Boolean value) { this.CanBeOrdered = value; return this; }
        public String getStatusText() { return StatusText; }
        public PartInfoResult setStatusText(String value) { this.StatusText = value; return this; }
        public Integer getAvailableStockQuantity() { return AvailableStockQuantity; }
        public PartInfoResult setAvailableStockQuantity(Integer value) { this.AvailableStockQuantity = value; return this; }
        public Integer getAverageDeliveryInDays() { return AverageDeliveryInDays; }
        public PartInfoResult setAverageDeliveryInDays(Integer value) { this.AverageDeliveryInDays = value; return this; }
        public BigDecimal getUnitPrice() { return UnitPrice; }
        public PartInfoResult setUnitPrice(BigDecimal value) { this.UnitPrice = value; return this; }
        public String getEanNumber() { return EanNumber; }
        public PartInfoResult setEanNumber(String value) { this.EanNumber = value; return this; }
        public ArrayList<PartInfoResultImage> getImages() { return Images; }
        public PartInfoResult setImages(ArrayList<PartInfoResultImage> value) { this.Images = value; return this; }
        public ArrayList<String> getSecondaryArticleNumbers() { return SecondaryArticleNumbers; }
        public PartInfoResult setSecondaryArticleNumbers(ArrayList<String> value) { this.SecondaryArticleNumbers = value; return this; }
        public ArrayList<String> getReplacementArticleNumbers() { return ReplacementArticleNumbers; }
        public PartInfoResult setReplacementArticleNumbers(ArrayList<String> value) { this.ReplacementArticleNumbers = value; return this; }
        public ArrayList<PartStockQuantity> getStockQuantities() { return StockQuantities; }
        public PartInfoResult setStockQuantities(ArrayList<PartStockQuantity> value) { this.StockQuantities = value; return this; }
    }

    public static class PartInfoResultImage
    {
        /**
        * Image number
        */
        @ApiMember(Description="Image number")
        public Integer ImageNumber = null;

        /**
        * Image URL
        */
        @ApiMember(Description="Image URL")
        public String ImageUrl = null;
        
        public Integer getImageNumber() { return ImageNumber; }
        public PartInfoResultImage setImageNumber(Integer value) { this.ImageNumber = value; return this; }
        public String getImageUrl() { return ImageUrl; }
        public PartInfoResultImage setImageUrl(String value) { this.ImageUrl = value; return this; }
    }

    public static class PartStockQuantity
    {
        /**
        * Location ID
        */
        @ApiMember(Description="Location ID")
        public Integer LocationId = null;

        /**
        * Location code
        */
        @ApiMember(Description="Location code")
        public String LocationCode = null;

        /**
        * Stock quantity in location
        */
        @ApiMember(Description="Stock quantity in location")
        public Integer StockQuantity = null;
        
        public Integer getLocationId() { return LocationId; }
        public PartStockQuantity setLocationId(Integer value) { this.LocationId = value; return this; }
        public String getLocationCode() { return LocationCode; }
        public PartStockQuantity setLocationCode(String value) { this.LocationCode = value; return this; }
        public Integer getStockQuantity() { return StockQuantity; }
        public PartStockQuantity setStockQuantity(Integer value) { this.StockQuantity = value; return this; }
    }

}

Java GetSearchParts 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 /dealers/parts/search HTTP/1.1 
Host: services.acct.2service.nl 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

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