26 replies [Last post]
Chad_Dupuis@drupal.org's picture
Offline
Joined: 08/28/2007
Juice: 54
Was this information Helpful?

I just wanted to ask the following question to see if I was either missing something or there is some work being done to accomplish my issue.

I am interested in being able to purchase the print labels for USPS directly from the orders system. Right now, unless I'm missing something, I would have to login to my USPS account, re-fill all the order information, and then purchase the label.

In paypal I can click on "print shipping label" and this is all taken care of. Can I do that now? or is there work being done towards that end?

Thanks!

Andy's picture
Offline
Administrator
Joined: 08/07/2007
Juice: 1076
USPS Lables

*Before you reply to this comment, remember. We are dealing with the USPS here. I know what I am saying make no sense. This is USPS's fault, not mine Smiling

*The last time I looked into this was 6 months ago so my info may be dated, but considering the speed at which the USPS moves, not likely.

USPS Does not have accounts like UPS or Fedex with monthly billing. You have to pay for each shipment, label, or stamp as you go. USPS has a web site similar to UPS or Fedex, but the USPS does not have a XML API which allows you to quote shipments and generate labels. You have to do this on their website or with one of their approved vendors like Endicia Dazzle. The reason they do not have an API is because "we are a government agency and so must be fair to everyone, so we only have two or three partners who can do this , and you have to buy the software from one of them."

The end result of all this cockamamie bull$%@t is that the best way to automate USPS shipments and label printing is to buy Endicia's Dazzle software. You can tell it your database address and table setup and it will automatically generate shipments, print labels, and upload the tracking number to your database. It is a little complicated to setup, but it is doable. If someone who has done it could write a little guide for Dazzle and Ubercart, that would be great. If you know of a better way, tell us. My information is mainly second hand and could certainly be wrong.
Profitprophet's post, New to Drupal, has more discussion about this in question 3b.
Peace
Andy

Chad_Dupuis@drupal.org's picture
Offline
Joined: 08/28/2007
Juice: 54
Re: USPS Lables

Thank you for the info. I guess it works in paypal because they can deduct the money directly from your account and they have probably contracted with one the USPS vendors.

Does the ability to print labels on the fly exist, then, in the UPS modules for shipping or is that still being developed?

Lyle's picture
Offline
AdministratoreLiTe!
Joined: 08/07/2007
Juice: 6846
Re: Re: USPS Lables

There has been code written for the UPS module to print labels, but it hasn't been in the repository for a while. I had been confused by the various XML Tools that UPS provides, and I had made a quoter that used the Shipping Tool, but that is a premium service and most people couldn't use it. Since your original post, I've been working on reintegrating the order fulfillment with the newer quoting module.

As long as your account with UPS is set up to use the "Shipping XML Online Tool" and I've committed the changes to the module, you'll be able to create labels based on the information in your orders. Documentation hasn't been written for it yet, but that will be done soon as well.

Ben
Ben's picture
Offline
Joined: 08/29/2007
Juice: 38
Endicia Dazzle Module

I, too, would really like to see a Endicia Dazzle module for Ubercart. It's REALLY needed on my end and I've talked to several others who feel the same way.

While pulling the order information from the MySQL database into Endicia seems fairly straightforward, one thing I'm not clear about is how Endicia would submit via XML the tracking number and shipping status information back to Ubercart.

Where should this information be stored in the Ubercart database and how would we expose the tracking number/shipping status in Ubercart so that both customers and store administrators could view this information alongside the actual order?

Lyle's picture
Offline
AdministratoreLiTe!
Joined: 08/07/2007
Juice: 6846
Re: Endicia Dazzle Module

The (completely undocumented) uc_shipping module handles packaging up products and recording exactly where they go and how they get there. If a shipping method module implements an order fulfillment hook, you can choose it to notify the appropriate parties or systems that a shipment is being made and provide forms for you to enter all the necessary information. As of yesterday, only the UPS module does this.

I'd really like some feedback on how this system works. Mostly I was just making it the way I figured it should work, which may or may not coincide with anybody else's ideas. I'll throw up some documentation so that working with the shipping system will be a bit easier, too.

So, the bottom line is that someone needs to write an Endicia module, but they won't have to make absolutely everything from scratch.

Chad_Dupuis@drupal.org's picture
Offline
Joined: 08/28/2007
Juice: 54
Re: Re: Endicia Dazzle Module

I'm looking into the Endicia program as well as the possibility of switching my shipping services to UPS more often than not. And I will try to test the UPS module and label printing once I get an account from them. I greatly appreciate all the help and pointers!

Ben
Ben's picture
Offline
Joined: 08/29/2007
Juice: 38
Endicia Module

Hey everyone,

I thought I would re-open the discussion of a potential Endicia module. Has anyone made any progress on an Endicia module (which allows low-cost USPS shipping) in the past couple of months?

Cheers,
Ben

dkashen's picture
Offline
Internationalizationizer
Joined: 08/08/2007
Juice: 180
Re: Endicia Module

I know someone who developed a PHP based interface between dazzle/endicia and zencart.
I will ask him about ubercart/drupal (again).

webmasterkai's picture
Offline
Uber DonorBug Finder
Joined: 08/09/2007
Juice: 299
Re: Endicia Module

Anyone interested in pooling some funds together? We too are interested in USPS integration. We are developing a site for a bookstore that has almost 100 orders per day, all USPS. Too bad they don't have more money to put towards the project.
Endicia Professional has ODBC integration http://www.endicia.com/Features/ODBC
MySQL ODBC Connector http://dev.mysql.com/downloads/connector/odbc/5.1.html

Biodiesel * (ubercart + drupal) = Sundays Energy

Ben
Ben's picture
Offline
Joined: 08/29/2007
Juice: 38
I'm interested

I'd be interested in contributing to the development of an Endicia module for Ubercart. I view being able to manage, ship, and easily track U.S. Postal Service packages to be an essential need.

thill's picture
Offline
Joined: 01/25/2008
Juice: 815
Re: I'm interested

I hate to bring up such an old thread, however it was first on Google's list. Has anyone ventured out into the land of printing labels with Endicia and Ubercart? We want to print a USPS label and the packing slip at the same time.

hvitebjorn's picture
Offline
Joined: 07/26/2008
Juice: 85
Re: Re: I'm interested

I agree with thill - has someone looked at this? I would definitely be willing to contribute some funds.

Andy's picture
Offline
Administrator
Joined: 08/07/2007
Juice: 1076
Re: Re: Re: I'm interested

It has been a while since I last looked at this, but I believe there is a solution. Endicia allows you to connect directly to your Ubercart database. In Endicia you enter your mysql ip address, user name, password, table, and columns representing the product info. Then from inside Endicia you can access your Ubercart orders, create shipments, print labels, and even post back the tracking number into the database. I know of at least one site which already does this. I recommend trying this first. If it doesn't work, let me know and I will see if we can't develop a module to fix this.

TR
TR's picture
Online
Bug FinderFAQ ModeratorGetting busy with the Ubercode.
Joined: 11/05/2007
Juice: 3424
Re: Re: Re: Re: I'm interested

There are a number of other threads about Endicia. I don't want to repeat too much of what I've said in the past, but due to Endicia's terms of service you can't create an open-source module to use their label API. As Andy said, you can connect from Endicia on your PC to your Drupal DB on your server using ODBC, if your webserver opens that up, in order to grab shipment data from the DB and import it into Endicia. And you can push data back into the Drupal DB from Endicia. Not sure how transactions are implemented in that process ... The ideal solution would be to use the Endicia Label Server API to simply generate the labels from within the Ubercart admin menu, like you currently can do with UPS. That too can be done, but not as open source - you have to sign an NDA and license agreement, and not redistribute your code to anyone who hasn't signed the NDA and license agreement. Even then, they consider their web service protocol to a be proprietary company secret, so distributing source code which uses this API is in violation of their terms. As there's no "compiled binary" in PHP, you're kind of out of luck unless you want to do a one-off implementation for your own use.

<tr>.
Andy's picture
Offline
Administrator
Joined: 08/07/2007
Juice: 1076
Re: Re: Re: Re: Re: I'm interested

Thanks for the great info TR. One detail. Zend and ion cube http://www.ioncube.com/ both have bit-compiled options which may get around the license issue, but create other issues in that the server admin has to install a php module to get the bit compiled code to work. Another potential solution is a client server solution where we create endicia.ubercart.org which talks to endicia using their API and then distribute an open source module which talks xmlrpc or something similar to endicia.ubercart.org. The more I think about it, that is probably the way to go. I'll look into the legal / NDA aspects and see if it will work.
Peace,
Andy

TR
TR's picture
Online
Bug FinderFAQ ModeratorGetting busy with the Ubercode.
Joined: 11/05/2007
Juice: 3424
Re: Re: Re: Re: Re: Re: I'm interested

Interesting idea. I don't think the license will trip you up on that. However, the issue of payment probably will.

The thing with USPS in general and Endicia in particular is that each label is equivalent to currency. UPS and FedEx are different - for them a label is a label, and doesn't have any value until the package carrying that label is scanned into the system. Then your account is debited for the cost of shipping. With USPS/Endicia, on the other hand, the thing you're purchasing is the label itself, not the shipping per se. So USPS/Endicia labels are more like stamps, and have a face value. Print the same image multiple times and you can ship many packages for the cost of one until they catch you.

Anyway, if the label generation is all funneled through e.g. endicia.ubercart.org, that means endicia.ubercart.org is going to have to PAY Endicia for each label generated. Which means that you're going to have to have some sort of billing scheme set up to collect from the end users, and you will have to have at least a nominal markup to cover the credit card merchant fees. Sounds like a big hassle.

<tr>.
Andy's picture
Offline
Administrator
Joined: 08/07/2007
Juice: 1076
Endicia uploading tracking #'s

Ben wrote: "While pulling the order information from the MySQL database into Endicia seems fairly straightforward, one thing I'm not clear about is how Endicia would submit via XML the tracking number and shipping status information back to Ubercart."

I am only 90% about this, but I believe Endicia does not submit the tracking number via XML. I believe that you tell Endicia with a user name, password, table, and column for tracking # and order #. Then endicia writes the tracking number directly to the database when the shipment is generated. This works well for getting the tracking # into Ubercart, but will not "automatically notify via email" the customer or site administrator. There are a couple of options here. The easiest is to have the person who just got done setting up the shipment on endicia go to the order page and click a "email tracking number" button. The other option would be to use a mysql stored transaction to automatically email the tracking number every time one is entered in. This is more difficult then it sounds to set up, I think.

thill's picture
Offline
Joined: 01/25/2008
Juice: 815
Re: USPS Print Labels

Ahh per http://www.endicia.com/Products/Compare/
No ODBC love for the Mac, we will probably just setup an order export to XML format that fits Endicia.

For a huge company using Endicia label server API is an option but its not for everyone, that is how paypal creates its USPS labels right in the web browser. http://www.endicia.com/Developers/LabelServer/
In this method to add funds to your Endicia account just like normal and with each web label your create it takes it from your account. If you really want the label to be generated by ubercart and printed on the packing slip in one step this is the way to go, it is just a tad difficult in terms of process to get it up and running.

2dogrc's picture
Offline
Joined: 03/12/2010
Juice: 87
USPS shipping labels

Hello,
I have come over here from the osCommerce bandwagon. I was looking in to setting up a Drupal store, but this problem here is the biggest set back.

In osCommerce, there were not any direct API solutions either, but a ton of other options for this. On my site you clicked "ship" and then you were logged into the USPS click n Ship website and all the information, such as address, zip code, and weight, was already filled in.

Maybe that is a better way to go with this one. You still have to process each order at a time. If anybody is still interested, my programmer my be build a module for this.

2dogrc

jrowny's picture
Offline
Joined: 01/08/2009
Juice: 297
I solved it on Mac only. Mac

I solved it on Mac only.

Mac client install a URL address that you can use to invoke a shipping label by URL. Using the ubercart views module I created a list of current orders with a bunch of exluded fields in it. Then I rewrote the output of the last field like this:

  • create an ubercart view and add the following fields.
  • delivery address 1 and 2, delivery first name and last name, phone, state, city, country, order id, order total, and email.
  • On the LAST field (IMPORTANT) you need to "rewrite" output... It doesn't matter which field it is, as long as it's last.
  • The original vlaue of the last field is overwritten... if you still want it to be visible, add another field... you can add as many as you want of the same field.

Check "rewrite the output of this field" and put this code in there:

endicia://newShipment2/?ToAddress=[delivery_first_name]%20[delivery_last_name]%0A[delivery_street1]%20[delivery_street2] %0A[delivery_city]%20[zone_name]%20[delivery_postal_code]%0A[country_name];ReferenceID=[order_id];ToEMail=[primary_email];Value=[order_total];ToPhone=;[delivery_phone];

Hints:
strip out tags on fields...
order_total, make sure to use

PROBLEM: The rewrite output thing will screw up the endicia link if you try to surround it in an anchor tag. So you need to either theme the field or use this jquery snippet:

<script type="text/javascript">
$(document).ready(function(){

$('td.views-field-primary-email').each(function(){
$(this).html('<a href="' + $(this).html() + '">print</a>');
});

</script>

If you're lazy, you can cut and paste it right into the view's header. Also, the above snipped assumes you're using a table layout. Just change the "td" if you're not.

Go to your view... you should see a list of print that print the label. You should be able to customize this view to show the address in addition to the print button.

ergophobe's picture
Offline
Joined: 06/21/2010
Juice: 115
Re: I solved it on Mac only. Mac

Dupe

ergophobe's picture
Offline
Joined: 06/21/2010
Juice: 115
Re: I solved it on Mac only. Mac

I'm not an Endicia user, so maybe this would be obvious if I were, but why is this Mac only? It looks to be all server side

Except "Mac client install a URL address" - is this something you do in the Endicia client? Presumably the Windows client would have the same ability, no?

In other words, I'm asking - is it "Mac only" because it's only been tested on the Mac or because it's been tried and failed on Windows?

ergophobe's picture
Offline
Joined: 06/21/2010
Juice: 115
Re: USPS Print Labels

There is an Endicia add-on for UC Views Bulk Operations. There's some funkiness, but it's sort of working on my test site

http://drupal.org/node/494590

Read the comments carefully as you need to make some changes to the file to get it to work at all

It depends on http://drupal.org/project/uc_views and http://drupal.org/project/views_bulk_operations and many others

Also, this guy says something about a uc_endicia module but, sadly, says "This site is satire"
http://frankendrupal.com/node/6

jrowny's picture
Offline
Joined: 01/08/2009
Juice: 297
Re: USPS Print Labels

The reason it only works on mac is because for some reason Endicia only made this option available on the Mac Endicia client.

Endicia works with a desktop application running that does all the work. This desktop application is slightly different on the PC than it is on the Mac. The Mac version adds support for a special URL which can be called by a browser that will send the info to Endicia. With the PC version you need to generate an XML script.

Here is more information: http://mac.endicia.com/extras/urls/

ergophobe's picture
Offline
Joined: 06/21/2010
Juice: 115
Re: Re: USPS Print Labels

Okay. I saw that on their site where in the Mac client you can "watch" a folder.

In any case, the modules mentioned in my *third* post seem to generate an XML file, though need some debugging.

Apologies for the multiple posts. UC.org keeps timing out and being generally unreachable the last couple of days, so I didn't think that first one posted.

hjmichael's picture
Offline
Joined: 10/05/2010
Juice: 12
USPS shipping labels

Hello All,
There is an API from USPS to print shipping labels. I called their tech support tonight and the only issue I see is you would have to pay the postage at your local post office. The API does not support payment and there is no plan to do so.
My hope is someone with more knowledge than myself can write the shipping label option for ubercart.

Edit
After thinking about this overnight if one could setup a shipping link that pulled in the USPS "Click & Ship" web page from USPS and populate the shipping fields from the order, you could pay for the shipping and print the label.
Have a good day.