function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
expediteshipexpediteship 

DHL Shipping with Sforce

We developed ExpediteShip for DHL hosted SOAP Web Service.

I just registered for Sforce.com developer program.

Will want to implement the following and need help from the cimmunity how to implement it.

Sforce.com ordering system embedded in Sforce.com

1) To integrate Shipping button to Sforce.com
2) To integrate Shipping submenus to be seen when user clicks on Shipping button.
3) Submenu #1: Shipping Rate Estimate
4) Submenu #2: Shipment with label printing.

3) and 4) have to get a list of available customers and products and their info imported to the Shipping info.

The usage scenario is as follows:

1) The sales person has a customer who wants to purchase a product. He wants a shipping rate estimate. He chooses his customer from a list of available customers, then the desired product(s).
The customer address info is extracted from Sforce.com. The product weights and dimensions are extracted from Sforce.com. This info is send to ExpediteShip screen. Sforce.com user confirms
the selection, clicks on Rate estimate and receives a list of available rates depending from the shipping methos. The rates are calculated based on the Shipping Method; Ship From, Ship To Addresses; Weight, Dimensions, Product Value. This request calls ExpediteShip Web Service and returns back the list of available rates.

2) The sales person wants to close a sale. He chooses a desired shipping method. The the next screen shows the order including address, product ordered and shipping value.

3) The person responsible for orders opens a separate screen with pending orders. He chooses an order to fulfill. The Shipping Method; Ship From, Ship To Addresses; Weight, Dimensions, Product Value.are extracted from Sforce.com, send to ExpediteShip SOAP Web Service and then a shipping label is returned back on the screen. He prints the label and marks the order to be fulfilled.


 


 

DevAngelDevAngel

Hi expediteship,

This solution would best be implemented as a web link off of an opportunity.  A web link is basically a url that you can host on a record detail page.  When building the link, you have the option of using data from the detail page that is currently shown.  This data is placed in the url query string in the form of merge fields.  Doing this allows you to author a jsp, asp or other web page on your server that will recieve the detail information that is in the query string of the url there by allowing your web app to have the required context to display the correct info to the user.  Your web app can recieve session id and server url information that will allow you to exercise our API to request additional information and update or create records on behalf of the logged in user.

Using this technique, you can craft a sophisticated web ui and roll whatever logic (including data dips into your web service as well as ours) into your web app.  Your ui can be hosted in a frame in our ui or popped to a new window, whatever makes the most sense for your use cases.

Hope this is enough to get you started in the right direction.

Cheers

 

expediteshipexpediteship

You are very helpfull and it seems it is the right solution.

I opened Opportunities-->
Web Linkselivery Status and suppose this is what are you speaking about.

Can you tell me how a web link is build?

Under Setup->Extend-->Custom Object - can I use this  functionality?

DevAngelDevAngel

Hi expediteship,

You can use anything you want.  The web links are under Setup->Customize and what ever object you want to place the link on. Expand Opportunities and you will see an item called Web Links.  Click that and create a new web link.  The best thing is to create one and explore the wizard steps.  Create one to open http://www.google.com.  Play with the window open properties.  Create a link to http://localhost/yourapp.jsp or some simple page on your local machine.  Add some merge fields and inspect the query params that are sent.  In this way you will understand what can be done and how to work with it.

Cheers

expediteshipexpediteship
It seems very easy - this is great integration!

Under delivery status Web Link already presented
I see Opportunity_Tracking_Number. Where this is
comming from? I suppose now it is entered manually from
the sales person when the shipping is made and there
is tracking number available.

I can add this automatically after successful label
printing and shipping request. The process I suppose
works as follows:

I create "DHL Shipping" Web Link, which extracts
opportunity info and sends it with GET request to our
Shipping Web UI. There Sforce user sees the populated
fields, and clicks on Ship. The label comes back and he
prints. Then he clicks on Back link. There a call back
link is embedded and he can come back to Sforce.

Now: 2 questions:
1) How to implement this call back link? How to handle the
session. I do not want the user to login again and want
to come back where he clicked on before.

2) After successfull shipping there is tracking info received.
I want to return it back to Sforce and embed it in the user
info. I suppose I have to call Sforce API from our
Web Application?

Please correct me if I am wrong.
expediteshipexpediteship
I created a Default Web Link: Google Solution Search. Clicked on Add Now,
then Save.

Now how to add it to the Opportunities Tab?
DevAngelDevAngel

Hi expediteship,

First, there is a mergefield called Opportunity: Detail Link.  Use this as the url to return to.  To have this happen automatically, you will need to execute a piece of javascript at the end of your process.

window.parent.location.href={!Opportunity_Link};

Because your page is in a frame, you need to go up to the parent and reset the location.

 

Second, you will need to make a simple update call using the api.  Include the opportunity id, session id and Server URL merge fields on your web link.  Using these fields you can create a soap message that updates the opportunity.  Are you on jsp, asp, asp.net, php or what?

expediteshipexpediteship
>Are you on jsp, asp, asp.net, php or what?

I use asp.net
expediteshipexpediteship
I created a Default Web Link: Google Solution Search. Clicked on Add Now,
then Save.

Now how to add it to the Opportunities Tab?
DevAngelDevAngel

You need to add it to a page layout.

On the opportunitues section of studio, click Page Layouts and edit the one for Administrator.

On the right there will be a section that has a list of things to add to the layout. Select Web Links and drag and drop you new web link to the correct section of the layout (near the bottom).

fateh shakirfateh shakir
You should use Pro tracking hub (https://protrackinghub.com/) for any shipping 
courier trackingcourier tracking
I am using https://delhiverytracking.com/ for tracking purpose 
courier trackingcourier tracking
iI am using https://delhiverytracking.com/ (https://delhiverytracking.com/)for tracking purpose 
colleen camachocolleen camacho
I am using apsrtc logistics live track (https://couriertrackingfinder.com/apsrtc-logistics-tracking/) for tracking purpose