Loading...
 
Skip to main content

History: Shipping

Source of version: 3 (current)

Copy to clipboard
A shipping API is available for developers. At this time, there is no integration with the ((cart)) or ((payment)) services.

!! From PHP

{CODE(caption=PHP Sample,colors=php)}
<?php

// Canadian zip code, country will be detected
$from = array( 'zip' => 'A1B 2C3' );

// US zip code, country not required, but specifying is better
$to = array( 'zip' => '12345', 'country' => 'US' );

// Multiple packages, unspecified count means 1
// Dimensions may be added in the future 
//    (length, width, height -- all in centimeter) 
//    to allow more accurate estimates
// Weight provided in kilograms
$packages = array(
    array( 'weight' => 3 ),
    array( 'weight' => 1, 'count' => 5 ),
);

global $shippinglib; require_once 'lib/shipping/shippinglib.php';

// Single call queries all configured APIs and list shipping options
$rates = $shippinglib->getRates( $from, $to, $packages );

var_dump($rates);
{CODE}

{CODE(caption=Sample output)}
array(3) {
  [0]=>
  array(4) {
    ["provider"]=>
    string(5) "FedEx"
    ["service"]=>
    string(18) "PRIORITY_OVERNIGHT"
    ["cost"]=>
    string(5) "49.40"
    ["currency"]=>
    string(3) "CAD"
  }
  [1]=>
  array(4) {
    ["provider"]=>
    string(5) "FedEx"
    ["service"]=>
    string(11) "FEDEX_2_DAY"
    ["cost"]=>
    string(5) "48.77"
    ["currency"]=>
    string(3) "CAD"
  }
  [2]=>
  array(4) {
    ["provider"]=>
    string(5) "FedEx"
    ["service"]=>
    string(12) "FEDEX_GROUND"
    ["cost"]=>
    string(5) "35.45"
    ["currency"]=>
    string(3) "CAD"
  }
}
{CODE}

!! From JavaScript
{CODE(caption=Javascript sample)}
$jq.getJSON( 'tiki-ajax_services.php', {
    listonly: 'shipping',
    'from[zip]': 'A1B 2C3',
    'to[zip]': '12345',
    'to[country]': 'US',
    'packages[0][weight]': 3,
    'packages[1][weight]': 1,
    'packages[1][count]': 5
}, function( data ) {
   // Called when results are received
   // data contains the list of rates, essentially the same format as in PHP
} );
{CODE}
Show PHP error messages