Commerce Canada Post

I built and maintain a module for Drupal Commerce 1.x that fetches shipping quotes from Canada Post. It is published on drupal.org.

Branch 1.x of the module uses the Canada Post SellOnline API (currently in the process of being retired) and branch 2.x takes advantage of the newer Canada Post Web Services API.

Publishing the module on drupal.org required going through their project application process, which included automated and peer review before being approved.

Features

  • builds XML formatted (to Canada Post specifications) rate request from data supplied by Drupal Commerce
  • parses response from Canada Post API and returns to Drupal Commerce
  • option to use drupal_http_request() or curl to retrieve rates
  • multilingual support
  • multiple packaging methods:
    • standard (by weight only)
    • volumetric weight
    • hooks available to add custom methods
  • options to display delivery date / package count
  • options for rate markup:
    • by flat amount
    • by a percentage
    • by an amount per package
  • upgrade path from older versions of the module using hook_module_update()

Technologies Used

  • CSS
  • Drupal 7
  • HTML
  • Javascript (jQuery)
  • PHP
  • SQL
  • XML