ShipAdvisor is a pure web service and therefor it does not provide a graphical interface in any form.
This ensures flexibility and freedom to customize the output from the methods on the client side.
ShipAdvisor provides the data that could be used to show drop points in e.g. a Google map, but do not provide a Google map API key. A Google map API key is created by Google and will only work on the domain(s) that it is created on.
NOTE: The Goggle API Key that is provided with the source code for ShipAdvisor Test Bench, is a developer API key and it will only work when running at localhost. Do not try to use this at a public domain since it could be blocked by Google and become useless.
Briefly description: Client (web shop application) calls GetFreightProductsForShipment to get the suited freight products for the shipment used as input parameter. At this moment, no evidence is registered in ShipAdvisor. After all inside process of the order, client calls CreateConfirmedOrder to create a complete shipment (including freight product and drop point information) and sends it to ShipAdvisor also in this step.
This is the standard order of calling ShipAdvisor:
- (optional) DropPoint Methods (1 or more calls)
- (optional) CreateConfirmedOrder
Drop points are divided into 2 categories: carrier DP and web shop DP.
Carrier DPs are related to the carrier; stores and other facilities that has an agreement with the carrier to be a package distribution point. Usually a single carrier is present in one DP.
Web shop DP are custom drop points that is unique for the specific web shop it is created on and used together with custom product defined in ShipAdvisor.
This could be a product that the customer would choose if they want to pickup the order at the store. If the store has multiple locations then custom drop point could be linked to
the product so the customer could chose from a list / map which store he want to pick up the order.
GetClosestDropPoint and SearchForDropPoints are returning only carrier drop points.
SearchDPsForMoreProducts handles carrier DP and web shop DP on multiple carriers and web shop products.
The above methods are no longer in use by ShipAdvisor.
NOTE: All the methods are protected by SOAP authentication header. Each client, including test ones will be provided unique credentials (WebShopId, Username and Password) for accessing the application.
NOTE : A WebShopLine in ShipAdvisor is not the same as a product line in a Web shop shopping cart. It is like the goods line in Consignor ( your TA solution), where you defined the values for number of packages(parcels), measurements of the packages and so on.
This indicates that you need some kind of logic at the client side to know how the shipment would be shipped regarding number of parcels for the shipment.
Remember a WebshopLine operates on line and package(parcel) level. This means that the values you pass in for the fields, like PackageWeight and measurements are for each package defined in NumberOfPackages.
NumberOfPackages is set to 2 and PackageWeight set to 5000 gram. This means that this WebshopLine has two parcels and each parcel weights 5000 gram ( 5 kgs), with a total weight of 10000 gram.
Use multiply WebShopLines If you need to define different measures for parcels.
First WebShopLine – > NumberOfPacakges = 2, PackageWeight = 2000 gram
Second WebshopLine –> NumberOfPackages = 1, packageWeight = 3000 gram
The first line contains 2 parcels that weights 2000 gram each and the total of 4000 gram.
The second line contains 1 parcel that weights 3000 gram.
This shipment would contain 3 parcels with the total weight of 7000 gram
- Receiver – data about the user/buyer like address, postcode, etc.
- WebShopShipment – all data on the order / shipment, it can include more items, this is what it has an array of WebShopLines
- WebShopLine – goods line data of the order, number of packages, weight etc.
- DropPointData – data about the drop point selected by the end-user/buyer.
- SelectedProduct contains product name, delivery time, price, etc.
- OrderOutput – response from ShipAdvisor returning order_ID from ShipAdvisor on sucsess or error message if something goes wrong.
- ProductWrapper – contains ProductInfoList of SuitedProductInfo returned from ShipAdvisor
Here are the business entities in details:
NOTE: for more accurate and up-to-date information please check the wsdl file
- Phone2 //Mobile
- WebShopId //An uniq id the identify the webshop(given by Consignor)
- OrderNumber //This is generated in webshop as an Id and sent to ShipAdvisor
- ChODId //Identifies an order in ShipAdvisor system. Generated in ShipAdvisor
- CODAmount //The COD amount of the order if any
WebShopLine: List of WebShopLine, which contains:
- PackageWeight //Measured in G
- PackageHeight //In MM
- PackageLength //In MM
- PackageWidth //In MM
- PackageVolume //In MM3
- NullableDangerousGoods //Boolean or N/A
- UNNumber //A standard code for the dangerous good type (substance)
- ExchangeRate //Not in use
Shopper //Contains location information about the receiver/buyer(type Receiver):
- RequestDate //Not in use
- deliveryTypeOrder (E.g 10 = Home delivery, 20 = At Work, 30 = Pick Up)
- DropPoint //Type of DropPointData
- ProductInfoList = list of SuitedProductInfo
- ErrorMessage, if something goes wrong when filtering the products
- long ChODId = used to identify an order during the whole flow
- byte ErrorCode -inform WebShop there was a problem when creating the order
- string ErrorMessage –same, description of error