Showing results for 
Search instead for 
Did you mean: 

Magento 2 Purolator Integration

Magento 2 Purolator Integration

Hi there,


I'm currently working on a Magento 2 Purolator shipping module. Is there some documentation that is available to make my life simpler for integrating it? I know how Purolator makes their call to their API but I don't know about the different class for Magento 2 to call them, if that makes any sense.


Thanks in advance Smiley Happy




Re: Magento 2 Purolator Integration

Hi @Rennes007,


Maybe the official examples can help you:

If you've found one of my answers useful, please give "Kudos" or "Accept as Solution"

Re: Magento 2 Purolator Integration

Hi Damian,


That's great, but I was looking for something like, how to I call the (let's assume i'm using Purolator) the Purolator API and make a call via SOAP to get information back to magento?


Purolator has an example, like this:

function createPWSSOAPClient()
  /** Purpose : Creates a SOAP Client in Non-WSDL mode with the appropriate authentication and 
    *           header information
  //Set the parameters for the Non-WSDL mode SOAP communication with your Development/Production credentials
  $client = new SoapClient( "./wsdl/serviceavailabilityservice.wsdl", 
                            array	(
                                    'trace'			=>	true,
                                    'location'	=>	"",
                                    'uri'				=>	"",
                                    'login'			=>	PRODUCTION_KEY,
                                    'password'	=>	PRODUCTION_PASS
  //Define the SOAP Envelope Headers
  $headers[] = new SoapHeader ( '', 
                                array (
                                        'Version'           =>  '1.3',
                                        'Language'          =>  'en',
                                        'GroupID'           =>  'xxx',
                                        'RequestReference'  =>  'Rating Example'
  //Apply the SOAP Header to your client                            

  return $client;

It's based on some wsdl files that I have loaded.

Then, to get the result back, I have:

//Create a SOAP Client for Example 02
$client = createPWSSOAPClient();

//Populate the Origin Information
$request->Addresses->ShortAddress->City = "Burnaby";
$request->Addresses->ShortAddress->Province = "BC";
$request->Addresses->ShortAddress->Country = "CA";
$request->Addresses->ShortAddress->PostalCode = "V5E4H9";    

//Execute the request and capture the response
$response = $client->ValidateCityPostalCodeZip($request);

  * SOAP Request Envelope (Request sent to Web Service)
  * <?xml version="1.0" encoding="UTF-8"?>
  * <SOAP-ENV:Envelope xmlns:SOAP-ENV="" xmlns:ns1=""><SOAP-ENV:Header><ns1:RequestContext><ns1:Version>1.0</ns1:Version><ns1:Language>en</ns1:Language><ns1:GroupID>xxx</ns1:GroupID><ns1:RequestReference>Rating Example</ns1:RequestReference></ns1:RequestContext></SOAP-ENV:Header><SOAP-ENV:Body><ns1:ValidateCityPostalCodeZipRequest><ns1:Addresses><ns1:ShortAddress><ns1:City>Burnaby</ns1:City><ns1:Province>BC</ns1:Province><ns1:Country>CA</ns1:Country><ns1:PostalCode>V5E4H9</ns1:PostalCode></ns1:ShortAddress></ns1:Addresses></ns1:ValidateCityPostalCodeZipRequest></SOAP-ENV:Body></SOAP-ENV:Envelope>
  * SOAP Response Envelope (Request Returned from the Web Service)
  * <s:Envelope xmlns:s=""><s:Header><h:ResponseContext xmlns:h="" xmlns:i=""><h:ResponseReference>Rating Example</h:ResponseReference></h:ResponseContext></s:Header><s:Body><ValidateCityPostalCodeZipResponse xmlns="" xmlns:i=""><ResponseInformation><Errors/><InformationalMessages i:nil="true"/></ResponseInformation><SuggestedAddresses><SuggestedAddress><Address><City>Burnaby</City><Province>BC</Province><Country>CA</Country><PostalCode>V5E4H9</PostalCode></Address><ResponseInformation><Errors/><InformationalMessages i:nil="true"/></ResponseInformation></SuggestedAddress></SuggestedAddresses></ValidateCityPostalCodeZipResponse></s:Body></s:Envelope>
//Display the services and associated rules for this shipment

Thanks for helping Smiley Happy

Re: Magento 2 Purolator Integration

I am also trying exactly this. Is there any progress at your end? If yes can you please share how you made it work?