A shipping API is available for developers. At this time, there is no integration with the cart or payment services.
From PHP
PHP Sample
Copy to clipboard
<?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);
Sample output
Copy to clipboard
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"
}
}
From JavaScript
Javascript sample
Copy to clipboard
$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
} );
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}