TrackingMore API

Ruby Class Example 

  • The class of api
    //www.trackingmore.com/api-class_ruby.html

        Installation:
            1. Download this Class to desired location
            2. Fill in Trackingmore-Api-Key in this Class in line "protected $apiKey = 'YOUR API KEY';"
            3. Require this class in your project.


    List all supported couriers and corresponding courier code at TrackingMore.
    url="http://api.trackingmore.com/v2/carriers/"
    postData = ""
    tracker = Trackingmore.new()
    res = tracker.tracker(url,postData,"GET")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Detect a carrier by tracking code
    url="http://api.trackingmore.com/v2/carriers/detect"
    postData = {"tracking_number":"EA152563251CN"}
    tracker = Trackingmore.new()
    res = tracker.tracker(url,postData,"POST")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Get tracking results of multiple trackings.
    url="http://api.trackingmore.com/v2/trackings/get?page=1&limit=100&created_at_min=1521314361&created_at_max=1541314361&update_time_min=1521314361&update_time_max=1541314361&order_created_time_min=1521314361&order_created_time_max=1541314361&numbers=BYS006086078&orders=#123&lang=en"
    postData = ""
    tracker = Trackingmore.new()
    res = tracker.tracker(url,postData,"GET")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Create a tracking.
    url="http://api.trackingmore.com/v2/trackings/post"
    postData = {"tracking_number":"BYS006086078","carrier_code":"yanwen","title":"chase chen","customer_name":"chase","customer_email":"[email protected]","order_id":"#123","order_create_time":"1521314361","destination_code":"IL","tracking_ship_date":"1521314361","tracking_postal_code":"13ES20","lang":"en","logistics_channel":"4PX挂号小包"}
    tracker = Trackingmore.new()
    res = tracker.tracker(url,postData,"POST")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Create multiple trackings.
    url="http://api.trackingmore.com/v2/trackings/batch"
    postData = [
       {"tracking_number": "BYS006086087","carrier_code":"yanwen","title":"chase chen","customer_name":"chase","customer_email":"[email protected]","order_id":"#123","order_create_time":"2018-05-11 12:00","destination_code":"IL","tracking_ship_date":"1521314361","tracking_postal_code":"13ES20","lang":"en","logistics_channel":"4545454"},
       {"tracking_number": "BYS006086076","carrier_code":"yanwen","title":"chase chen","customer_name":"chase","customer_email":"[email protected]","order_id":"#123","order_create_time":"2018-05-10 12:00","destination_code":"IL","tracking_ship_date":"1521314361","tracking_postal_code":"13ES20","lang":"en","logistics_channel":"4PX挂号小包"}
    ]
    tracker = Trackingmore.new()
    res = tracker.tracker(url,postData,"POST")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Get tracking results of a single tracking.
    url="http://api.trackingmore.com/v2/trackings/yanwen/RX478151565DE"
    postData =""
    tracker  = Trackingmore.new()
    res      = tracker.tracker(url,postData,"GET")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Modify order id, order title, shipment status and other additional fields of a single tracking.
    url="http://api.trackingmore.com/v2/trackings/yanwen/BYS006086079"
    postData = {"title":"ruby test","customer_name":"test","customer_email":"[email protected]","order_id":"#1234567","logistics_channel":"4PX挂号小包"}
    tracker = Trackingmore.new()
    res = tracker.tracker(url,postData,"PUT")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Delete a tracking.
    url="http://api.trackingmore.com/v2/trackings/yanwen/RX478151548DE"
    postData =""
    tracker  = Trackingmore.new()
    res      = tracker.tracker(url,postData,"DELETE")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Get realtime tracking results of a single tracking.
    url="http://api.trackingmore.com/v2/trackings/realtime"
    postData = {"tracking_number": "RO454978691CN","carrier_code":"china-post","destination_code": "United States","tracking_ship_date":"deutsch-post","tracking_postal_code":"postnl-3s","specialNumberDestination":"postnl-3s","order":"#123123","order_create_time":"1521314361","lang":"en"}
    tracker = Trackingmore.new()
    res = tracker.tracker(url,postData,"POST")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Delete multiple trackings.
    url="http://api.trackingmore.com/v2/trackings/delete"
    postData = [{"tracking_number":"BYS006086077","carrier_code":"yanwen"},{"tracking_number":"BYS006086088","carrier_code":"yanwen"}]
    tracker = Trackingmore.new()
    res = tracker.tracker(url,postData,"POST")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Modify courier code
    url="http://api.trackingmore.com/v2/trackings/update"
    postData = {"tracking_number":"BYS006086077","carrier_code":"dhl","update_carrier_code":"yanwen"}
    tracker = Trackingmore.new()
    res = tracker.tracker(url,postData,"POST")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Get account info
    url="http://api.trackingmore.com/v2/trackings/getuserinfo"
    postData = ""
    tracker = Trackingmore.new()
    res = tracker.tracker(url,postData,"GET")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Get number of trackings in each package status.
    url="http://api.trackingmore.com/v2/trackings/getstatusnumber"
    postData = ""
    tracker = Trackingmore.new()
    res = tracker.tracker(url,postData,"GET")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Stop updating trackings
    url="http://api.trackingmore.com/v2/trackings/notupdate"
    postData = [
       {"tracking_number":"BYS006086077","carrier_code":"yanwen"},
       {"tracking_number":"BYS006086088","carrier_code":"yanwen"}
    ]
    tracker = Trackingmore.new()
    res = tracker.tracker(url,postData,"POST")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Check if a shipment is sent to remote area.
    url="http://api.trackingmore.com/v2/trackings/remote"
    postData = [{"country":"CN","postcode":"400422","company":"dhl"},{"country":"CN","postcode":"412000","company":"dhl"}]
    tracker = Trackingmore.new()
    res = tracker.tracker(url,postData,"POST")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Get courier aging results
    url="http://api.trackingmore.com/v2/trackings/costtime"
    postData = [{"carrier_code":"dhl","destination":"US","original":"CN"},{"carrier_code":"dhl","destination":"RU","original":"CN"}]
    tracker = Trackingmore.new()
    res = tracker.tracker(url,postData,"POST")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    
    Modify order id, order title, shipment status and other additional fields of multiple trackings.
    url="http://api.trackingmore.com/v2/trackings/updatemore"
    postData =[{"tracking_number":"BYS006086087","carrier_code":"yanwen","title":"chase chen111","customer_name":"chaseddd","customer_email":"[email protected]","order_id":"#123457777774","destination_code":"IL","status":"4","logistics_channel":"4PX挂号小包"},{"tracking_number":"BYS006086076","carrier_code":"yanwen","title":"chase chen222","customer_name":"chase dsd","customer_email":"[email protected]","order_id":"#1234577777","destination_code":"IL","status":"4","logistics_channel":"4PX挂号小包"}]
    tracker = Trackingmore.new()
    res = tracker.tracker(url,postData,"POST")
    puts "Response #{res.code} #{res.message}: #{res.body}"
    

Transform Your
Shipment Tracking Today

Looking to automate shipment updates or improve your delivery efficiency? With TrackingMore's powerful API, you'll have all the tools at your fingertips to transform your customer's post-purchase journey.