.netSHIP Rates & Tracking

Navigation: »No topics above this level«

.netSHIP Rates & Tracking

 Return to chapter overview

Please feel free to navigate this help document for information on installation, developer documentation, reference, samples, support and licensing.


Overview

Overview of .netSHIP

Navigation: .netSHIP Rates & Tracking >

Overview of .netSHIP

 Return to chapter overview

.netSHIP offers real-time rate calculation and package tracking with United States Postal Service (USPS), Federal Express (FedEx), DHL WorldWide Express (DHL), Airborne, Canada Post, RoadWay Freight, FedEx Freight or any combination of the above - even at the same time! UPS is also supported but may not be returned or displayed with any other shipping rates as per the UPS terms of usage for rating / tracking.

Product Features:

· Real-time rate calculation with United States Postal Service (USPS), Federal Express (FedEx), DHL WorldWide Express (DHL), Canada Post, and Airborne Express (Airborne) or any combination of the above - even at the same time! NEW: Freight rating support with Roadway and FedEx.

· Real-time rating and tracking with UPS

· Real-time tracking with United States Postal Service (USPS), Federal Express (FedEx), DHL WorldWide Express (DHL), Canada Post, and Airborne Express (Airborne) provides detailed tracking information for the package throughout the shipping process.

· Sort rates by price or service within each shipping processor or overall

· Adjust rates with your own handling charge by fixed amount or percentage

· Automatic combo box or radio button generation of available shipping rates from selected processors

· Powerful and intuitive ASP.NET server controls for rates, tracking, and country listings.

· Automatic generation of tracking results including location, status and date/time.

· In addition to automatic creation of combobox or radio button output of shipping rates, you also have complete access to the rates collection. This allows you to format output in any way you wish quickly and easily by looping through the available shipping rates, services, and time commitments.

· In addition to automatic return and formatting of the tracking details in a table a tracking collection is provided which allows for the tracking information to be formatted in any way you please and for only the details you wish to be displayed.

· Ability to limit services returned to any combination of specific service types across multiple shipping companies. For example, Show only Ground and USPS express.

· .netSHIP directly interfaces with shipping companies from your web site which means that prices are always up to date. You never need to update shipping rates and do not need to pay any monthly charges for this service.

· Built in error handling automatically places human readable messages into an error variable which you can evaluate or just pass back to users to view.

· Automatic country list selection generator creates a drop down selection box with all available destination countries and formats the values to our own unique common country code system

· The Common country code system allows you to use a common set of country codes across different shipping processors. .netSHIP automatically maps shipping processors unique country syntax and spelling requests to this common system

· A completely new, powerful and extensible, algorithm based custom shipping system supporting country, state/province, weight, quantity and cost. Easily create shipping rules, free shipping for specific scenarios, accurate backup definitions and more!

· New ratebackup and ratefailover functionality tied into the new custom shipping system allows for multiple, accurate backup service definitions.

· New support for using the .netSHIP component in conjunction with its web controls

· Revised documentation and new samples including code behind, separate forms, server side forms single page samples and more.

· Updated country mappings for all shipping companies

· FailStatus provides the ability to force backup/failover cases for testing and development as well as a facility for monitoring if a backup or failover occurred programmatically. The FailCount property gives total number of times a failover or backup has occurred so further action can be taken if required.

· New CurrencyFormat property allows control over currency symbol and rendering for any rate display.

· Supports numerous international shipping origins, and nearly all destinations throughout the world.

Learn more about .netSHIP and play with a live demo at our web site. See more new features here!


What's New

Navigation: .netSHIP Rates & Tracking >

What's New

 Return to chapter overview

Used actively in 2001 with prerelease versions of .NET, .netSHIP usage has grown with the official release of .NET in 2002 and continues to power more and more ASP.NET ecommerce sites throughout the world. Based on customer feedback and developer suggestions we have continued to enhance .netSHIP and are pleased to announce the official 6.2 release last updated August 2021:

New in version 6.2 released August 4,2022:

· .NET 6 support download from NuGet

New in version 6.1 released May 20,2021:

· .NET 5 support download from NuGet
· Each bundle includes both .NET 5 and .NET Framework versions
· USPS: populate First Class shipping rate

New in version 6.0 released June 23,2020:

· FedEx: Populate best rate if multiple rates return for same service
· UPS: Adding priority rates
· Country List: Updated to the current countries

New in version 5.5 released February 20, 2018:

· UPS: Updated URLs for Rate and Tracking
· USPS: Updated Track API to V2 and international rate in Azure
· TLS 1.2 support. Now is required by UPS
· Enhanced FailedOver and backupRate features

New in version 5.4 released July 14th, 2015:

· New Description and TariffNumber properties for EasyPost support

New in version 5.3 released June 22nd, 2015:

· New USPS International Api version 2 support

New in version 5.2 released May 29th, 2015:

· EasyPost support for getting rates / Tracking / labels for all carriers
· Template support for DisplayRate control

New in version 5.1 update released April 4th, 2014:

· LimitRates and ExlcudeRates now have wildcard support
· Updated samples

New in version 5.0 update released December 6, 2013:

· UPS supported with rating and tracking.
· USPS return handling updated

New in version 4.3 update released July 22, 2013:

· New URL for tracking and rating from DHL

New in version 4.2 Update released January 18, 2013:

· FedEx: Enhanced tracking to show all the records including comment and county.

New in version 4.2 Update released Augest 17, 2012:

· FedEx Home delivery and smart Post support.
· FedEx rate type setting support.

New in .netSHIP 4.2

· New USPS Api version 4 support
· Removed legacy FedEx Support, now only new Web Services API is supported

New in .netSHIP 4.1

· New USPS API support
· New USPS Package type settings

New in .netSHIP 4.0:

· New FedEx XML API support
· International FedEx Support
· FedEx Freight Support

New in .netSHIP 3.2:

· Enhanced DHL XML API support (international support)
· Roadway Freight rating supported
· Updated country list

NEW in .netSHIP 3.1:

· DHL XML API support (account specific rating)

NEW in .netSHIP 3.0:

· FedEx XML API support (account specific rating)
· Updated country list

NEW in .netSHIP Version 2.6:

· Updated FedEx format handling
· Updated DHL support (multiple return with 1 request)
· Updated country list

NEW in .netSHIP Version 2.5:

· freight rating support added (for very heavy/large items)
· New server version enables use for more than one web site / shipping origin for a single physical server. Requires installation in the GAC (not suitable for shared server environments)

NEW in .netSHIP Version 2.1:

· ExcludeRates property in addition to LimitRates property added
· Ability to limit realtime returns to specific country / state / province
· Message property exposed to provide error messages from the companies which are suitable for presenting to end users. For example messages that the zip code input was invalid. The Error property has not been modified and will contain errors of any type.
· LimitRates and ExcludeRates now use exact matches on rate names
· CodeToCountry and CountryToCode methods using CountryList XML

NEW in .netSHIP Version 2.0:

· A completely new, powerful and extensible, custom shipping system
· New rateback and ratefailover functionality tied into the new custom system
· Support for Airborne Express Rating and Tracking
· Support for Canada Post Rating and Tracking
· Now supports 6 major shipping companies for both rating and tracking!
· New support for using the .netSHIP component in conjunction with its web controls
· Revised documentation and new samples including code behind, seperate forms, server side forms single page samples and more.
· Updated country mappings for all shipping companies
· FailStatus provides the ability to force backup/failover cases for testing and development as well as a facility for monitoring if a backup or failover occured programmatically. FailCount property exposed gives total number of times a failover or backup has occured
· New CurrencyFormat property allows control over currency symbol and rendering in rate display

New InsuredValue Property causes package rating to include insured value cost


Installation

Navigation: »No topics above this level«

Installation

 Return to chapter overview

System Requirements provides information on the minimum requirements for running .netSHIP.

Instructions provides information on how to install .netSHIP


System Requirements

Navigation: Installation >

System Requirements

 Return to chapter overview

.netSHIP is designed to be used in a web server environment.

Supported Operating Systems:

· Windows XP / Vista / 7 / 10
· Windows Server 2003 / 2008 / 2012 / 2016 / 2019

Additional Requirements:

· ASP.NET and .NET Framework
· .NET 5 or .NET 6
· Free registration for return from certain shipping companies.
· You must be shipping/tracking from a supported origin country.

.netSHIP is supported on ASP.NET 2.0 and later including ASP.NET 3.0, 3.5 and 4.0 plus .NET 5 and .NET 6.

System Requirements .NET 6: .netSHIP .NET 6 can be run on Windows, Linux and macOS by installing the appropriate runtime from https://dotnet.microsoft.com/download/dotnet/6.0

For development, Visual Studio users require Visual Studio 2022 or later to use .NET 6.0 on Windows and the latest version of Visual Studio for Mac on macOS. The C# extension for Visual Studio Code already supports .NET 6.0 and C# 10.

Visual Studio 2022: Open dotnetSHIPsamples.cspro in VS 2022, and run the samples using IIS Express

Visual Studio Code: .NET Sample bundle can be run with Visual Studio Code using the following steps:

Open a new terminal through Terminal menu

Navigate to the directory of dotnetCHARGEsamplesNET5.csproj

Build the project by entering this command: dotnet build -dotnetSHIPsamples.csproj

Run the project by entering this command: dotnet run -dotnetSHIPsamples.csproj

Open a browser to run http://localhost:5052

NuGet Package for .netSHIP .NET 6: You can download from https://www.nuget.org/packages/dotnetSHIP.NET6 and working with different shipping companies with Razor C# or Razor VB syntax, for use in both MVC views as well as in Razor Pages.


Instructions

Navigation: Installation >

Instructions

 Return to chapter overview

.netSHIP can be deployed quickly and easily without any special installation or registration requirements. It will work with a dedicated server, shared server, hosted server etc. so long as the server supports ASP.NET - as soon as you copy your files to your web server you can start using .netSHIP!

Procedure:

· Unzip distribution
· Copy / FTP web files to a directory of your choice within your web servers root directory
· Ensure that dotnetship.dll and your purchase key are located in the /bin directory and that the /bin directory is in the root (top level) of your web site or, if not, that you have created an application for the subdirectory which contains your /bin directory. Ensure that the NTFS file level permissions are not restricted on the license key file.
· You may now use the .netSHIP samples

Using a Virtual Directory:

· Unzip distribution
· Place files in any directory you wish
· Using the IIS administration (MMC), create a virtual directory under your web site pointing to the /web directory that contains the .netSHIP samples. Click here for more information on virtual directory creation.
· Ensure that your purchase key is located in the /bin directory along with dotnetship.dll. Ensure that the NTFS file level permissions are not restricted on the license key file.
· You may now use .netSHIP samples


Registration

Navigation: Installation >

Registration

 Return to chapter overview

In order to return rates from USPS, Canada Post, FedEx, DHL/Airborne you must complete a free registration with these shipping companies and integrate with them in your own code by setting the shipper specific login properties in your script.

USPS Registration Address: https://secure.shippingapis.com/registration/

Information Provided by USPS: Username, Password (if only Username is provided use this value for both Username and Password)

Additional Requirements: After registration you will still not be able to return rates, you must contact USPS to request your account be enabled for the production server.

Services Used: XML domestic rating, XML international rating, and XML tracking.

CanadaPost Registration: Email eparcel@canadapost.ca to request a merchant ID for the XML system.

Information Provided by Canada Post: Merchant ID

Services Used: Native XML

FedEx: You must have a FedEx account number to obtain rates from FedEx. Visit fedex.com/developer and Login using an existing account or create a new account. This would typically be the same as your fedex shipping account. Go to the website's Technical Resources area and obtain a production key by filling out an application. The site should provide you with an authentication key after applying. You will then recieve an email with a production security code and meter number. Use this value with your account number in the following format: accountnumber,meter for the login setting. Since you are using rating / tracking you do not need to complete certification with FedEx.

Services Used: FedEx Web Services.

DHL, Airborne: You must have a DHL account (customer number) to obtain rates / tracking. Register your DHL account for the ShipIT XML API and obtain your username, password, and shipping key(s) by completing the following form and returning it to DHL. If you are shipping to international locations you will require both domestic and international shipping keys. Note: Airborne has been purchased by DHL and its services rolled into DHL.

Services Used: XML Rating and Tracking (ShipIT / TrackIT) Domestic and International.

Roadway: While you require an account to ship with roadway, no login is required as the public rating interface is used.

UPS: For login and program details please see https://www.ups.com/upsdeveloperkit


.NET 6

Navigation: Installation >

.NET 6

 Return to chapter overview

System Requirements: .netSHIP .NET 6 can be run on Windows, Linux and macOS by installing the appropriate runtime from https://dotnet.microsoft.com/download/dotnet/6.0

For development, Visual Studio users require Visual Studio 2022 or later to use .NET 6.0 on Windows and the latest version of Visual Studio for Mac on macOS. The C# extension for Visual Studio Code already supports .NET 6.0 and C# 10.

Visual Studio 2022: Open dotnetSHIPsamples.cspro in VS 2022, and run the samples using IIS Express

Visual Studio Code: .NET Sample bundle can be run with Visual Studio Code using the following steps:

Open a new terminal through Terminal menu

Navigate to the directory of dotnetCHARGEsamplesNET5.csproj

Build the project by entering this command: dotnet build -dotnetSHIPsamples.csproj

Run the project by entering this command: dotnet run -dotnetSHIPsamples.csproj

Open a browser to run http://localhost:5052

NuGet Package for .netSHIP .NET 6: You can download from https://www.nuget.org/packages/dotnetSHIP.NET6 and working with different shipping companies with Razor C# or Razor VB syntax, for use in both MVC views as well as in Razor Pages.


Developer Documentation

Navigation: »No topics above this level«

Developer Documentation

 Return to chapter overview

This topic includes a complete reference of the methods and properties included with .netSHIP as well as some examples.


Reference

Navigation: Developer Documentation >

Reference

 Return to chapter overview

Detailed guide to .netSHIP methods, properties, collections, custom rates, controls, samples, supported countries and processor restrictions.


Methods

Navigation: Developer Documentation > Reference >

Methods

 Return to chapter overview

.netSHIP is both a component and a collection of ASP.NET controls. The functionality of the methods listed below is also exposed through the .netSHIP controls which offer enhanced flexibility for return formatting. For complete control the collections are directly accessible.

Rate(companies): Accepts one parameter as a comma delimited list of shipping companies. Optional values include FedEx, USPS, AIRBORNE, DHL, CanadaPost. All applicable rates will be calculated and added to the rates collection for each company included in the rate method call. Note, UPS rates may not be returned with other shippers.

Example usage:

objShip.Rate("UPS"); //returns UPS rates

objShip.Rate("FEDEX,USPS,UPS");//returns only UPS rates

objShip.Rate("FEDEX,USPS"); //returns FedEx and USPS rates

NEW: If using EasyPost for getting rates, “EasyPost” can be passed as the company parameter to get the rates for all the carriers configured in your EasyPost account, or a comma delimited list of one or more carrier IDs (ca_3kldd33d) or carrier names. If passing carriers name, .netSHIP will get all the rates from EasyPost and filter it internally but if passing carrier ID, it gets only those carriers from EasyPost.

Example usage: (EasyPostLogin must be set)

objShip.Rate(""); //returns all rates for carries configured in EasyPost

objShip.Rate("USPS,UPS"); //returns only USPS and UPS through EasyPost

objShip.Rate("ca_Pbnku4dG"); //returns UPS rates through EasyPost

EasyPost Label Methods:

GetLabel(tracking# or shipmentID, rateID, format): Accepts 3 parameters, a shipment Id which starts with ‘shp_’ or tracking code and rate ID which starts with ‘rate_’ and the format which can be one of the following options: “PNG”, "PDF", "ZPL", "EPL2”. After calling this method, the label information is populated in the objShip.Label object.

GetLabel(tracking# or shipmentID, format): Accepts 2 parameters, a shipment Id which starts with ‘shp_’ or tracking code and format which can be one of the following options: “PNG”, "PDF", "ZPL", "EPL2”. After calling this method, the label information is populated in the objShip.Label object. If the label hasn’t been created yet, GetLabel with the rateID parameter should be called.

RefundLabel (tracking# or shipmentID): accepts a shipment Id which starts with ‘shp_’ or tracking code and returns refund status.

Track(company,TrackID): Accepts one parameter as single shipping company. Optional values include FedEx, USPS, AIRBORNE, DHL, and CanadaPost. The second parameter is the tracking number. This method populates the tracking collection.

obj.Track("USPS","5465164258")

DisplayRates(type,name,template): Accepts 3 paramters, the first a type of Combo or Radio controls the type of HTML element that will be rendered and the second controls the name of the HTML combobox / radio collection and finally the 3rd controls the format with some tokens:

obj.DisplayRates("Combo","Rates","%company% %name% %charge% (%shiptime%)")

DisplayTracking(): Displays a simple table with the tracking collections location, date and status.

obj.DisplayTracking()

CountryList(Name,Country,XMLfile): Generates a list of countries in a combobox with the name set by the first parameter and the default country by the second. Both are optional with the default name of comboName and country of US. The third parameter is also optional and specifies the XML file to obtain country details. When not set the full internal country list is used.

obj.CountryList("Country","CA")

CountryToCode(country,XMLfile): Returns the 2 letter country code from a provided full country name. Optionally if an XML file is provided this country XML file is used for the source data. This accepts the file name or virtual path and file name to the country override xml file. e.g. "country.xml" or "/yourdir/country.xml"

obj.CountryToCode("Canada")

CodeToCountry(code,XMLfile): Returns the full text for a country from the provided 2 letter country code. Optionally if an XML path is provided this country XML file is used for the source data. This accepts the file name or virtual path and file name to the country override xml file. e.g. "country.xml" or "/yourdir/country.xml"

obj.CodeToCountry("CA")


Properties

Navigation: Developer Documentation > Reference >

Properties

 Return to chapter overview

Address Specific Properties:

OrigZipPostal: Origin Zip / Postal Code (shipped from).

OrigCountry: Origin Country (shipped from). This must be a 2 letter country code. Also see: supported countries.

OrigStateProvince: Origin State / Province (shipped from). For US and Canada this should be a 2 letter code.

OrigCity: Origin city (shipped from). Required for Roadway.

OrigPhone: Origin phone (shipped from).

DestCity: Destination city (shipped to). Required for international DHL.

DestAddress: Destination address (shipped to). Required for international DHL.

DestZipPostal: Destination Zip / Postal Code (shipped to).

DestStateProvince: Destination State / Province (shipped to). For US and Canada this should be a 2 letter code.

DestCountry: Destination Country (shipped to). This must be a 2 letter country code. Often this would be set in conjunction with the CountryList control which renders a dropdown of country names with the value set to the associated 2 letter code. Also see: supported countries.

DestName: Destination name (shipped to)

DestPhone: Destination name (shipped to). Required for generating FedEx label by EasyPost

Package Specific Properties:

Weight: Total weight of the package (pounds). See weight restriction for company specific information.

Quantity: Total number of items in the package. Used only in custom rate handling and EasyPost international shipments.

Amount: Total $ value of the package. Used only in custom rate handling.

Length: Length of package in inches - if you wish to use dimensional weight handling.

Width: Width of package in inches - if you wish to use dimensional weight handling.

Height: Height of package in inches - if you wish to use dimensional weight handling.

InsuredValue: Accepts a dollar amount as insured value. This property will affect the rates returned as it will increase the rate amount to include the cost of insurance.

obj.InsuredValue = 450.00

DeclaredValue: Accepts a dollar amount as declared value for customs.

obj.DeclaredValue = 450.00

Shipper Specific Properties:

CanadaPostLogin: This property must be set if you wish to return Canada Post rates. You can get your free merchant ID by emailing eparcel@canadapost.ca your request.

obj.CanadaPostLogin = "merchant id"

DHLLogin: This property must be set if you wish to return rates / tracking information from DHL / Airborne. See Registration for requirements.

obj.DHLLogin = "username,password,customer number,domestic shipping key,international shipping key"

DHLTestMode: When certifying your usage you may need to process transactions in test mode. Set this property to true to connect to the test server.

obj.DHLTestMode = true

EasyPostShipmentID: It can be set to a unique key for future lookups. After calling Rate method, it is populated with the EasyPost unique id, begins with 'shp_'.

EasyPostLogin: This property must be set to EasyPost API key if you wish to return rates / tracking / labels information using EasyPost.

**NOTE** for EasyPost international rates, purchasing postage and generating labels, the following two properties are required:

Description: Description of item being shipped. Required for purchasing postage and creating labels for international shipments.

TariffNumber: 6 digit tariff number.

FedExLogin: Accepts your FedEx account number, meter number, production key and password comma delimited. Also see registration.

objShip.FedExLogin ="3333,11111,productionkey,password"

FedExURL: FedExURL: Enables you to override the URL used for FedEx Web Services. Default value is "https://ws.fedex.com:443/web-services" and " https://wsbeta.fedex.com:443/web-services" is used for the test server. FedEx may provide you with an alternate URL in which case you should use the value they provide with this property.

objShip.FedExURL =" https://wsbeta.fedex.com:443/web-services"

FedExPack: Packing Options for FedEx include: 1) "FedEx Express Envelope" or "FedEx Letter" , 2) "FedEx Express Pak" or "FedEx Pak" 3) "FedEx Express Box" or "FedEx Box" , 4) "FedEx Express Tube" or "FedEx Tube" 5) "My Packaging" or "Your Packaging". The default for this property is "My Packaging"

FedExPickup: Pickup options for FedEx include 1) "regularpickup, 2) "requestcourier", 3) "dropbox", 4) "businessservice center" 5) "station"

FedExGround: Determines if FedEx ground rates are returned along with FedEx rate calculations. Defaults to false. If you wish to return only FedEx ground then you can use FedExGround in place of FedEx the shipping company string used with the rate method / control property. This saves the overhead of calling and returning FedEx Express rates when they are not required.

obj.FedExGround = True

FedExRateType: Determines if FedEx rates returned are the LIST rates or your ACCOUNT specific rates. Defaults to LIST.

obj.FedExRateType = "ACCOUNT"

FedExHome Settings:

FedExHomeDeliveryPremiumType: DATE_CERTAIN, APPOINTMENT, EVENING

FedExHomeDeliveryDate: Specify a home delivery date as a date/time object e.g. New DateTime(2012, 7, 13)

FedExPhoneNumber: A home phone number hypen delimited as a string value such as 555-555-5555

FedExSmartpost Settings:

FedExSmartPostHubId: The HubId provides by FedEx when after enabling the Smart Post in your account. Required for Smart Post.

Label: Populated Label information: ID, URL and TrackingCode after calling CreateLabel method.

OrigCity: Origin city (shipped from). Required for Roadway.

OrigName: Origin name (shipped from). Required for generating labels with EasyPost.

Pack: Predefined package sizes for the carrier processed by EasyPost. It is used for carries other than UPS, USPS and FedEx, for UPS set UPSPack, for USPS set USPSPack and for FedEx set FedExPack property.

RoadWay: As a freight shipper, Roadway allows for rating for very large and heavy items. For most accurate rating an item class should be specified however if this is not provided an estimate will be provided using the unknown class. Class indicates the types of item being shipped and you can contact Roadway for a full list of supported classes.

obj.Roadway.Class = "50"

UPSLogin: Accepts your UPS account user name, password and access code. Before you request an Access Key you will need a UPS.com User ID and Password and a UPS account number. Click on the "Request an access key" link, located in the How to Get Started section.

objShip.UPSLogin = "userid,password,accesscode";

UPSCustomer: Customer classification container. Valid only if shipping from US. Possible options: "wholesale", "occasional", "retail"

UPSPack: Packing Options for UPS include: "shipper supplied packaging", "ups letter envelope", "ups letter", "your packaging", "package", "ups tube", "ups pak", "ups express box", "international ups 25kg box, "ups 25kg box", "international ups 10kg box", "ups 10kg box"

UPSPickup: Pickup options for UPS include: "daily pickup", "customer counter", "one time pickup", "on call air", "authorized shipping outlet", "suggested retail rates", "letter center", "air service center"

USPSLogin: This property must be set if you wish to return any USPS rates. You can get your free username and password from USPS by registering at http://www.shippingapis.com . After registration you must contact USPS to gain access to their production server before you will be able to return rates. If only username is provided by USPS, use this for both username and password.

obj.USPSLogin = "username,password"

USPSPack: Packing Options for USPS include: 1) "Letter" 2) "Flat" 3) "Parcel" 4) "Postcard" 5) "Package Service" The default for this property is "Parcel"

obj.USPSPack = "Flat"

USPSContainer: Use this property to specify special containers or container attributes that may affect postage; otherwise, leave it blank. Options include: FLAT RATE BOX, FLAT RATE ENVELOPE, PADDED FLAT RATE ENVELOPE, LEGAL FLAT RATE ENVELOPE, SM FLAT RATE ENVELOPE, WINDOW FLAT RATE ENVELOPE, GIFT CARD FLAT RATE ENVELOPE, FLAT RATE BOX, SM FLAT RATE BOX, MD FLAT RATE BOX, LG FLAT RATE BOX, REGIONALRATEBOXA, REGIONALRATEBOXB, REGIONALRATEBOXC, RECTANGULAR, NONRECTANGULAR.

objShip.USPSContainer = "MD FLAT RATE BOX"

Configuration Properties:

AdjustRate: Adjusts all returned rates by the specified rate (fixed amount or %).

obj.AdjustRate = "10%"

obj.AdjustRate = "1.25"

obj.AdjustRate = "-5%"

CurrencyFormat: This property accepts a local and will control how the rendered return amounts are displayed. The default is set for US currencies. For Canada you would set this property for the appropriate local. The currency will be formatted with the correct symbol, spacing delimiter etc. The default is "en-US"

obj.CurrencyFormat = "en-CA"

obj.CurrencyFormat = "en-GB"

Error: This property will contain any errors message if there was a problem with the rating / tracking. Read only. This property is intended to be viewed by the developer and includes all messages including any connection or timeout problems. Errors are comma delmited with the following format "Source: Error Text,Source2: Error Text2 ..."

ExcludeRates: Accepts a comma delimited list of rate names. Any rate names listed here will be excluded from the return if this property is set. The LimitRates property has the opposite functionality and can be used instead of this property to control the returned rates. The rate name from the rates collection is what needs to be specified. For a list of rate names run rate without setting this property and then set this property to any rate names returned (exactly as they return) that you wish to be excluded. By default this property is not set and all available rates are returned. This property also support wildcards, in the form *value*, *value, value* which return matches for a substring, values ending with the string and those starting with the provided string respectively.

obj.ExcludeRates="Express"

obj.ExcludeRates="*Priority*"

FailCount: This property maintains the total number of times that a failover or backup occured. If you wish to reset this property it can be set directly.

obj.FailCount = 0

FailStatus: This property serves two purposes - it will return a comma delimited list of processors which did a failover or backup in the previous transaction and can also be set for testing purposes to force a failover or backup. The property accepts the following format:

obj.FailStatus = "company=failover,company2=backup"

LimitRates: Accepts a comma delimited list of rate names. Only rate names listed here will be returned if this property is set. The rate name from the rates collection is what needs to be specified in this string. For a list of rate names run a rating without setting this property and then set this property to any rate names (exactly as rerturned) that you wish to be included. The rate names are not case sensitive for use with this property and can be set with or with the company name prefix. By default this property is not set and all available rates are returned. This property also support wildcards, in the form *value*, *value, value* which return matches for a substring, values ending with the string and those starting with the string provided.

obj.LimitRates="Express"

Message: This property will contain any message from the shipping company and are intended to be returned to the user. For example a message could indicate that a zip code is invalid. Messages are comma delimited if there is more than one message and return in the format of "ShipCompany: Message,ShipCompany2:Message2..."

RateBackup: If real-time rating fails for any reason (network outage etc) then the specified backup shipcompany services are applied as defined in custom rates.

obj.RateBackup = "dhl=myDHL,usps=CustomUSPS";

RateFailover: Rate failover defines which company will be called if a given ship company fails to return rates. This would commonly be used if you returned rates for only 1 processor but still wanted realtime rates if they did not return. You could set a failover for that 1 processor to an alternative one. Unlike backup, which ensures that rates are always returned as it accepts only algorithm based custom rates, Failover accepts either a custom rate or another real-time company name.

obj.RateFailOver = "usps=fedex,dhl=mycustom"

Residential: Set if the package is intended for a residential address (true / false)

obj.Residential = true

Sort: The default sort order is based on price and shipcompany (obj.sort="price,true") It gets two parameters 1) ("price" or "name" ) 2) "true" (base on shipcompany) or "false" (sort globaly). For example: obj.sort="name,false", will sort the collection based on service name and globally (without grouping by shipcompany)

obj.sort = "name,false"

Timeout: Time in seconds to wait for real-time rates to return. The default is 30 seconds.

Version: This property will return the version of .netSHIP that is actively being used.

response.write(obj.Version)


Collections

Navigation: Developer Documentation > Reference >

Collections

 Return to chapter overview

Rates: Contains a collection of rates returned from the rate method. Each rate contains Company, Name, Charge, and ShipTime.

VB.NET | C#
Dim rate as rate For each rate in Ship.Rates response.write(rate.Company) response.write(rate.Name) response.write(rate.Charge) response.write(rate.ShipTime) Next | foreach(Rate rate in ship.Rates) { Response.Write(rate.Company); Response.Write(rate.Name); Response.Write(rate.Charge); Response.Write(rate.ShipTime); }

Tracking: Contains a collection of tracking information returned from the track method. Each element contains Location, Date and Status.

VB.NET | C#
Dim track as Track For each track in Ship.Tracking response.write(track.Location) response.write(track.Date) response.write(track.Status) Next | foreach(Track track in ship.Tracking) { Response.Write(track.Location); Response.Write(track.Date); Response.Write(track.Status); }


Custom Rates

Navigation: Developer Documentation > Reference >

Custom Rates

 Return to chapter overview

.netSHIP supports an advanced custom shipping rating system for rateback and failover purposes as well as custom defined algorithm based shipping implementations. Common uses of this system include providing backup for a real-time processor, providing free shipping for certain cases, providing shipping or special messages for overweight packages that can't be rated through the realtime systems or simply to provide your own custom rating based on a variety of criteria.

Company: The name of the shipping company, this name is returned in the rates collection as Company. This value must be unique and typically would not be set to any of the predefined real-time company names. If you do use a predefined company name, it will check the custom settings, for a match on country / state / province before running the real-time rating. This new feature allows you to enable multiple realtime returns for specific locations only. For example if you ship USPS to Canada, DHL international, and FedEx within the US you can have only those processors return based on destination address.

Name: The name of the shipping type, this name is returned in the rates collection as Name. This value must be unique for a given company.

Formula: Rate calculation formula based on weight, quantity or pricing ranges. This formula is built in the following way "type range = base charge + per unit charge, type range2 = base charge2 + per unit charge2 etc." Where type is w for weight (also default if no type is set), q for quantity, and $ for amount. The amount, quantity and weight are obtained by the ship level properties of the same names. Range is a numeric range such as 1-10 and can also include open ended ranges such as 11- (11 and higher). Base charge is a fixed amount for the package and the per unit charge is the value the actual w,q,$ will be multiplied by to determine that part of the rating. For example "0-5=5.25+.50,5-10=2.00+.40,10-=0+.20" Here for 0 to 5 pounds the base charge is $5.25 and they are charged $0.50 per pound on top of the base charge. Between 5 and 10 pounds the base charge is only $2.00 and they get charged $0.40 per pound. By adding a Q or $ in front of the ranges the item quantity or dollar amount would be used for the ranges in place of the weight. NOTE: the w, q or $ prefixes should be included once only at the start of the string e.g. correct: "$0-5=5.25+.50,10-=0+.20" incorrect: "$0-5=5.25+.50,$10-=0+.20"

Country: A comma delimited list of Countryvalues, if DestCountry matches a value defined in this property then this custom shipping choice will be calculated and return in the rates collection. If you wish to include all countries except those listed with this property enclose the values in brackets. Note: Country and StateProvince can be used together and a rate will only return if it matches the criteria defined in both options.

StateProvince: A comma delimited list of StateProvince values, if DestStateProvince matches a value defined in this property then this custom shipping choice will be calculated and return in the rates collection. If you wish to include all StateProvince values except those listed here, enclose the values in brackets. Note: Country and StateProvince can be used together and a rate will only return if it matches the criteria defined in both options.

Minimum: A minimum amount that the custom rate will return, if the amount is less than the minimum, the value set will be returned instead.

AdjustRate: Sets the adjustrate for the custom shipping rate. This property accepts a percentage (12%) or fixed amount (2.22) as well as negative values of both (-12% or -2.22).

ShipTime: A time commitment or comment string set for the custom shipping rate. This string is returned in the rates collection if this custom rate is added.

Add: Method of the customs collection, adds the currently defined custom shipping type to the customs collection.

Once a custom shipping company is defined it can be used in ratebackup, ratefailover, or even rate.

Common Custom Shipping Scenerios:

Define Shipping Company to be used as Backup for a realtime processor:

Ship.Custom.Company="MyCompany";

Ship.Custom.Name="CustomShip";

Ship.Custom.Formula="1-10=4+0.4,11-20=2,21-=20";

Ship.Custom.Country="CA,US";

Ship.Custom.StateProvince="BC,MA,CA";

Ship.Custom.Minimum=6;

Ship.Custom.AdjustRate="50%";

Ship.Customs.Add();

Define a Shipping Company to be used in the case of an overweight package that is too heavy to be real-time rated:

Ship.Custom.Company="Over Weight";

Ship.Custom.Name="You will be contacted with exact shipping rates before your order is processed.";

Ship.Custom.Formula="100-=0";

Ship.Customs.Add();

Define a Shipping Company to offer free shipping to your visitors under certain criteria, in this case a purchase of over $100 (you could also easily limit this to a Country or StateProvince by setting that property:

Ship.Custom.Company="FedEx Promotion";

Ship.Custom.Name="Free Shipping!";

Ship.Custom.Formula="$100-=0";

Ship.Customs.Add();

Define a Shipping Company for your own custom flat rate shipping within a specific country, in this case $5 flat rate shipping for anyone in the US:

Ship.Custom.Company="USPS Bundle";

Ship.Custom.Name="Flat Rate";

Ship.Custom.Formula="0-=5";

Ship.Custom.Country="US";

Ship.Customs.Add();

Define Multiple services within a new custom ship company that handles National / Canada / International Seperately or any geographic location for that matter:

Ship.Custom.Company="CustCO";

Ship.Custom.Name="National";

Ship.Custom.Formula="1-10=4+0.4,11-20=2,21-=20";

Ship.Custom.Country="US";

Ship.Customs.Add();

Ship.Custom.Company="CustCO";

Ship.Custom.Name="Canada";

Ship.Custom.Formula="1-10=5+0.5,11-20=3,21-=25";

Ship.Custom.Country="CA";

Ship.Customs.Add();

Ship.Custom.Company="CustCO";

Ship.Custom.Name="International";

Ship.Custom.Formula="1-10=20+0.4,11-20=2,21-=20";

Ship.Custom.Country="(US,CA)";

Ship.Customs.Add();

In the last sample only 1 shipping server (set with name) was defined for each country. It is also possible to add multiple rating services for each country and even to limit specific additional services on any combination of StateProvince's.

Limit *real-time* shipping return based on a specific location:

Ship.Custom.Company="USPS";

Ship.Custom.Country="US";

Ship.Customs.Add();

Ship.Custom.Company="FedEx";

Ship.Custom.Country="(US)";

Ship.Customs.Add();

In this case only the country and stateprovince properties are applicable as the rating is real-time, not formula based. USPS real-time rating will only return if the destination address is within the US. Anywhere else in the world FedEx rating will be returned. Typically if USPS,FedEx is included in the rate call it will always try and return both. This is new functionality for the custom rate system which integrates with the realtime system to allow limiting realtime rating by area.


Controls

Navigation: Developer Documentation > Reference >

Controls

 Return to chapter overview

.netSHIP also includes a number of Web Controls which can be used declaratively or programmatically to render rates and tracking information.


Web Controls

Navigation: Developer Documentation > Reference > Controls >

Web Controls

 Return to chapter overview

A powerful collection of web controls is included to provide another interface to .netSHIP. Web controls offer a standard implementation for providing web based user interface elements. If you are already familiar with web controls you will be able to use the .netSHIP web controls to alter the font, colors, and properties of the rate and tracking display using the standard properties you are already familiar with. If you are confused about component and control usage click here for more information.

The following controls are included:

DisplayRatesDropDown: This control will use the provided properties for address and package details and return any applicable rates in a drop down menu. DisplayRatesDropDown uses the same property names as the component with the following exceptions:

Dimensions are set with a single property: Dimensions = "Length x Width x Height" and Rate is a property of the control which takes a comma delimited list of shipping companies. Rate = "USPS, FedEx"

In addition, this control will accept a ship object through the property name "ShipObject". If the shipobject property is set the control will obtain rating and setting details from the object. If the rate property is set to "none" rating will not be performed.

DisplayRatesRadio: This control will use the provided properties for address and package details and return any applicable rates in a radio button collection. DisplayRatesRadio uses the same property names as the component with the following exceptions:

Dimensions are set with a single property: Dimensions = "Length x Width x Height" and Rate is a property of the control which takes a comma delimited list of shipping companies. Rate = "USPS, FedEx"

In addition, this control will accept a ship object through the property name "ShipObject". If the shipobject property is set the control will obtain rating and setting details from the object. If the rate property is set to "none" rating will not be performed.

DisplayTracking: This control will use the provided properties for tracking number, shipping company and login information and return a datagrid populated with tracking information. This control provides powerful and simple customization of all aspects of the data display including font, table grid settings, column spacing and more. DisplayRatesRadio uses the same property names as the component with the following exceptions: Track is a property of the control instead of a method, it accepts the shipping company and track ID. rate = "shipcompany,trackid" HeaderText is a property which allows you to set the text for the headers to your own value or for international support. HeaderText = "Date,Location,Status"

In addition, this control will accept a ship object through the property name "ShipObject". If the shipobject property is set the control will obtain rating and setting details from the object.

CountryList: This control will render a dropdown of country names with their applicable values. A default list is provided, this can be overriden with an XML file if you wish to provide a subset of the names available or modify language or text displayed. This control has 2 optional properties: SelectedCountry which accepts a country code and xmlFileName which accepts the file name or virtual path and file name to the country list override xml file. e.g. "country.xml" or "/yourdir/country.xml"

A number of sample scripts are included which demonstrate control usage.


Display

Navigation: Developer Documentation > Reference > Controls >

Display

 Return to chapter overview

Web Controls share a number of common display related properties for formating such as:

BackColor: Gets or sets the background color of the Web server control.

BorderColor: Gets or sets the border color of the Web control.

BorderStyle: Gets or sets the border style of the Web server control.

BorderWidth: Gets or sets the border width of the Web server control.

CssClass: Gets or sets the Cascading Style Sheet (CSS) class rendered by the Web server control on the client.

Font: Gets the font properties associated with the Web sServer control.

ForeColor: Gets or sets the foreground color (typically the color of the text) of the Web server control.

ToolTip: Gets or sets the text displayed when the mouse pointer hovers over the Web server control.

Width: Gets or sets the width of the Web server control.

Height: Gets or sets the height of the Web server control.


Samples

Navigation: Developer Documentation >

Samples

 Return to chapter overview

When .netSHIP was unpacked a /web directory is created. This directory contains the /bin directory which contains dotnetship.dll along with a /vbnet directory which includes sample usage in VB.NET, the /csharp directory includes sample usage in C#.

Included Sample Files:

SimpleRate.aspx: A simple hard coded example that rates a package and displays rates with the displayrates method.

SimpleRateCollection.aspx: A simple hard coded example that rates a package and displays rates by interating through the rates collection.

SimpleRateControlDropdown.aspx: A simple hard coded examples that rates a package and displays the rates using the displayratesdropdown control.

SimpleRateControlRadio.aspx: A simple hard coded examples that rates a package and displays the rates using the displayratesradio control.

RateForm.aspx: A form that demonstrates usage of countrylist and accepts shipping destination details. To use this sample you must have registered and set the company login properties.

Rate.aspx: Retrives information from the form post from rateform.aspx and uses it to calculate the requested rates.

RateProcess.aspx: Retrives information from the form post from rate.aspx and displays the details of the selected rate.

CountryListControl.aspx: Demonstrates use of the countrylist control on its own.

RateControlCodeBehind.aspx and RateControlCodeBehind.cs/vb: This example performs rating similiar to rateform and rate however it demonstrates the use of code behind.

RateServerFormCustom.aspx: This sample shows how to create custom shipping services and companies. It also shows the use of a server side form and has no dependencies on other pages. Custom rates can be mixed with realtime rates, used on their own, or just for failover / backup purposes.

RateServerForm.aspx: This sample is effectively a combination of RateForm.aspx and Rate.aspx. Rather than a traditional form with 2 seperate pages it uses a server side form and web controls for rending the country selection and rate return.

SimpleTrack.aspx: A simple hard coded example that tracks a package and displays the tracking output with the displaytracking method. You will need to edit this sample to set a current, valid tracking number in order to view the tracking return.

SimpleTrackCollection.aspx: A simple hard coded example that tracks a package and displays the tracking output by iterating through the tracking collection. You will need to edit this sample to set a current, valid tracking number in order to view the tracking return.

SimpleTrackControl.aspx: A simple hard coded example that tracks a package and displays the tracking output all with a single call to the displaytracking control. You will need to edit this sample to set a current, valid tracking number in order to view the tracking return.

TrackForm.aspx: Passes a tracking # and processor from the user to tracking.aspx.

Track.aspx: Accepts a tracking # and processor from TrackForm.aspx and returns tracking information.

TrackingServerForm.aspx: This sample is effectively a combination of TrackForm.aspx and Track.aspx. Rather than a traditional form with 2 seperate pages it uses a server side form and web controls for rending the tracking return.

CountryList.xml: An XML file containing the country information used optionally by the countrylist control.

Company Specific Samples:

FedEx.aspx: An example that rates a package and displays rates for FedEx.

DHL.aspx: An example that rates a package and displays rates for DHL.

USPS.aspx: An example that rates a package and displays rates for USPS.

Canadapost.aspx: An example that rates a package and displays rates for Canadapost.

Roadway.aspx: An example that rates a package and displays rates for Roadway.

EasyPost: EasyPost.aspx, EasyPostGetLabel.aspx, EasyPostRefundLabel.aspx


Supported Countries

Navigation: Developer Documentation >

Supported Countries

 Return to chapter overview

.netSHIP supports real-time rating and tracking the US and Canada. USPS, Airborne and DHL a US origin is required. For Canada Post a Canadian origin is required. For FedEx international origins are supported.

The following countries are supported shipping destinations:

AD Andorra

AE United Arab Emirates

AG Antigua and Barbuda

AI Anguilla

Al Albania

AM Armenia

AN Netherlands Antilles

AR Argentina

AS American Samoa

AT Austria

AU Australia

AW Aruba

AZ Azerbaijan

BA Bosnia and Herzegovina

BB Barbados

BD Bangladesh

BE Belgium

BF Burkina Faso

BG Bulgaria

BH Bahrain

BI Burundi

BJ Benin

BL Bonaire

BM Bermuda

BN Brunei Darussalam

BO Bolivia

BR Brazil

BS Bahamas

BT Bhutan

BV Bouvet Island

BW Botswana

BY Belarus

BZ Belize

CA Canada

CB Curacao

CC Cocos (Keeling) Islands

CD Channel Islands

CF Central African Republic

CG Congo

CH Switzerland

CI Cote D' Ivoi re (Ivory Coast)

CK Cook Islands

CL Chile

CM Cameroon

CN China

CO Colombia

CR Costa Rica

CV Cape Verde

CX Christmas Island

CY Cyprus

CZ Czech Republic

DE Germany

DJ Djibouti

DK Denmark

DM Dominica

DO Dominican Republic

DZ Algeria

EC Ecuador

EE Estonia

EG Egypt

EH Western Sahara

EN England

ER Eritrea

ES Spain

ET Ethiopia

EU St. Eustatius

FI Finland

FJ Fiji

FK Falkland Islands (Malvinas)

FM Micronesia

FO Faroe Islands

FR France

GA Gabon

GB Great Britain (UK)

GD Grenada

GE Georgia

GF French Guiana

GH Ghana

GI Gibraltar

GL Greenland

GM Gambia

GN Guinea

GP Guadeloupe

GQ Equatorial Guinea

GR Greece

GS South Georgia and South Sandwich Isls.

GT Guatemala

GU Guam

GW Guinea-Bissau

GY Guyana

HK Hong Kong

HM Heard Island and McDonald Islands

HN Honduras

HR Croatia (Hrvatska)

HT Haiti

HU Hungary

IC Canary Islands

ID Indonesia

IE Ireland

IL Israel

IN India

IO British Indian Ocean Territory

IS Iceland

IT Italy

JM Jamai ca

JO Jordan

JP Japan

KE Kenya

KG Kyrgyzstan

KH Cambodia

KI Kiribati

KM Comoros

KN Saint Kitts and Nevis

KO Kosrae

KR Korea (South)

KW Kuwait

KY Cayman Islands

KZ Kazakhstan

LA Laos

LB Lebanon

LC Saint Lucia

LI Liechtenstein

LK Sri Lanka

LR Liberia LS Lesotho

LT Lithuania

LU Luxembourg

LV Latvia

MA Morocco

MB St. Maarten

MC Monaco

MD Moldova

MG Madagascar

MH Marshall Islands

MK Macedonia

ML Mali

MM Myanmar

MN Mongolia

MO Macau

MP Northern Mariana Islands

MQ Martinique

MR Mauritania

MS Montserrat

MT Malta

MU Mauritius

MV Maldives

MW Malawi

MX Mexico

MY Malaysia

MZ Mozambique

NA Namibia

NB Northern Ireland

NC New Caledonia

NE Niger

NF Norfolk Island

NG Nigeria

NI Nicaragua

NL Netherlands

NO Norway

NP Nepal

NR Nauru

NT Neutral Zone

NU Niue

NZ New Zealand (Aotearoa)

OM Oman

PA Panama

PE Peru

PF French Polynesia

PG Papua New Guinea

PH Philippines

PK Pakistan

PL Poland

PM St. Pierre and Miquelon

PN Pitcairn

PO Ponape

PR Puerto Rico

PT Portugal

PW Palau

PY Paraguay

QA Qatar

RE Reunion

RO Romania

RT Rota

RU Russian Federation

RW Rwanda

SA Saudi Arabia

SB Solomon Islands

SC Seychelles

SD Sudan

SE Sweden

SF Scotland

SG Singapore

SH St. Helena

SI Slovenia

SJ Svalbard and Jan Mayen Islands

SK Slovak Republic

SL Sierra Leone

SM San Marino

SN Senegal

SO Somalia

SP Saipan

SR Suriname

SS Saba

ST Sao Tome and Principe

SU USSR (former)

SV El Salvador

SW St. Christopher

SY Syria

SZ Swaziland

TB St. Martin

TC Turks and Caicos Islands

TD Chad

TF French Southern Territories

TG Togo

TH Thailand

TI Tinian

TJ Tajikistan

TK Tokelau

TM Turkmenistan

TN Tunisia

TO Tonga

TP East Timor

TR Turkey

TU Truk

TT Trinidad and Tobago

TV Tuvalu

TW Taiwan

TZ Tanzania

UA Ukraine

UG Uganda

UM US Minor Outlying Islands

US United States

UY Uruguay

UZ Uzbekistan

VA Vatican City State (Holy See)

VC Saint Vincent and the Grenadines

VE Venezuela

VG Virgin Islands (British)

VI Virgin Islands (U.S.)

VN Vietnam

VU Vanuatu

WF Wallis and Futuna Islands

WS Samoa

YA Yap

YE Yemen

YT Mayotte

YU Yugoslavia

ZA South Africa

ZM Zambia

ZR Zaire

ZW Zimbabwe


Restrictions

Navigation: Developer Documentation >

Restrictions

 Return to chapter overview

The shipping companies provide rates for packages in the following weight ranges:

FedEx: 1-150 lbs and 150+ pounds with FedEx Freight

Airborne: 1-150 lbs

USPS: 1-70 lbs

DHL: 1-150 lbs

Canada Post: 1-66 lbs

Roadway: Supports large and heavy freight items 150+ lbs.


Support

Navigation: »No topics above this level«

Support

 Return to chapter overview

Before contacting support be sure to read the frequent questions listings and review the support policy.


Frequent Questions

Navigation: Support >

Frequent Questions

 Return to chapter overview

Can I use .netSHIP in a regular ASP page?

It is possible to use .netSHIP in conjunction with traditional ASP however .netSHIP must be used in an ASP.NET page with a supported .NET language such as VB.NET or C#. Since ASP and ASP.NET can run on the same server and information can be passed by querystring or form posts you could accept information from ASP through one of these methods, perform a realtime calculation and pass the users selection to another ASP page for processing. The dataflow would look like this: ASP page posts data required for rating / tracking for ASP.NET page using .netSHIP, this page performs the rating / tracking and returns the information to the user, user makes selection and continues which passes this information back to the ASP application. A simple effective way to leverage the power of .netSHIP in traditional ASP applications!

No rates are returned, what could cause this?

Please ensure you are accessing your aspx page through localhost or your licensed domain and check the error property to determine the specific reason / configuration problem.

Where does .netSHIP get its rating information from?

.netSHIP gets rating information directly from the shipping processors. There is no dependency on .netSHIP for actual rate calculation, we provide software, not services. You interface directly with the shipping companies with your own asp.net code on your own site with your own accounts with the shippers. .netSHIP does not provide any service based offering.

What controls the performance and rating time for .netSHIP?

Real-time rating and tracking means that each request is sent to the various shipping companies and returned. The time of rate return is almost 100% dependent on the time it takes the ship company to calculate and return rates.

What controls the reliability of the rating return?

.netSHIP obtains rates in real-time, this means that each rating transaction has the most up to date rating however it also means that the reliability is dependent on the shipping processor. Regardless of the system used, we are committed to ensuring our product remains current and also provide specific backup and failover features.

What happens if no rates are returned or if there is a problem getting rates?

See the properties for ratebackup and ratefailover which provide options to ensure your ecommerce solution dataflow is always active and your customers are always provided with shipping options.

Does .netSHIP work with Visual Studio? Web Matrix? Frontpage? Notepad?

Yes, you can work with .netSHIP using any editor and many different samples are included with the product distribution. Note: Design time support is not provided at this time.

Are there any charges for returning rates?

No, .netSHIP is a software product that is installed directly on your site. It contacts the shipping companies directly from your site, and returns the applicable rates / tracking information using your shipping accounts with the various shipping companies.

My site is in a specific country, will .netSHIP work for my store?

.netSHIP supports a number of countries throughout the world for shipping origins and nearly every country in the world for shipping destinations. For more information see a listing of supported countries.

Can you add my specific feature or shipping company support?

Please email info@dotnetship.com with your request. We keep track of feature and company requests and add support based on demand and client feedback. Currently we support USPS, FedEx, Airborne, DHL and Canada Post for both tracking and rating. Roadway was recently added for freight support. UPS is supported for rating and tracking.


Support Policy

Navigation: Support >

Support Policy

 Return to chapter overview

30 days of priority email support is provided with purchase. Support is provided 9am to 5pm Monday through Friday. We have been supporting ecommerce components since 1998!

Free updates are provided within 90 days of license purchase.

Support is offered for evaluations / presales on an as available basis.

Priority support contracts can be purchased.


Contacting Support

Navigation: Support >

Contacting Support

 Return to chapter overview

You can contact support by emailing info@dotnetship.com

Please be sure to include the following information:

· Your orderid provided when you purchased .netSHIP
· A detailed description of your problem
· An exact error message if applicable
· Specifics of your server environment and configuration
· Sample script or code snippet if applicable

Our goal is to provide rapid resolution, if you ensure the aformentioned information is included we can meet this goal.


Licensing Information

Navigation: »No topics above this level«

Licensing Information

 Return to chapter overview

This chapter includes information on pricing as well as the license agreement.


Pricing & Purchase

Navigation: Licensing Information >

Pricing & Purchase

 Return to chapter overview

.netSHIP is Licensed per site / store:

Single Site $125 (USD): Usage for a single site / store (1 origin address).

Full Server $395 (USD): Usage on 1 physical server for any number of websites and shipping origins. A server version may not be used for requests made from sites not hosted on the licensed physical server. The server version requires installation in the GAC and is not suitable for shared server environments.

Bonus: We are including a free localhost development license with each license of .netSHIP sold.

When you purchase .netSHIP you are asked to provide your web site address. Your license is bound to this address and allows for the product to work on this site only, for a single store (1 origin address for shipping). With each purchase, a free development license is included which allows you to use the product through localhost for development purposes at no additional charge.

Prior to purchase please ensure you download the documentation, familiarize yourself with the product and carefully read the licensing agreement.


License Agreement

Navigation: Licensing Information >

License Agreement

 Return to chapter overview

This license agreement is a legal agreement between you and Corporate Web Solutions Ltd. for .netSHIP. By using this product/key you agree to be bound by the terms of this agreement.

This software/key is protected by national and international copyright laws. This software/key is licensed, not sold.

Granted Rights: This license grants you the right to install this software/key for use on a single (1) web site or store for the domain specified when your key was purchased. In addition, you may use the product for local development purposes though locahost on a single (1) computer system. This product/key is licensed per store (also known as per domain or per site).

Limitations: You may not reverse engineer, decompile, or disassemble .netSHIP. You may not rent or lease this software/key, you may not transfer your rights under this license agreement. A license may not be used for any domain other than that specified at the time of purchase, licenses can not be transfered to different domains. .netSHIP is designed to be used in web sites for real-time shipping calculations. .netSHIP depends on a third party web sites for rating and tracking information and provides no guarantee, expressed or implied, as to the accuracy of the data or its continued return. .netSHIP is not a development tool and may not be used in any other application outside of a web server environment. .netSHIP may not be integrated with or incorporated into any software product or script sold or offered to any 3rd party. A single .netSHIP license may not be used in an ISP / Mall environment, each site / store (1 origin address) must have its own unique license.

Ownership: Corporate Web Solutions retains ownership of the software/key.

Liability: In no event shall Corporate Web Solutions be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of information or any other pecuniary loss) arising out of the use of inability to use this software/key, even if Corporate Web Solutions has been advised of the possibility of such damages.

Termination: Without prejudice to any other rights, Corporate Web Solutions may terminate this license agreement if you fail to comply with the terms and conditions of this agreement. In such event, you must destroy all copies of .netSHIP, any derivative work, and all of its component parts.

General: By installing this software/key you acknowledge that you have read this license agreement, understand it, and agree to be bound by its terms and conditions.


Trademarks & Copyright

Navigation: Licensing Information >

Trademarks & Copyright

 Return to chapter overview

.netSHIP documentation, logo, design and application is copyright 2001-2020 Corporate Web Solutions Ltd.

All trademarks of products, services, company or organizational names, logos, phrases, service marks, service logos, and/or slogans are trademark(s) or registered trademark(s) and/or service mark(s) of the respective holder(s), where applicable.


Component & Control Usage

Navigation: »No topics above this level«

Component & Control Usage

 Return to chapter overview

For those new to ASP.NET it may not be clear when to use the .netSHIP component or the .netSHIP controls. Ultimately it is up to your preference, and how much control you require over rating and tracking display. When returning and displaying rates you would choose to use the component, the controls, or the new hybrid method.

Component:

The component is created at the scripting level as an object. You can set the required properties and then call a specific method to get rates or tracking information. After this point the rating or tracking information will be accessible in a collection that you can iterate through programmatically in your script. The advantage here is that you have complete control of how you output the results, and even which results are included. You can also use the provided methods to return premade HTML that can be outputed to the browser directly.

Controls:

For those wishing to use .netSHIP in the most common way, to display rates and tracking information directly, web controls provide a simple interface whose look and feel can be easily customized. With a single control call you can get and display all applicable rates in the format you wish (radio / combo) and control the style, font, colors etc of the control. Or with displaytracking use one simple call to render a detailed table of tracking information and format all aspects of the table display.

Hybrid Usage:

With version 2 of .netSHIP and later the controls accept an optional property called ShipObject. This property will accept an object of the component and if provided all shipping / tracking information and settings will be used from the property. In such a case it is not required to set the control level properties. In this scenerio the component is created at the scripting level as an object, you can set the required properties and call the rating or tracking. At this point the collections in the object contain the shipping details. You could output these using the methods of the object that return HTML or, if you wish to have more control over the rendering of the return, pass the object to a control of your choice and set the ShipObject property to the object you have created.


Using the built-in syntax highlighter

Navigation: »No topics above this level«

Using the built-in syntax highlighter

 Return to chapter overview

Help & Manuals syntax highlighter helps you to format programming source code examples. The highlighter is aware of the code syntax and reserved words of Pascal, C++, Visual Basic and SQL statements.

To format a piece of text in code editor style

1 Select the topic text you want to format.
2 On the tool bar, click the drop down arrow of the syntax highlighter button.
3 From the popup menu, select the appropriate formatting style.

Once you have choosen a formatting style, you can apply the same style again by clicking the syntax highlighter button directly.

See also

Customizing the syntax highligher

Pascal syntax examples

C++ syntax examples

Visual Basic syntax examples

SQL examples


Virtual Directory Creation

Navigation: »No topics above this level«

Virtual Directory Creation

 Return to chapter overview

To create a virtual directory you should complete the following steps:

1) Open the MMC (Microsoft Management Console) also called the Internet Services Management or commonly refferred to as the IIS administration.

2) You will see a list of snap ins, one of which will be called Internet Information Server. Under this you will see your server name, select this server to view a list of sites running on the server

3) Select the site you wish to add a virtual directory for, right click on this site and select "new", "virtual directory"

4) You will be prompted to enter the alias, this is the name you want to access the content through for example enter "ship" and select next

5) You will be promoted to enter the physical path, this is the path where you unpacked .netSHIP, for example "c:\dotnetship\web" you want to point to the web directory as this directory contains the web samples

6) Select "next" and "finish" on the final page.

Your virtual directory is now setup, and you can load the samples through http://www.yoursiteaddress.com/ship/vbnet or http://www.yoursiteaddress.com/ship/csharp