ShippingProAPICollection 1.1.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package ShippingProAPICollection --version 1.1.1                
NuGet\Install-Package ShippingProAPICollection -Version 1.1.1                
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="ShippingProAPICollection" Version="1.1.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ShippingProAPICollection --version 1.1.1                
#r "nuget: ShippingProAPICollection, 1.1.1"                
#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 ShippingProAPICollection as a Cake Addin
#addin nuget:?package=ShippingProAPICollection&version=1.1.1

// Install ShippingProAPICollection as a Cake Tool
#tool nuget:?package=ShippingProAPICollection&version=1.1.1                

Build&Test NuGet

Shipping Pro API Collection

Welcome to our C# library, designed to integrate multiple shipping service APIs into one streamlined solution. This project provides a unified interface for GLS GLS, DHL, and DPD, simplifying the shipping process for developers and businesses. With easy integration, you can handle logistics across different carriers seamlessly. Ideal for enhancing efficiency in e-commerce and logistics operations.

Provider

Get Started

Before requesting shipping labels, you must first set up your specific shipping provider settings. This is achieved by injecting these settings as a singleton through dependency injection.

To finalize the setup, register the ShippingProAPICollectionService as a scoped service in your application.

services.AddScoped<ShippingProAPICollectionService>();
ShippingProAPICollectionSettings providerSettings = new ShippingProAPICollectionSettings()
GLS GLS
GLSSettings GLSSettings = new GLSSettings()
{   
	 // PLEASE GET IN TOUCH WITH YOUR GLS CONTACT TO GET THE FOLLOWING INFORMATIONS
 
	 // Api domain is the XXXXXXX part of your GLS-GLS api url => https://GLS-wbm-XXXXXXX.gls-group.eu:443/backend/rs
	 ApiDomain = "test01",         
	 ContactID = "276a45fkqM",       
	 Username = "276a45fkqM"
	 Password = "lXZBIF7uRccyK7Ohr64d",       
};
providerSettings.AddSettings(GLSSettings);
DHL Parcel DE Shipping
DHLSettings dhlSettings = new DHLSettings()
{
	 // Api domain is the XXXXXXX part of your DHL api url => https://api-XXXXXXX.dhl.com/parcel/de/shipping/v2/
	 ApiDomain = "sandbox",
	 Password = "pass",
	 Username = "sandy_sandbox",
	 DHLShipmentProfile = "STANDARD_GRUPPENPROFIL",
	 InternationalAccountNumber = "33333333335301",
	 NationalAccountNumber = "33333333330102",
	 LabelPrintFormat = "910-300-410",
	 // Create your DHL APP here -> https://developer.dhl.com/user/apps
	 APIKey = "",
	 APILanguage = "de-DE" // en-US or de-DE
};
providerSettings.AddSettings(dhlSettings);
DPD
DPDSettings dpdSettings = new DPDSettings()
{
	 // Api domain is the XXXXXXX part of your DPD api url => https://public-XXXXXXX.dpd.com/services/ShipmentService/V4_4/
     ApiDomain = "ws-stage",
     APILanguage = "de_DE", // en_EN or de_DE
     DepotNumber = "0191",
     Username = "sandboxdpd",
     Password = "xMmshh1"
};
providerSettings.AddSettings(dpdSettings);

Add multiple contract accounts

At times, you may need to utilize multiple contract accounts from the same provider. You can add multiple contracts by specifying a contract ID like this:

// Setup first contract
DPDSettings dpdContract1Settings = new DPDSettings()
{
	 // Api domain is the XXXXXXX part of your DPD api url => https://public-XXXXXXX.dpd.com/services/ShipmentService/V4_4/
     ApiDomain = "ws-stage",
     APILanguage = "de_DE", // en_EN or de_DE
     DepotNumber = "0191",
     Username = "sandboxdpd",
     Password = "xMmshh1"
};

providerSettings.AddSettings("DPD1", dpdContract1Settings);

// Setup second contract
DPDSettings dpdContract3Settings = new DPDSettings()
{
	 // Api domain is the XXXXXXX part of your DPD api url => https://public-XXXXXXX.dpd.com/services/ShipmentService/V4_4/
 	 ApiDomain = "ws-stage",
 	 APILanguage = "de_DE", // en_EN or de_DE
 	 DepotNumber = "0191",
 	 Username = "sandboxdpd",
 	 Password = "xMmshh1"
};
providerSettings.AddSettings("DPD2", dpdSettings);

Docker

Environment variables

Address

Name Type Required Example
ADDRESS_CITY String * Ellwangen
ADDRESS_CONTACT_NAME String * Kevin Mustermann
ADDRESS_COUNTRY_CODE_ISOA2 String * DE
ADDRESS_EMAIL String * kevin.mustermann@gmail.com
ADDRESS_NAME String * Max GmbH
ADDRESS_POSTCODE String * 73479
ADDRESS_STREET String * Max-Stra�e 15
ADDRESS_PHONE String * 0152012345678

DPD

Name Type Required Example
DPD_API_DOMAIN String * ws-stage or ws
DPD_API_LANGUAGE String * de_DE or en_EN
DPD_DEPOT_NUMBER String * 0191
DPD_PASSWORD String * xMmshh1
DPD_USERNAME String * sandboxdpd

DHL

Name Type Required Example
DHL_API_DOMAIN String * sandbox or eu
DHL_USERNAME String * sandy_sandbox
DPD_PASSWORD String * pass
DHL_INTERNATIONAL_ACCOUNT_NUMBER String * 33333333335301
DHL_NATIONAL_ACCOUNT_NUMBER String * 33333333330102
DHL_LABEL_FORMAT String * 910-300-410
DHL_API_KEY String * sandboxdpd
DHL_API_LANGUAGE String * de-DE

GLS

Name Type Required Example
GLS_API_DOMAIN String * test01 or de03
GLS_CONTRACT_ID String * 276a5fkqM
GLS_PASSWORD String * lXZBIF7uccyK7Ohr64d
GLS_USERNAME String * 276a5fkqM
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  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 was computed.  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 was computed.  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. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.1.10 85 11/4/2024
1.1.8 136 8/23/2024
1.1.7 125 8/23/2024
1.1.6 119 7/4/2024
1.1.5 115 4/22/2024
1.1.3 107 4/22/2024
1.1.1 109 4/19/2024
1.1.0 113 4/19/2024
1.0.48 112 4/19/2024