class Bosta::Delivery

Find, create, update, and delete deliveries

Public Class Methods

create(package_type, cod, receiver, address, specs = nil, business_reference = nil, webhook_url = nil, notes = nil) click to toggle source

Create new delivery

* +package_type+ should be on of DELIVERY_TYPES in Bosta module
* +cod+ should be 0 in case delivery type = CRP
* +address+ should be of type Address
* +receiver+ should be of type Receiver
* +specs+ (optinal) should be of type Specs
* +business_reference+ (optional) String
* +webhook_url+ (optional) String url
* +notes+ String
# File lib/bosta/deliveries/delivery.rb, line 17
def self.create(package_type,
                cod,
                receiver,
                address,
                specs = nil,
                business_reference = nil,
                webhook_url = nil,
                notes = nil)
  params_hash = {
    type: package_type,
    cod: cod,
    address: address,
    receiver: receiver,
    businessReference: business_reference,
    specs: specs,
    webhookUrl: webhook_url,
    notes: notes
  }
  delivery_hash = Delivery.format_params(params_hash)
  Bosta::Resource.send('post', 'deliveries', delivery_hash)
end
find_all_deliveries() click to toggle source
  • Get all your created Deliveries

# File lib/bosta/deliveries/delivery.rb, line 72
def self.find_all_deliveries
  Bosta::Resource.send('get', 'deliveries')
end
find_delivery_by_traking_number(tracking_number) click to toggle source
  • Get specific delivery using tracking_number

# File lib/bosta/deliveries/delivery.rb, line 80
def self.find_delivery_by_traking_number(tracking_number)
  Bosta::Resource.send('get', "deliveries/#{tracking_number}")
end
print_delivery_awb(delivery_id) click to toggle source
  • get base64 pdf data representing the package using delivery_id

terminate_delivery(delivery_id) click to toggle source
  • Terminate the shipment delivery_id

# File lib/bosta/deliveries/delivery.rb, line 104
def self.terminate_delivery(delivery_id)
  Bosta::Resource.send('delete', "deliveries/#{delivery_id}")
end
track_delivery(tracking_number) click to toggle source
  • see delivery tracking using tracking_number

# File lib/bosta/deliveries/delivery.rb, line 88
def self.track_delivery(tracking_number)
  Bosta::Resource.send('get', "deliveries/#{tracking_number}/tracking")
end
update(delivery_id, cod = nil, address = nil, receiver = nil, business_reference = nil, webhook_url = nil, notes = nil) click to toggle source

Edit delivery data

* +delivery_id+
* +cod+ (optional) the cash on delivery (number)
* +address+ (optional) should be of type Address
* +receiver+ (optional) should be of type Receiver
* +business_reference+ (optional) String
* +webhook_url+ (optional) String url
* +notes+ (optional) String
# File lib/bosta/deliveries/delivery.rb, line 49
def self.update(delivery_id,
                cod = nil,
                address = nil,
                receiver = nil,
                business_reference = nil,
                webhook_url = nil,
                notes = nil)
  params_hash = {
    cod: cod,
    address: address,
    receiver: receiver,
    businessReference: business_reference,
    webhookUrl: webhook_url,
    notes: notes
  }
  delivery_hash = Delivery.format_params(params_hash)
  Bosta::Resource.send('put', "deliveries/#{delivery_id}", delivery_hash)
end