2Service Services API

<back to all web services

PostNewOrder

The following routes are available for this service:
POST/dealers/orderPlaces a new order with the specified items.
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;

public class dtos
{

    public static class PostNewOrder extends AuthenticatedRequest
    {
        /**
        * Items to order.
        */
        @ApiMember(Description="Items to order.", IsRequired=true, ParameterType="body")
        public NewOrderItemList Items = null;

        /**
        * Dropshipment indication.
        */
        @ApiMember(Description="Dropshipment indication.", ParameterType="body")
        public Boolean UseDropshipment = null;

        /**
        * Delivery address.
        */
        @ApiMember(Description="Delivery address.", ParameterType="body")
        public NewOrderAddress DeliveryAddress = null;
        
        public NewOrderItemList getItems() { return Items; }
        public PostNewOrder setItems(NewOrderItemList value) { this.Items = value; return this; }
        public Boolean isUseDropshipment() { return UseDropshipment; }
        public PostNewOrder setUseDropshipment(Boolean value) { this.UseDropshipment = value; return this; }
        public NewOrderAddress getDeliveryAddress() { return DeliveryAddress; }
        public PostNewOrder setDeliveryAddress(NewOrderAddress value) { this.DeliveryAddress = 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 NewOrderItemList extends ArrayList<NewOrderItem>
    {
        
    }

    public static class NewOrderItem
    {
        /**
        * Unique ID for the part.
        */
        @ApiMember(Description="Unique ID for the part.", IsRequired=true, ParameterType="body")
        public Integer PartId = null;

        /**
        * Quantity to order.
        */
        @ApiMember(Description="Quantity to order.", IsRequired=true, ParameterType="body")
        public Integer Quantity = null;

        /**
        * Custom reference.
        */
        @ApiMember(Description="Custom reference.", ParameterType="body")
        public String Reference = null;
        
        public Integer getPartId() { return PartId; }
        public NewOrderItem setPartId(Integer value) { this.PartId = value; return this; }
        public Integer getQuantity() { return Quantity; }
        public NewOrderItem setQuantity(Integer value) { this.Quantity = value; return this; }
        public String getReference() { return Reference; }
        public NewOrderItem setReference(String value) { this.Reference = value; return this; }
    }

    public static class NewOrderAddress implements IAddress
    {
        /**
        * Company name.
        */
        @ApiMember(Description="Company name.", ParameterType="body")
        public String CompanyName = null;

        /**
        * First name.
        */
        @ApiMember(Description="First name.", ParameterType="body")
        public String FirstName = null;

        /**
        * Last name.
        */
        @ApiMember(Description="Last name.", ParameterType="body")
        public String LastName = null;

        /**
        * Street name.
        */
        @ApiMember(Description="Street name.", IsRequired=true, ParameterType="body")
        public String StreetName = null;

        /**
        * House number.
        */
        @ApiMember(Description="House number.", IsRequired=true, ParameterType="body")
        public String HouseNumber = null;

        /**
        * House number addition.
        */
        @ApiMember(Description="House number addition.", ParameterType="body")
        public String HouseNumberAddition = null;

        /**
        * Postal code.
        */
        @ApiMember(Description="Postal code.", IsRequired=true, ParameterType="body")
        public String PostalCode = null;

        /**
        * City.
        */
        @ApiMember(Description="City.", IsRequired=true, ParameterType="body")
        public String City = null;

        /**
        * Country code.
        */
        @ApiMember(Description="Country code.", IsRequired=true, ParameterType="body")
        public String CountryCode = null;

        /**
        * Telephone number.
        */
        @ApiMember(Description="Telephone number.", ParameterType="body")
        public String TelephoneNumber = null;
        
        public String getCompanyName() { return CompanyName; }
        public NewOrderAddress setCompanyName(String value) { this.CompanyName = value; return this; }
        public String getFirstName() { return FirstName; }
        public NewOrderAddress setFirstName(String value) { this.FirstName = value; return this; }
        public String getLastName() { return LastName; }
        public NewOrderAddress setLastName(String value) { this.LastName = value; return this; }
        public String getStreetName() { return StreetName; }
        public NewOrderAddress setStreetName(String value) { this.StreetName = value; return this; }
        public String getHouseNumber() { return HouseNumber; }
        public NewOrderAddress setHouseNumber(String value) { this.HouseNumber = value; return this; }
        public String getHouseNumberAddition() { return HouseNumberAddition; }
        public NewOrderAddress setHouseNumberAddition(String value) { this.HouseNumberAddition = value; return this; }
        public String getPostalCode() { return PostalCode; }
        public NewOrderAddress setPostalCode(String value) { this.PostalCode = value; return this; }
        public String getCity() { return City; }
        public NewOrderAddress setCity(String value) { this.City = value; return this; }
        public String getCountryCode() { return CountryCode; }
        public NewOrderAddress setCountryCode(String value) { this.CountryCode = value; return this; }
        public String getTelephoneNumber() { return TelephoneNumber; }
        public NewOrderAddress setTelephoneNumber(String value) { this.TelephoneNumber = value; return this; }
    }

    public static class NewOrderResponse extends OperationResult_1<NewOrderResult>
    {
        
    }

    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 NewOrderResult
    {
        /**
        * Number for the order that has been placed.
        */
        @ApiMember(Description="Number for the order that has been placed.", ParameterType="model")
        public String OrderNumber = null;
        
        public String getOrderNumber() { return OrderNumber; }
        public NewOrderResult setOrderNumber(String value) { this.OrderNumber = value; return this; }
    }

}

Java PostNewOrder 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/order HTTP/1.1 
Host: services.acct.2service.nl 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"Items":[{"PartId":0,"Quantity":0,"Reference":"String"}],"UseDropshipment":false,"DeliveryAddress":{"CompanyName":"String","FirstName":"String","LastName":"String","StreetName":"String","HouseNumber":"String","HouseNumberAddition":"String","PostalCode":"String","City":"String","CountryCode":"String","TelephoneNumber":"String"},"SessionToken":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

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