2Service Services API

<back to all web services

GetOrderTracking

The following routes are available for this service:
GET/dealers/order/trackingRetrieves tracking numbers based on order number.
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 GetOrderTracking
        : AuthenticatedRequest
    {
        ///<summary>
        ///Order number to retrieve tracking for.
        ///</summary>
        [ApiMember(Description="Order number to retrieve tracking for.", IsRequired=true)]
        public virtual string OrderNumber { get; set; }
    }

    public enum OrderStatus
    {
        Open = 1,
        Completed = 2,
        Cancelled = 3,
    }

    public partial class OrderTrackingResponse
        : OperationResult<OrderTrackingResult>
    {
    }

    public partial class OrderTrackingResult
    {
        ///<summary>
        ///Order number.
        ///</summary>
        [ApiMember(Description="Order number.")]
        public virtual string? OrderNumber { get; set; }

        ///<summary>
        ///Order date.
        ///</summary>
        [ApiMember(Description="Order date.")]
        public virtual DateTime OrderDate { get; set; }

        ///<summary>
        ///Order status.
        ///</summary>
        [ApiMember(Description="Order status.")]
        public virtual OrderStatus Status { get; set; }

        ///<summary>
        ///List of shipments (if any).
        ///</summary>
        [ApiMember(Description="List of shipments (if any).")]
        public virtual List<ShipmentResult>? Shipments { 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 ShipmentArticleResult
    {
        ///<summary>
        ///Order number.
        ///</summary>
        [ApiMember(Description="Order number.")]
        public virtual string? OrderNumber { get; set; }

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

        ///<summary>
        ///Quantity.
        ///</summary>
        [ApiMember(Description="Quantity.")]
        public virtual int Quantity { get; set; }

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

    public partial class ShipmentPackageResult
    {
        ///<summary>
        ///Shipment method.
        ///</summary>
        [ApiMember(Description="Shipment method.")]
        public virtual string? ShipmentMethod { get; set; }

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

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

    public partial class ShipmentResult
    {
        ///<summary>
        ///ID of the shipment.
        ///</summary>
        [ApiMember(Description="ID of the shipment.")]
        public virtual int ShipmentId { get; set; }

        ///<summary>
        ///Determines of the shipment has been dispatched.
        ///</summary>
        [ApiMember(Description="Determines of the shipment has been dispatched.")]
        public virtual bool HasBeenDispatched { get; set; }

        ///<summary>
        ///Date/time of dispatch.
        ///</summary>
        [ApiMember(Description="Date/time of dispatch.")]
        public virtual DateTime? DispatchDate { get; set; }

        ///<summary>
        ///List of articles in shipment.
        ///</summary>
        [ApiMember(Description="List of articles in shipment.")]
        public virtual List<ShipmentArticleResult>? Articles { get; set; }

        ///<summary>
        ///List of packages for shipment.
        ///</summary>
        [ApiMember(Description="List of packages for shipment.")]
        public virtual List<ShipmentPackageResult>? Packages { get; set; }
    }

}

C# GetOrderTracking DTOs

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

HTTP + XML

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

GET /dealers/order/tracking HTTP/1.1 
Host: services.acct.2service.nl 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<OrderTrackingResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/_2Service.Webservices.ServiceModel.Dealers">
  <ErrorMessage xmlns="http://schemas.datacontract.org/2004/07/_2Service.Webservices.ServiceModel">String</ErrorMessage>
  <IsSuccessful xmlns="http://schemas.datacontract.org/2004/07/_2Service.Webservices.ServiceModel">false</IsSuccessful>
  <Result xmlns:d2p1="http://schemas.datacontract.org/2004/07/_2Service.Webservices.ServiceModel.Dealers" xmlns="http://schemas.datacontract.org/2004/07/_2Service.Webservices.ServiceModel">
    <d2p1:OrderDate>0001-01-01T00:00:00</d2p1:OrderDate>
    <d2p1:OrderNumber>String</d2p1:OrderNumber>
    <d2p1:Shipments>
      <d2p1:ShipmentResult>
        <d2p1:Articles>
          <d2p1:ShipmentArticleResult>
            <d2p1:ArticleNumber>String</d2p1:ArticleNumber>
            <d2p1:CustomReference>String</d2p1:CustomReference>
            <d2p1:OrderNumber>String</d2p1:OrderNumber>
            <d2p1:Quantity>0</d2p1:Quantity>
          </d2p1:ShipmentArticleResult>
        </d2p1:Articles>
        <d2p1:DispatchDate>0001-01-01T00:00:00</d2p1:DispatchDate>
        <d2p1:HasBeenDispatched>false</d2p1:HasBeenDispatched>
        <d2p1:Packages>
          <d2p1:ShipmentPackageResult>
            <d2p1:ShipmentMethod>String</d2p1:ShipmentMethod>
            <d2p1:TrackingNumber>String</d2p1:TrackingNumber>
            <d2p1:TrackingUrl>String</d2p1:TrackingUrl>
          </d2p1:ShipmentPackageResult>
        </d2p1:Packages>
        <d2p1:ShipmentId>0</d2p1:ShipmentId>
      </d2p1:ShipmentResult>
    </d2p1:Shipments>
    <d2p1:Status>Open</d2p1:Status>
  </Result>
</OrderTrackingResponse>