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.
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using _2Service.Webservices.ServiceModel.Dealers;
using _2Service.Webservices.ServiceModel;

namespace _2Service.Webservices.ServiceModel
{
    public partial class OperationResult
    {
        ///<summary>
        ///Specifies if the operation was successful.
        ///</summary>
        [ApiMember(Description="Specifies if the operation was successful.", ParameterType="model")]
        public virtual bool IsSuccessful { get; set; }

        ///<summary>
        ///States error message in case of unsuccessful operation.
        ///</summary>
        [ApiMember(Description="States error message in case of unsuccessful operation.", ParameterType="model")]
        public virtual string? ErrorMessage { get; set; }
    }

    public partial class OperationResult<T>
        : OperationResult
    {
        ///<summary>
        ///Result value
        ///</summary>
        [ApiMember(Description="Result value", ParameterType="model")]
        public virtual PartResults? Result { get; set; }
    }

}

namespace _2Service.Webservices.ServiceModel.Dealers
{
    public partial class AuthenticatedRequest
    {
        ///<summary>
        ///Session token received from successful authentication.
        ///</summary>
        [ApiMember(Description="Session token received from successful authentication.", IsRequired=true, ParameterType="query")]
        public virtual string SessionToken { get; set; }
    }

    public partial class NewOrderAddress
        : IAddress
    {
        ///<summary>
        ///Company name.
        ///</summary>
        [ApiMember(Description="Company name.", ParameterType="body")]
        public virtual string? CompanyName { get; set; }

        ///<summary>
        ///First name.
        ///</summary>
        [ApiMember(Description="First name.", ParameterType="body")]
        public virtual string? FirstName { get; set; }

        ///<summary>
        ///Last name.
        ///</summary>
        [ApiMember(Description="Last name.", ParameterType="body")]
        public virtual string? LastName { get; set; }

        ///<summary>
        ///Street name.
        ///</summary>
        [ApiMember(Description="Street name.", IsRequired=true, ParameterType="body")]
        public virtual string StreetName { get; set; }

        ///<summary>
        ///House number.
        ///</summary>
        [ApiMember(Description="House number.", IsRequired=true, ParameterType="body")]
        public virtual string HouseNumber { get; set; }

        ///<summary>
        ///House number addition.
        ///</summary>
        [ApiMember(Description="House number addition.", ParameterType="body")]
        public virtual string? HouseNumberAddition { get; set; }

        ///<summary>
        ///Postal code.
        ///</summary>
        [ApiMember(Description="Postal code.", IsRequired=true, ParameterType="body")]
        public virtual string PostalCode { get; set; }

        ///<summary>
        ///City.
        ///</summary>
        [ApiMember(Description="City.", IsRequired=true, ParameterType="body")]
        public virtual string City { get; set; }

        ///<summary>
        ///Country code.
        ///</summary>
        [ApiMember(Description="Country code.", IsRequired=true, ParameterType="body")]
        public virtual string CountryCode { get; set; }

        ///<summary>
        ///Telephone number.
        ///</summary>
        [ApiMember(Description="Telephone number.", ParameterType="body")]
        public virtual string? TelephoneNumber { get; set; }
    }

    public partial class NewOrderItem
    {
        ///<summary>
        ///Unique ID for the part.
        ///</summary>
        [ApiMember(Description="Unique ID for the part.", IsRequired=true, ParameterType="body")]
        public virtual int PartId { get; set; }

        ///<summary>
        ///Quantity to order.
        ///</summary>
        [ApiMember(Description="Quantity to order.", IsRequired=true, ParameterType="body")]
        public virtual int Quantity { get; set; }

        ///<summary>
        ///Custom reference.
        ///</summary>
        [ApiMember(Description="Custom reference.", ParameterType="body")]
        public virtual string? Reference { get; set; }
    }

    public partial class NewOrderItemList
        : List<NewOrderItem>
    {
    }

    public partial class NewOrderResponse
        : OperationResult<NewOrderResult>
    {
    }

    public partial class NewOrderResult
    {
        ///<summary>
        ///Number for the order that has been placed.
        ///</summary>
        [ApiMember(Description="Number for the order that has been placed.", ParameterType="model")]
        public virtual string? OrderNumber { get; set; }
    }

    public partial class PartInfoResult
    {
        ///<summary>
        ///Unique ID for the part.
        ///</summary>
        [ApiMember(Description="Unique ID for the part.")]
        public virtual int Id { get; set; }

        ///<summary>
        ///Part number.
        ///</summary>
        [ApiMember(Description="Part number.")]
        public virtual string? PartNumber { get; set; }

        ///<summary>
        ///Description of the part.
        ///</summary>
        [ApiMember(Description="Description of the part.")]
        public virtual string? Description { get; set; }

        ///<summary>
        ///Part manufacturer.
        ///</summary>
        [ApiMember(Description="Part manufacturer.")]
        public virtual string? Manufacturer { get; set; }

        ///<summary>
        ///Determines if the part can be ordered.
        ///</summary>
        [ApiMember(Description="Determines if the part can be ordered.")]
        public virtual bool CanBeOrdered { get; set; }

        ///<summary>
        ///Textual representation of the status of the part.
        ///</summary>
        [ApiMember(Description="Textual representation of the status of the part.")]
        public virtual string? StatusText { get; set; }

        ///<summary>
        ///Available stock to order.
        ///</summary>
        [ApiMember(Description="Available stock to order.")]
        public virtual int AvailableStockQuantity { get; set; }

        ///<summary>
        ///Average days needed for delivery.
        ///</summary>
        [ApiMember(Description="Average days needed for delivery.")]
        public virtual int? AverageDeliveryInDays { get; set; }

        ///<summary>
        ///Price of a single unit, excluding VAT.
        ///</summary>
        [ApiMember(Description="Price of a single unit, excluding VAT.")]
        public virtual decimal? UnitPrice { get; set; }

        ///<summary>
        ///EAN number.
        ///</summary>
        [ApiMember(Description="EAN number.")]
        public virtual string? EanNumber { get; set; }

        ///<summary>
        ///Images
        ///</summary>
        [ApiMember(Description="Images")]
        public virtual List<PartInfoResultImage>? Images { get; set; }

        ///<summary>
        ///Secondary article numbers
        ///</summary>
        [ApiMember(Description="Secondary article numbers")]
        public virtual List<string>? SecondaryArticleNumbers { get; set; }

        ///<summary>
        ///Replacement article numbers
        ///</summary>
        [ApiMember(Description="Replacement article numbers")]
        public virtual List<string>? ReplacementArticleNumbers { get; set; }

        ///<summary>
        ///Stock quantities
        ///</summary>
        [ApiMember(Description="Stock quantities")]
        public virtual List<PartStockQuantity>? StockQuantities { get; set; }
    }

    public partial class PartInfoResultImage
    {
        ///<summary>
        ///Image number
        ///</summary>
        [ApiMember(Description="Image number")]
        public virtual int ImageNumber { get; set; }

        ///<summary>
        ///Image URL
        ///</summary>
        [ApiMember(Description="Image URL")]
        public virtual string? ImageUrl { get; set; }
    }

    public partial class PartResults
    {
        ///<summary>
        ///Total number of parts available.
        ///</summary>
        [ApiMember(Description="Total number of parts available.")]
        public virtual int TotalNumberOfParts { get; set; }

        ///<summary>
        ///Indication if there are more parts to retrieve.
        ///</summary>
        [ApiMember(Description="Indication if there are more parts to retrieve.")]
        public virtual bool HasMoreRecords { get; set; }

        ///<summary>
        ///Part records.
        ///</summary>
        [ApiMember(Description="Part records.")]
        public virtual List<PartInfoResult>? Parts { get; set; }
    }

    public partial class PartStockQuantity
    {
        ///<summary>
        ///Location ID
        ///</summary>
        [ApiMember(Description="Location ID")]
        public virtual int LocationId { get; set; }

        ///<summary>
        ///Location code
        ///</summary>
        [ApiMember(Description="Location code")]
        public virtual string? LocationCode { get; set; }

        ///<summary>
        ///Stock quantity in location
        ///</summary>
        [ApiMember(Description="Stock quantity in location")]
        public virtual int StockQuantity { get; set; }
    }

    public partial class PostNewOrder
        : AuthenticatedRequest
    {
        ///<summary>
        ///Items to order.
        ///</summary>
        [ApiMember(Description="Items to order.", IsRequired=true, ParameterType="body")]
        public virtual NewOrderItemList Items { get; set; }

        ///<summary>
        ///Dropshipment indication.
        ///</summary>
        [ApiMember(Description="Dropshipment indication.", ParameterType="body")]
        public virtual bool? UseDropshipment { get; set; }

        ///<summary>
        ///Delivery address.
        ///</summary>
        [ApiMember(Description="Delivery address.", ParameterType="body")]
        public virtual NewOrderAddress? DeliveryAddress { get; set; }
    }

}

C# 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"}