Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

[contribution] Tracking Module


chris23

Recommended Posts

A bug has come to light where errors are generated when an update email is sent.

I have uploaded a modified tracking_module.php class file to the contrib area (http://addons.oscommerce.com/info/5535)

Just upload this file, overwriting catalog/includes/classes/tracking_module.php.

Apologies to those users who were suffering from this bug :blush:

 

Chris

 

I know that you (the OP) is not interested in actually making the modules yourself, however do you have any knowledge of someone adding a UPS or USPS module to this contribution.. Those are the two shippers that i use and NEITHER of them are on there.

A great place for newbies to start

Road Map to oscommerce File Structure

DO NOT PM ME FOR HELP. My time is valuable, unless i ask you to PM me, please dont. You will get better help if you post publicly. I am not as good at this as you think anyways!

 

HOWEVER, you can visit my blog (go to my profile to see it) and post a question there, i will find time to get back and answer you

 

Proud Memeber of the CODE BREAKERS CLUB!!

Link to comment
Share on other sites

  • Replies 296
  • Created
  • Last Reply

Top Posters In This Topic

Well I've spent all day going though the sample code on this contrib and after checking out the couriers websites for tracking, it became too scarey, nothing seemd to work for me.

 

So as I've now given up trying to make a module for DHL and EMS couriers, has anyone else alreadsy completed and prepared to share info?

 

Did you get the call back url for dhl? if so can you send me it please?

 

Regards

Shaun

Link to comment
Share on other sites

I know that you (the OP) is not interested in actually making the modules.

 

Hi Lindsay,

 

I find myself explaining my position on module writing quite regularly. When I wrote the tracking module, I didn't explain myself too well.

 

The original idea was to provide a framework for other osc devs to write tracking modules for their clients (with the hope they'd get donated back to the community).

 

An analogy is the core payment or shipping module framework; the osc core developers wrote the framework for other devs / users to support a multitude of payment gateways / shipping companies. They certainly don't write all the payment modules themselves!

 

I had a number of clients wanting to track UK based couriers so I wrote the framework to make my life easier. I then uploaded it as a contrib in the hope it might be useful.

 

As I get new clients requesting courier support, I upload any module I finish.

 

I was hoping that there would be more interest in the big couriers (DHL, UPS & USPS) from other devs.

 

As I stated, I don't have the time to write all the modules I get asked about but I do:

- assist in finishing off a module*

- assist the module writer when they get stuck.

 

* A lot of the module writing can be done easily without much coding knowledge - finding the tracking url, determining the formats of valid tracking ids, making the tracking logo etc.

 

I am happy, as time permits, to help with the actual screen grab code. However, to do this I need the tracking urls and some valid tracking IDs to work with (I don't have accounts with the couriers!)

 

If someone really wants a module and can't do any of it, PM me and I'll do it on a client basis.

 

Hope this clears my position up.

 

Chris

Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Link to comment
Share on other sites

Hi Lindsay,

 

I find myself explaining my position on module writing quite regularly. When I wrote the tracking module, I didn't explain myself too well.

 

The original idea was to provide a framework for other osc devs to write tracking modules for their clients (with the hope they'd get donated back to the community).

 

An analogy is the core payment or shipping module framework; the osc core developers wrote the framework for other devs / users to support a multitude of payment gateways / shipping companies. They certainly don't write all the payment modules themselves!

 

I had a number of clients wanting to track UK based couriers so I wrote the framework to make my life easier. I then uploaded it as a contrib in the hope it might be useful.

 

As I get new clients requesting courier support, I upload any module I finish.

 

I was hoping that there would be more interest in the big couriers (DHL, UPS & USPS) from other devs.

 

As I stated, I don't have the time to write all the modules I get asked about but I do:

- assist in finishing off a module*

- assist the module writer when they get stuck.

 

* A lot of the module writing can be done easily without much coding knowledge - finding the tracking url, determining the formats of valid tracking ids, making the tracking logo etc.

 

I am happy, as time permits, to help with the actual screen grab code. However, to do this I need the tracking urls and some valid tracking IDs to work with (I don't have accounts with the couriers!)

 

If someone really wants a module and can't do any of it, PM me and I'll do it on a client basis.

 

Hope this clears my position up.

 

Chris

 

Hi Chris

 

First thanks for the contribution. I have used your advises and developed a courier module for South AFrican Post Office. Everythng is okay, t sends the nemail with trackin number that works when clcked.

 

The problem is within the Store, when I click it gives me this;

 

Date Added Customer Notified Status Comments Tracking ID

[Click ID to view status] Courier

06/20/2008 20:46:19 Pending No tracking ID applicable

06/20/2008 20:51:03 Processing PE480702448

 

 

 

[x] Close

 

 

I tried the solution you suggested on the prevoous posts, but t ddnt work. When I try to track get (X) Close instead of the status.

 

Can you help if possible.

Link to comment
Share on other sites

06/20/2008 20:51:03 Processing PE480702448

[x] Close

I tried the solution you suggested on the prevoous posts, but t ddnt work. When I try to track get (X) Close instead of the status.

Can you help if possible.

 

No problem - if you PM for my email address, you can send your module over for me to look over.

 

HTH

 

Chris

Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Link to comment
Share on other sites

Does anyone know how to make the royal mail url and tracking number clicky in the email?

 

 

Set "Send HTML emails" to false

Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Link to comment
Share on other sites

Hello I've just installed the Tracking for Royal Mail, it seems to work, but I can't get it to accept a RM tracking ref I get the following error when I try and update the customers order:

 

The Royal Mail Track & Trace™ ID you have supplied is not valid. Please check and try again. The required format is 2 letters, 9 digits, then GB eg AB123456789GB. Do not use spaces.

Warning: Nothing to change. The order was not updated.

 

Any ideas??

 

Thanks for any help.

 

Regards

 

 

Jeremy at theisherwoods dot com

Thanks for looking and any help you can offer.

 

Jeremy Isherwood

Link to comment
Share on other sites

No problem - if you PM for my email address, you can send your module over for me to look over.

 

HTH

 

Chris

 

Hi Chris

 

Dd you get my emal with the module?

 

Thanks for agreen to help.

 

Regards

Link to comment
Share on other sites

Hello I've just installed the Tracking for Royal Mail, it seems to work, but I can't get it to accept a RM tracking ref I get the following error when I try and update the customers order:

The Royal Mail Track & Trace™ ID you have supplied is not valid. Please check and try again. The required format is 2 letters, 9 digits, then GB eg AB123456789GB. Do not use spaces.

Warning: Nothing to change. The order was not updated.

 

Jeremy,

 

Can you let me see the tracking ID that's causing this error?

 

Thanks,

 

Chris

Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Link to comment
Share on other sites

CityLink v 1.2

----------------

New version of CityLink module uploaded to provide support for Target Express tracking IDs (Target Express taken over by CityLink. Although tracking IDs are the same, the returned data are different).

 

Easy upgrade from v 1.1

Edited by chris23

Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Link to comment
Share on other sites

Jeremy,

 

Can you let me see the tracking ID that's causing this error?

 

Thanks,

 

Chris

 

 

Sure

ZI114901342GB

also your example also gives the same error.

 

I have just reinstalled the entire shop with the latest version of OS and reinstalled your latest modules and I'm still getting the same error.

 

Any help as always...

Thanks for looking and any help you can offer.

 

Jeremy Isherwood

Link to comment
Share on other sites

Sure

ZI114901342GB

also your example also gives the same error.

 

I have just reinstalled the entire shop with the latest version of OS and reinstalled your latest modules and I'm still getting the same error.

 

Any help as always...

 

Jeremy,

 

When you say latest modules, have you installed modules other than Royal Mail? If you have, do these fail?

If you haven't tried another, can you install CityLink and see if it works? This way I can narrow see if this is a problem with the framework (or its installation), rather than a specific module.

 

BTW - do you know your PHP and MySQL versions?

 

Rgds,

 

Chris

Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Link to comment
Share on other sites

Server OS: Linux 2.6.24.7-grsec Database: MySQL 5.0.51a-community

Server Date: 07/10/2008 13:23:58 Datebase Date: 07/10/2008 13:23:58

Server Up Time: 13:23:58 up 28 days, 21:25, 1 user, load average: 0.76, 0.97, 0.94

HTTP Server: Apache/1.3.41 (Unix) mod_log_bytes/1.2 mod_bwlimited/1.4 mod_auth_passthrough/1.8 FrontPage/5.0.2.2635 mod_ssl/2.8.31 OpenSSL/0.9.7a

PHP Version: 5.2.6 (Zend: 2.2.0)

 

Just installed the City link and get the same error; I used the code ABC12345

 

Warning The Initial Citylink ID you have supplied is not valid. Please check and try again. The required format is 2 letters, 6 digits eg AB123456 or 3 letters, 5 digits eg ABC12345. Do not use spaces.

Warning Warning: Nothing to change. The order was not updated.

Thanks for looking and any help you can offer.

 

Jeremy Isherwood

Link to comment
Share on other sites

PHP Version: 5.2.6 (Zend: 2.2.0)

 

Jeremy,

 

As you're using PHP5, do you have register_long_arrays enabled either in php.ini or in a .htaccess file in your root directory?

 

Chris

Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Link to comment
Share on other sites

Jeremy,

 

As you're using PHP5, do you have register_long_arrays enabled either in php.ini or in a .htaccess file in your root directory?

 

Chris

 

Don't know about the php.ini

 

what's the text for the .htaccess?

 

I have tried php_value register_long_arrays and that give me a 500 error and stops the site from working.

 

Thanks

Edited by jeremyisherwood

Thanks for looking and any help you can offer.

 

Jeremy Isherwood

Link to comment
Share on other sites

what's the text for the .htaccess?

 

I have tried php_value register_long_arrays and that give me a 500 error and stops the site from working.

 

 

Jeremy,

 

From memory it's

 

php_value register_long_arrays 1

 

You need this on for PHP5 otherwise $HTTP_GET_VARS and $HTTP_POST_VARS will be unavailable to osC. Having this off will cause the behaviour you describe and other weirdness - are you having issues in admin editing orders, customers etc?

Edited by chris23

Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Link to comment
Share on other sites

Sorry that wont work. I used;

 

# $Id: .htaccess 1739 2007-12-20 00:52:16Z hpdl $

#

# This is used with Apache WebServers

#

# For this to work, you must include the parameter 'Options' to

# the AllowOverride configuration

#

# Example:

#

# <Directory "/usr/local/apache/htdocs">

# AllowOverride Options

#</Directory>

#

# 'All' with also work. (This configuration is in the

# apache/conf/httpd.conf file)

 

# The following makes adjustments to the SSL protocol for Internet

# Explorer browsers

 

#<IfModule mod_setenvif.c>

# <IfDefine SSL>

# SetEnvIf User-Agent ".*MSIE.*" \

# nokeepalive ssl-unclean-shutdown \

# downgrade-1.0 force-response-1.0

# </IfDefine>

#</IfModule>

 

# If Search Engine Friendly URLs do not work, try enabling the

# following Apache configuration parameter

 

# AcceptPathInfo On

 

# Fix certain PHP values

# (commented out by default to prevent errors occuring on certain

# servers)

 

#php_value session.use_trans_sid 0

# php_value register_globals 1

php_value register_long_arrays 1

Thanks for looking and any help you can offer.

 

Jeremy Isherwood

Link to comment
Share on other sites

Sorry that wont work. I used;

 

# $Id: .htaccess 1739 2007-12-20 00:52:16Z hpdl $

#

# This is used with Apache WebServers

#

# For this to work, you must include the parameter 'Options' to

# the AllowOverride configuration

#

# Example:

#

# <Directory "/usr/local/apache/htdocs">

# AllowOverride Options

#</Directory>

#

# 'All' with also work. (This configuration is in the

# apache/conf/httpd.conf file)

 

# The following makes adjustments to the SSL protocol for Internet

# Explorer browsers

 

#<IfModule mod_setenvif.c>

# <IfDefine SSL>

# SetEnvIf User-Agent ".*MSIE.*" \

# nokeepalive ssl-unclean-shutdown \

# downgrade-1.0 force-response-1.0

# </IfDefine>

#</IfModule>

 

# If Search Engine Friendly URLs do not work, try enabling the

# following Apache configuration parameter

 

# AcceptPathInfo On

 

# Fix certain PHP values

# (commented out by default to prevent errors occuring on certain

# servers)

 

#php_value session.use_trans_sid 0

# php_value register_globals 1

php_value register_long_arrays 1

 

Jeremy,

 

If you are running PHP as an Apache module, Apache must be configued in httpd.conf to allow overrides (see notes above)

If you're running PHP as CGI (phpsuexec), then you can't use .htaccess for php_flags/values but need a custom php.ini in your root directory instead (does the same job)

If you look under Admin -> Tools - > Server Info, what do you have for "Server API" (near the top)?

 

Chris

Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Link to comment
Share on other sites

Looks like it's CGI.

 

What would the php.ini read like?

 

BTW, what's the best module to install to take cards in the UK?

Edited by jeremyisherwood

Thanks for looking and any help you can offer.

 

Jeremy Isherwood

Link to comment
Share on other sites

Looks like it's CGI.

 

What would the php.ini read like?

 

BTW, what's the best module to install to take cards in the UK?

 

Firstly, you can see if register_long_arrays is enabled in Admin -> Tools - > Server Info. Pls check this first.

 

Secondly, I don't use PHPsuexec but:

 

  1. If a server's default php.ini settings need to be overridden, then each folder that contains any PHP scripts must contain a custom php.ini file, which is used to override the server's php.ini settings.
  2. Directories can't have more than 755 permissions
  3. Files can't have more than 644 permissions

 

The entry for register_long_arrays in a sample, custom php.ini:

 

register_long_arrays = On

 

I'd strongly recommend either a forum search on phpsuexec or a google search on oscommerce phpsuexec to check for other issues you may encounter. You'll probably get answers from people with more PHP/CGI experience.

 

You'll certainly need different directory permissions to those stated in the osc documentation.

 

Your hosting providers help system should also offer phpsuexec advice specific to your hosting environment.

BTW, what's the best module to install to take cards in the UK?

 

Very subjective question - I've always used Protx Direct v2.2. Never had a problem with the module which is well written and supported. I have integrated it with Streamline, Barclays and HSBC (3DSecure enabled on all).

 

You'll got lots of different answers depending on who you ask.

 

HTH

 

Chris

Please use forum for support rather than PM - PMs unrelated to my contributions will be ignored.

Google Site Search is your friend

My contributions: Tracking Module | PDF Customer Invoice | Subcategory textboxes

Link to comment
Share on other sites

Thanks for the info on Protx, but this is a payment processing company. I just want to use my own PDQ machine and manually put the payment through, I only take about 10 payments a week.

 

With regard to your tracking module, just can't seem to get it to work. what directory would you suggest to put the .ini file? As from what I read it has to go in the directory with the module??

 

Thanks

Thanks for looking and any help you can offer.

 

Jeremy Isherwood

Link to comment
Share on other sites

Hi Chris,

 

at first, I would like to thank your for your great tracking module. I use this contribute with swiss post and it works fine. :rolleyes:

 

Now I would like to write a courier-module with my logistic partner DHL. I followed your instructions to make an own courier module, but there was lots of ambiguity: I've cannot seen any tracking informations. I'm not shure, which parameters are necessary. Should DHL give me the parameter information?

 

Would you care to work on a dhl shipping version? I'm fully at your disposal and give any DHL parameters if you need.

 

thanks

 

mattis

Link to comment
Share on other sites

now my curl code, which doesn't work:

 

 

-----------------------------------------------------------------------------------------------------

 

 

$ch = curl_init();

// Login

curl_setopt($ch, CURLOPT_URL, "https://nolb.dhl.de/nextt-online-business/jsp/loginCheckAction.do");

curl_setopt($ch, CURLOPT_FAILONERROR, 1);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

curl_setopt($ch, CURLOPT_TIMEOUT, 6);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_COOKIEJAR, DIR_FS_CATALOG . 'tmp/' . $cookie_name);

curl_setopt($ch, CURLOPT_COOKIEFILE, DIR_FS_CATALOG . 'tmp/' . $cookie_name);

curl_setopt($ch, CURLOPT_USERAGENT, $agent);

curl_setopt($ch, CURLOPT_URL, "https://nolb.dhl.de/nolb-easylog/directsst.do?");

curl_setopt($ch, CURLOPT_REFERER, "https://nolb.dhl.de/nextt-online-business/jsp/login.do");

curl_setopt($ch, CURLOPT_POSTFIELDS, "v_benutzer=XXXXXXXX&v_passwort=XXXXXXX&v_spr=deu");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$data = curl_exec($ch);

if ($error = curl_errno($ch)) {

if ($error == 7) {

die(TRACKING_CURL_SERVER_ERROR);

}

if ($error == 6) {

die(TRACKING_CURL_NO_ACTIVE_INTERNET);

}

}

curl_close($ch);

 

 

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://nolb.dhl.de/nextt-online-business/jsp/nol/piece/pieceSearchCheckAction.do');

curl_setopt($ch, CURLOPT_FAILONERROR, 1);

curl_setopt($ch, CURLOPT_TIMEOUT, 6);

curl_setopt($ch, CURLOPT_COOKIEJAR, DIR_FS_CATALOG . 'tmp/' . $cookie_name);

curl_setopt($ch, CURLOPT_COOKIEFILE, DIR_FS_CATALOG . 'tmp/' . $cookie_name);

curl_setopt($ch, CURLOPT_USERAGENT, $agent);

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_HEADER, true);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_REFERER, 'https://nolb.dhl.de/nextt-online-business/jsp/nol/piece/pieceDetails.do');

curl_setopt($ch, CURLOPT_POSTFIELDS, 'shipmentCode=XXXXXXXXXXXXXXXX&search_ta=   Start     ');

curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

$grab_data = curl_exec($ch);

if ($error = curl_errno($ch)) {

if ($error == 7) {

die(TRACKING_CURL_SERVER_ERROR);

}

if ($error == 6) {

die(TRACKING_CURL_NO_ACTIVE_INTERNET);

}

}

curl_close($ch);

 

 

-----------------------------------------------------------------------------------------------------

 

Important: To use the DHL enquiry, you must have a DHL account. XXXXXX = user account.

 

Are you an idea, how it could work ?

 

thanks

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...