XyloCode.ThirdPartyServices.DelLin 1.3.0

Prefix Reserved
dotnet add package XyloCode.ThirdPartyServices.DelLin --version 1.3.0                
NuGet\Install-Package XyloCode.ThirdPartyServices.DelLin -Version 1.3.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="XyloCode.ThirdPartyServices.DelLin" Version="1.3.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add XyloCode.ThirdPartyServices.DelLin --version 1.3.0                
#r "nuget: XyloCode.ThirdPartyServices.DelLin, 1.3.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install XyloCode.ThirdPartyServices.DelLin as a Cake Addin
#addin nuget:?package=XyloCode.ThirdPartyServices.DelLin&version=1.3.0

// Install XyloCode.ThirdPartyServices.DelLin as a Cake Tool
#tool nuget:?package=XyloCode.ThirdPartyServices.DelLin&version=1.3.0                

Delovye Linii API client library

An unofficial .NET client library for accessing the Delovye Linii API.

Supported Platforms
  • .NET 6.0 LTS;
  • .NET 7.0.

"Delovye Linii"

Delovye Linii Group Company, founded in 2001, reaches more than 90% of the locations in Russia, with its delivery services extended to Belarus, Kazakhstan, Kyrgyzstan, Armenia, China, East Asia and Europe. The company is ranked first in the reliability rating of consolidated cargo carriers ('Public Consumer Initiative', 2023) and first in terms of warehouse space in Russia's regions (as reported by Knight Frank, 2021). The company's headquarters is located in St. Petersburg.

Official website: https://www.dellin.ru/.

Supported Methods

  • Authorization
    • User authorization
      • Authorization
      • Closing the current session
      • Data on the current session
    • Available counterparties
  • Calculation
    • Shipping Cost and Time Calculator
    • Estimated Shipping Cost and Time
  • Placing an order
    • Placing LTL orders
  • Order Information
    • Orders list
    • Order status history
  • Terminals
    • Terminals directory
  • Locations
    • Geographical directories
      • Directory of Countries
      • Directory of Cities
      • Directory of Cities with payment restrictions
      • Directory of Streets
  • Auxiliary
    • Directories
      • Directory of additional services
      • Nature of cargo
      • Documents for receipt of cargo
      • Directory of parameters for statistics report
      • Directory of vehicle loading types
      • Directory of special transport requirements
      • Directory of packages
      • Directory of order statuses
      • Event types
  • Marking
    • Cargo places labeling
      • Passing the packages code numbers
      • Getting the labels for packages
    • Handling labels
      • Handling labels directory
      • Getting the handling labels
    • Packaging labels
      • Packaging labels directory
      • Getting the packaging labels

How to use

using XyloCode.ThirdPartyServices.DelLin;
using XyloCode.ThirdPartyServices.DelLin.Enums;
using XyloCode.ThirdPartyServices.DelLin.Helpers;
using XyloCode.ThirdPartyServices.DelLin.Calc1.Req;
using XyloCode.ThirdPartyServices.DelLin.Models;

namespace DelLinTest
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // 	The application key. To get the key, register on https://dev.dellin.ru/
            const string appkey = "00000000-0000-0000-0000-000000000000";


            var tracer = new LoggingHandler(); // // for tracing, needed only for debugging
            var api = new DellinClient(appkey, httpMessageHandler: tracer);
            api.Login("+79XXXXXXXXX", "my_password");

            // Order status history
            var tracker = api.GetOrderStatuses("12345678");


            // Calculation
            var calculationRequest = new CalculationRequest
            {
                Delivery = new Delivery
                {
                    DeliveryType = new DeliveryType { Type = DeliveryTypeCode.Avia },
                    Derival = new DerivalArrival
                    {
                        ProduceDate = DateOnly.FromDateTime(DateTime.Today.AddDays(3)),
                        Variant = ArrivalEndpoint.Address,
                        Address = new Address("Город Москва, ул Вавилова, д. 19"),
                        Time = new Time
                        {
                            WorktimeStart = new TimeOnly(10, 0),
                            WorktimeEnd = new TimeOnly(16, 0),
                            ExactTime = false,
                        }
                    },
                    Arrival = new DerivalArrival
                    {
                        Variant = ArrivalEndpoint.Address,
                        Address = new Address("630099, Новосибирская область, г Новосибирск, пр-кт Димитрова, зд. 2"),
                        Time = new Time
                        {
                            WorktimeStart = new TimeOnly(9, 0),
                            WorktimeEnd = new TimeOnly(17, 0),
                            ExactTime = false,
                        }
                    },
                },
                Cargo = new Cargo
                {
                    Quantity = 1,
                    Weight = 1.5f,
                    Length = 0.2f,
                    Height = 0.1f,
                    Width = 0.1f,
                    TotalVolume = 0.01f,
                    TotalWeight = 1.5f,
                    Insurance = new Insurance { StatedValue = 70_000, Term = true, }
                },

                Payment = new Payment
                {
                    PaymentCitySearch = new Search("Новосибирск"),
                    Type = PaymentType.NonCash,
                },


                Members = new Members
                {
                    Requester = new Requester
                    {
                        Uid = "30A23C53-6080-4FD8-9681-A42EEA4B5209",
                        Role = RoleType.Third,
                    }
                }

            };
            var calculationResult = api.Calculation(calculationRequest);
            api.Logout();
        }
    }
}

Known Issues

70% of Russian addresses indicated in accordance with the Federal Address Information System are rejected by the Delovye Linii API information system. This becomes a serious obstacle to further automation, this applies to such functionality as Shipping Cost & Time Calculator and Placing LTL orders. Make official requests directly to your manager at the Delovye Linii group of companies, by email or through the request management system.

License

MIT License

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.
  • net7.0

    • No dependencies.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.3.0 177 11/16/2023
1.2.0 120 11/13/2023
1.1.0 136 11/9/2023
1.0.1 157 10/17/2023
1.0.0 141 10/10/2023

NET 8.0 support.