PHPackages                             thelia/canada-post-module - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. thelia/canada-post-module

ActiveThelia-module

thelia/canada-post-module
=========================

v1.0(11y ago)031LGPL-3.0+PHP

Since Apr 8Pushed 11y ago5 watchersCompare

[ Source](https://github.com/thelia-modules/CanadaPost)[ Packagist](https://packagist.org/packages/thelia/canada-post-module)[ RSS](/packages/thelia-canada-post-module/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (0)

Canada Post
===========

[](#canada-post)

Delivery module for [Canada Post](http://www.canadapost.ca)

The module is compatible with Thelia 2.1 and greater. You can use this module if you shipped your parcel from Canada.
You should have an account on Canada Post and register to the Developper Program to get your API keys.

For now, the module is not fully complete and only the Rating web service is integrated. It allows you to display a list of possible Canada Post service that a customer can select if the destination is available. The shipping costs is automatically retrieve from the Canada Post API.

Installation
------------

[](#installation)

### Manually

[](#manually)

- Copy the module into `/local/modules/` directory and be sure that the name of the module is CanadaPost.
- Activate it in your thelia administration panel

### Composer

[](#composer)

Add it in your main thelia composer.json file

```
composer require thelia/canada-post-module:~1.0

```

Configuration
-------------

[](#configuration)

You need to configure the module. There is a dedicated page for the configuration that you can display from the main modules page in the back office.

You should register on the Canada Post website to get your credentials to access the Canada Post API :

Once you have received yous parameters, you can fill up the configuration form. A form is available to test your configuration.

You should also configure the shipping zones that the module could handled. The link to this page is also on the modules page.

Finally, you have to get the list of the services available from Canada Post and select which one is available on your website. The page is accessible from the configuration page of the module. On the configuration page of the services, you have to first get the list of services from Canada Post. A button at the top right of the page will import this list. Once the list is imported, you can customize the title of the service and select if it will be available for the customer with the visible attribute.

Loop
----

[](#loop)

### canada-post-rate

[](#canada-post-rate)

This loop is used to get a list of all available services and rates for a specific destination.

#### Input arguments

[](#input-arguments)

ArgumentDescription**country**The country code. eg: fr, ca *required***postal\_code**the postal code of the destination. It's required for Canada and USA**weight**The weight in kg of the order. *required*#### Output arguments

[](#output-arguments)

VariableDescription$NAMEThe name of the service$CODEThe code of the service$PRICETotal cost of the shipment$TAXESTaxes charged for this shipment$TRANSIT\_TIMEThe number of days from drop-off or pickup to 1st delivery attempt.$DELIVERY\_DATEThe estimated date of delivery, starting from the expected mailing-date.### canada-post-service

[](#canada-post-service)

This loop is used to get a list of all available services. It doesn't directly talk to the Canada Post web service but use the list imported in the back office.

#### Input arguments

[](#input-arguments-1)

ArgumentDescriptionidThe id of the servicevisibleVisible service : **on**, **off** or **\***. default: **on**codeThe code of the servicetitleThe title of the serviceorderThe order : id, id-reverse, visible, visible-reverse, code, code-reverse, title, title-reverse, chapo, chapo-reverse#### Output arguments

[](#output-arguments-1)

VariableDescription$IDThe service id$VISIBLEThe service visibility$CODEThe service code$TITLEThe service name$CHAPOThe service summary### canada-post-order

[](#canada-post-order)

This loop is used to get the detail of the service used for an order.

#### Input arguments

[](#input-arguments-2)

ArgumentDescriptionidThe idaddress\_idThe id of the address. This can be used when the order is not placed (cart)order\_address\_idThe id of the order address. When the order is placedservice\_idThe id of the Canada Post service#### Output arguments

[](#output-arguments-2)

VariableDescription$IDThe id$ADDRESS\_IDThe address id of the customer (cart)$ORDER\_ADDRESS\_IDThe order address id of the customer (order)$SERVICE\_IDThe Canada Post service id

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community5

Small or concentrated contributor base

Maturity63

Established project with proven stability

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

4059d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/2196919?v=4)[thelia](/maintainers/thelia)[@thelia](https://github.com/thelia)

### Embed Badge

![Health badge](/badges/thelia-canada-post-module/health.svg)

```
[![Health](https://phpackages.com/badges/thelia-canada-post-module/health.svg)](https://phpackages.com/packages/thelia-canada-post-module)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
