Introduction

Saddle is a logistics management platform that manages delivery transactions and provides industry solutions for multiple e-commerce sites. Saddle logistics helps in delivery tracking, also provides pick up and drop off tools, back-end tools for dispatch monitoring and reconciliations.

This document serves to guide a user new to saddle on how to set up accounts, users, manage deliveries and other admin functions.

Logistics companies are set up on Saddle and Saddle serves as the system they use to manage their orders, assign deliveries and receive updates.


Saddle Process Flow

1.   A merchant (an e-commerce website owner) receives an API to integrate Saddle into their website.

2.   Once integration is done, the e-commerce site becomes one of the eligible sites using the Saddle logistics management visible by logistics companies.

3.   When an order is made on the e-commerce site, the transaction is sent and logged in Saddle where it becomes available for pick-up and delivery.

4.   For delivery, we will provide your dispatch agents with the saddle mobile application.

5.   Payment will then be logged into the account of the merchant with proper reconciliation and settlement process in place.


Integration of a Courier Delivery Service

1.   Order Fulfilment: The merchant’s e-commerce website feeds into saddle and the logistics company will be able to see orders that are ready to be picked up.

2.   Logistic Management: This solution will significantly organize the current e-commerce delivery process by assigning pick-ups to drivers within a certain geographical location.

3.   mPOS integration: The mPOS allows the customer the ability to pay on delivery. By integrating mPOS with Saddle, it creates a real time payment notification.

4.   Efficiency: The back end of the app allows the logistics company to view delivery progression in real time. The customer is also able to view real time delivery progression.

5.   Authorization of funds preauthorized on an ecommerce website: Saddle allows logistics companies deliver for ecommerce clients who have the debit on delivery payment feature on their website. The customer inputs the last four digits of his card on the app to authorize funds release.


Saddle Pre-Integration Checklist

  • Item Weight :  Products must have weight(kg) for seamless order process.
  • Location :  Customers website must have States and Local goverment area in Nigeria for pickup & delivery
  • Merchant Information : 
    • Merchant Name
    • Merchant Email Address
    • Merchant Website
    • Merchant Address
    • Merchant Contact Number
    • Bank Nanme
    • Account Number
    • Account Name
  • Rate Comparison :  This would enable merchant have an insight on rates on saddle and compare to be able to choose 3/4 courier company they would like to work with. A pricing table would be sent.
  • FrameWork :  The framework in which the site was build on. Wordpress, Opencart, Magento 1/2 and custom-built site.
  • Saddle Sign-Up :  Information provided would be used to set up Merchant on Saddle so as to generate token which would be needed for a successful integration.

Saddle Integration

Saddle can be integrated via saddle plugin across different platform not limited to Wordpress, Magento 1 & 2, Open Cart and Custom Built Websites.


Actual Integration

The Saddle API endpoints are secured with Bearer /Token Authentication. Each merchant interested in integrating with Saddle needs an account. The username and password of the account is used to request for a token. This token will be used for subsequent API calls.

For every API call, the URL is https://www.saddleng.com/api, an authorization header must be sent alongside the request e.g


Authorization: Bearer <token>

1. Request for a Token

Method : POST

Test API Endpoint : http://staging.saddleng.com/api/token

Live API Endpoint : https://www.saddleng.com/api/token

Body : (Send as json data)

PARAMETER TYPE DESCRIPTION STATUS
Login String The username or email address of the user Required*
Passowrd String The user's password Required*

2. Create Delivery

Method : POST

Test API Endpoint : http://staging.saddleng.com/api/v2/delivery

Live API Endpoint : https://www.saddleng.com/api/v2/delivery

Headers Param : Authorization: Beaer <token>

Body : (Send as json data)

PARAMETER TYPE DESCRIPTION STATUS
Order_id String The unique field that identifies the transaction on your system Required*
Item_cost String The cost of the item Required*
Courier_id String The ID of your chosen courier Required*
Pickup_handling String Mercht-loc: items will be picked up from the merchant. Required*
Delivery_handling String to_customer: this indicates that the item(s) will be delivered to the customer provided delivery address. Required*
merchant_contactname String Name of the person to pickup item from Required*
merchant_address String Address of pickup location Required*
merchant_email String Email address of the person to be contacted during pickup/td> Required*
country String Country to pickup item Required*
merchant_state String State of the contact person Required*
merchant_lga String LGA is where the pickup address is located e.g Lagos Island Required*
merchant_phone String Phone number of the contact person sending the goods Required*
customer_name String Name of the person to recieve the goods Required*
customer_address String Address of drop off location Required*
country String Country to drop goods Require*
customer_state String State of the contact person to recieve the goods Required*
customer_lga String LGA is where the pickup address is located e.g Lagos Island Required*
customer_phone String Phone number of the contact person to recieve the goods Required*
customer_email String Email of the person to recieve the goods Required*
Item_name String Name of the goods Required*
Item_size String Size of the goods Should not be an empty string or NULL but can be 0
Item_color String Color of the goods Should not be an empty string but can be 0 or NULL
Item_quantity String Quantity of goods Required*
Item_weight String Image URL of the goods Required*
Item_location String Image URL of the goods Required*
Fragile 1 or 0 1 -> Fragile, 0 -> Not Fragile Optional
Perishable 1 or 0 1 -> Perishable, 0 -> Not Perishable Optional
Status 0 Status is 0 by default, which means pending Optional
POD 1 or 0 1 -> Paid on delivery, 0 -> Not paid on delivery Required
Delivery_cost String Cost of delivery Required
Pre_auth 1 or 0 1 -> Pre auth enabled, 0 -> Pre auth disabled Optional
            

For example:

"{"transaction":{"transaction_id":"Seller9748584","courier_id":"SAfceb761", "orders":{"items":[{ "item_cost":"100", "item_name":"Bag", "item_size":"0", "item_weight":"2", "item_color":"NULL", "item_quantity":5, "image_location":"NULL", "fragile":0, "perishable":0}]}, "pickup_handling":"mercht-loc", "delivery_handling":"to_customer", "pickup":{ "merchant_contactname":"Testing (Do not deliver)", "merchant_phone":"09033333333", "merchant_email":"test@netplus.com", "merchant_address":"1004 Estate Block B10", "merchant_lga":"Ikorodu", "merchant_state":"Lagos", "country":"Nigeria"}, "delivery":{ "customer_name":"Netplus test", "customer_email":"test@netpluspay.com", "customer_phone":"09099999999", "customer_address":"76 Silicon street", "customer_lga":"Ojo", "customer_state":"Lagos", "country":"Nigeria"}, "POD":0, "delivery_cost":1400, "payment_type":3, "pre_auth":0} }"


3. Shipping Price

Method : POST

Test API Endpoint : http://staging.saddleng.com/api/v2/shipping_price

Live API Endpoint : https://www.saddleng.com/api/v2/shipping_price

Headers Param: Authorizaion: Bearer <token>

Body : (Send as json data)

PARAMETER TYPE DESCRIPTION STATUS
Delivery_state String State goods will be delivered to Required*
Delivery_lga String State LGA goods will be delivered to Required*
Pickup_state String State goods will be pickedup from Required*
Pickup_lga String State LGA goods will be picked up from Required*
weight String Weight to the nearest kilogram (KG) Required*
Courier_id String Courier company ID Required*
            

For example:

"{"delivery_state": "Lagos", "delivery_lga": "yaba", "pickup_state": "Lagos","pickup_lga": "Victoria Island", "weight":"3", "courier_id":"SA493a731"}"


Authorization: Bearer <token>

5. Appendix

List of couriers and their code

ID COURIER NAME COURIER CODE
1 UPS SAf9fac5e
2 Courier Plus SA493a731
3 Skynet SAa28a764
4 EDCR Courier & Logistic ltd SAed7352a
5 MOVEET SA98bbd50
6 Deliveryman NG SA55174e1

Plugins

Saddle can be integrated via saddle plugin across different platform not limited to Wordpress, Magento 1 & 2 and Open Cart


Wordpress

Getting Started With Saddle WooCoomerce Plugin

Saddle can be integration on any WordPress/WooCommerce website. You can download the WooCommerce Plugin by clicking on the download button below.

Installation Guide

NB: All products must have weight else the default weight for each product is 1

1.  Copy the file downloaded and paste it inside the wordpress project as shown below:


yourprojectfolder -> wp-content -> plugins -> paste the saddle woocommerce here




2.  Go to the admin of your wordpress website as shown below:

Click on WooCommerce -> Settings




3.  Clink on General

Make sure you enter a valid Country and State as shown in the image below. Then save changes




3.  Click on Shipping -> Saddle




4.   Check the Enable Saddle Pricing box to activate saddle and fill in other informations.

TITLE DESCRIPTION STATUS
Enable Saddle Pricing You can enble saddle on wordpress by checking the box Required*
Saddle API Token The API Token will be generated once your account has being create and will be given to you. Copy and paste the API Token into the field. Required*
Environment You can choose between Live and Test Environment.
NB: Use the Test Environment for testing before considering changing to Live Environment
Required*
Pickup Type You can choose between Merchant Location and Courier Location. Required*
Pickup Address Merchant address Required*
Pickup Contact Name Merchant name. Required*
Pickup Contact Number Merchant number. Required*
Pickup Email Merchant email address. Required*



5.  You can set pickup location for all couriers




Magento 1

Getting Started With Saddle Magento 1 Plugin

Saddle can be integration on any Magento 1 website. You can download the Magento 1 Plugin by clicking on the download button below.

Installation Guide

NB: All products must have weight

Copy files from the downloaded file to their respective magento folder as shown below:


1.  Copy the Netplus folder from

magento-saddle -> app -> code -> community -> Netplus

paste the copiedNetplus folder into

Your project folder -> app -> code -> community -> paste the folder here



2.  Copy Netplus_Saddle.xml from

magento-saddle -> app -> etc -> modules -> Netplus_Saddle.xml

paste the copiedNetplus_Saddle.xml into

Your project folder -> app -> etc -> modules -> paste the file here



3.  Copy Saddle.xml from

magento-saddle -> app -> design -> frontend -> base -> default -> layout -> Saddle.xml

paste the copiedSaddle.xml into

Your project folder -> app -> design -> frontend -> base -> default -> layout -> paste the file here



4.  Copy Saddle folder from

magento-saddle -> app -> design -> frontend -> rwd -> default -> template -> saddle

paste the copiedfolder into

Your project folder -> app -> design -> frontend -> (rwd or your custom theme folder) -> default -> template -> paste the folder here



5.  Copy Saddle file from

magento-saddle -> app -> design -> adminhtml -> default -> default -> layout

paste the copiedfile into

Your project folder -> app -> design -> adminhtml -> default -> default -> layout -> paste the file here



6.  Copy Saddle folder from

magento-saddle -> js

paste the copiedfolder into

Your project folder -> js ->paste the file here



7.  Copy Saddle logo from

magento-saddle -> sking -> frontend -> base -> default -> image

paste the copiedlogo into

Your project folder -> sking -> frontend -> base -> default -> image -> paste the logo here



8.  Log in as admin and refresh the cache.

9.  Click System -> Cache Management



NB: Log off and log in back, this prevents 404 error for the module configuration


10.  Click on System -> Configuration



11.  Then click on Shipping Methods

TITLE DESCRIPTION STATUS
Use Saddle Shipping Rates You can enble saddle on Magento 1 by selecting yes/td> Required*
Saddle API Token The API Token will be generated once your account has being create and will be given to you. Copy and paste the API Token into the field. Required*
Production Select No while running a test. Select YES when you are ready to go live
NB: Use the Test Environment for testing before considering changing to Live Environment
Required*
Pickup Type You can choose between Merchant Location and Courier Location. Required*
Pickup Address Merchant address Required*
Pickup Contact Name Merchant name. Required*
Pickup Number Merchant number. Required*
Pickup Email Merchant email address. Required*
For selected countries only Should be Specific countries Required*
Specific countries Only Nigeria should be selected Required*
List of couriers Set the Pickup State and Lga for the 4 couriers. Leave the other couriers with their default value. Required*

Input all your shipping details and choose only 4 couriers. You can do this by setting the pickup state and lga of the choosen courier





Magento 2

Getting Started With Saddle Magento 2 Plugin

Saddle can be integration on any Magento 2 website. You can download the Magento 2 Plugin by clicking on the download button below.

Installation Guide

NB: All products must have weight

Copy files from the downloaded file to their respective magento folder as shown below:



1.  Copy the Netplus folder from

magento2-saddle -> app -> code -> Netplus

paste the copiedNetplus folder into

Your project folder -> app -> code -> paste the folder here


2.  Run the following commands:

php bin/magento setup:upgrade

php bin/magento setup:di:compile

php bin/magento setup:static-content:deloy -f

php bin/magento indexer:reindex

php bin/magento cache:clean

php bin/magento cache:flush

3.  Login into your admin dashboard

Click -> Stores -> Configuration



Click -> Netplus -> Shipment Configuration



NB: Make sure you fill in all fields. You can request for an API TOKEN

Click -> Sales -> Shipment Method



NB: For each Couriers listed, add their pickup state and lga. (Very important. Add at least one. You can only add a maximum of 4)

4.  Check your store if you can see the saddle shipping fees as shown below:



Once you see the shipping fees that means you have successfully integrated saddle into your Magento 2 store.





Open Cart

Getting Started With Saddle Opencart Plugin

Saddle can be integration on any Opencart website. You can download the Opencart Plugin by clicking on the download button below.

Installation Guide

NB: All products must have weight

1.  Copy files from the downloaded folder to their respective folders in your opencart installation directory

The folder structure will be the same, so simply locate the same path in your opencart directory

2.  Enable the shipping method

Login to Admin -> Extensions -> Extensions -> Under Choose Extensions Type, Select Shipping





You will find Saddle Shipping in the list

3.  Click on install



4.  After installing click on the edit button



5.  Fill the form and the click on the save button at the top right



6.  It will redirect you back to the previous page. Click on the edit button again



7.  Scroll to the bottom of the page you will see the list of couriers available.

Set the STATE and LGA for the courier service you would like to use.



Click on save button at the top right

You have successfully integrated saddle into your store

7.  Go to your store to check.