2Service Services API

<back to all web services

Authenticate

The following routes are available for this service:
POST/dealers/authenticateAuthenticate with user name and password. Returns session token. Note: the token expires after 5 minutes of inactivity.
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;

public class dtos
{

    public static class Authenticate
    {
        /**
        * User name for your account.
        */
        @ApiMember(Description="User name for your account.", IsRequired=true, ParameterType="query")
        public String UserName = null;

        /**
        * Password provided by your supplier.
        */
        @ApiMember(Description="Password provided by your supplier.", IsRequired=true, ParameterType="query")
        public String Password = null;
        
        public String getUserName() { return UserName; }
        public Authenticate setUserName(String value) { this.UserName = value; return this; }
        public String getPassword() { return Password; }
        public Authenticate setPassword(String value) { this.Password = value; return this; }
    }

    public static class AuthenticateResponse extends OperationResult_1<AuthenticateResult>
    {
        
    }

    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; }
    }

    public static class AuthenticateResult
    {
        /**
        * Session token to use in successive calls to the services.
        */
        @ApiMember(Description="Session token to use in successive calls to the services.", ParameterType="model")
        public String SessionToken = null;
        
        public String getSessionToken() { return SessionToken; }
        public AuthenticateResult setSessionToken(String value) { this.SessionToken = value; return this; }
    }

}

Java Authenticate DTOs

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

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /dealers/authenticate HTTP/1.1 
Host: services.acct.2service.nl 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"UserName":"String","Password":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Result":{"SessionToken":"String"},"IsSuccessful":false,"ErrorMessage":"String"}