Class: T2Airtime::API
Instance Attribute Summary
Attributes inherited from Base
#params, #password, #url, #user
Instance Method Summary collapse
-
#account_info ⇒ Object
Returns the balance in your TransferTo account.
-
#country_list ⇒ Object
Convenience method to get the country list.
-
#get_id_from_key(key) ⇒ Object
This method is used to retrieve the ID of a transaction previously performed based on the key used in the request at that time.
-
#msisdn_info(destination_msisdn, operator_id = nil, delivered_amount_info = 1, return_service_fee = 1, return_promo = 1) ⇒ Object
This method is used to retrieve various information of a specific MSISDN (operator, country…) as well as the list of all products configured for your specific account and the destination operator of the MSISDN.
-
#operator_list(country_aid) ⇒ Object
Convenience method to get the operators list for a given country.
-
#ping ⇒ Object
Test the connection to the Airtime API.
-
#price_list(info_type, content = nil) ⇒ Object
These methods are used to retrieve coverage and pricelist offered to you.
-
#product_list(operator_aid) ⇒ Object
Convenience method to get the product list for a given operator.
-
#reserve_id ⇒ Object
This method is used to reserve an ID in the system.
-
#topup(msisdn, destination_msisdn, product, method = 'topup', reserved_id = nil, send_sms = true, sms = nil, sender_text = nil, cid1 = '', cid2 = '', cid3 = '', operator_id = nil, return_service_fee = 1, delivered_amount_info = 1, return_timestamp = 1, return_version = 1, return_promo = 0) ⇒ Object
By default, an SMS notification is sent to the recipient after every successful Top-up.
-
#transaction_info(id) ⇒ Object
Retrieve available information on a specific transaction.
-
#transaction_list(start = (Time.now - 24.hours), stop = Time.now, msisdn = nil, destination = nil, code = nil) ⇒ Object
This method is used to retrieve the list of transactions performed within the date range by the MSISDN if set.
Methods inherited from Base
Constructor Details
This class inherits a constructor from T2Airtime::Base
Instance Method Details
#account_info ⇒ Object
Returns the balance in your TransferTo account. This method shall not be used more than 24 times per day.
10 11 12 |
# File 'lib/t2_airtime/api.rb', line 10 def account_info run_action :check_wallet end |
#country_list ⇒ Object
Convenience method to get the country list
226 227 228 |
# File 'lib/t2_airtime/api.rb', line 226 def country_list price_list('countries') end |
#get_id_from_key(key) ⇒ Object
This method is used to retrieve the ID of a transaction previously performed based on the key used in the request at that time.
200 201 202 203 |
# File 'lib/t2_airtime/api.rb', line 200 def get_id_from_key(key) @params = { from_key: key } run_action :get_id_from_key end |
#msisdn_info(destination_msisdn, operator_id = nil, delivered_amount_info = 1, return_service_fee = 1, return_promo = 1) ⇒ Object
This method is used to retrieve various information of a specific MSISDN (operator, country…) as well as the list of all products configured for your specific account and the destination operator of the MSISDN. Returns relevant information on a MSISDN (operator, country…) as well as the list of products configured for your account and the destination operator linked to that MSISDN. Allows to check if a MSISDN is subjected to a promotion
destination_msisdn Destination MSISDN (usually recipient phone number). This is the destination phone number that will be credited with the amount transferred. Format is similar to “msisdn” and restricted to international phone number only. delivered_amount_info Setting this to “1” will return the fields local_info_amount_list,local_info_currency and local_info_value_list in the API response. Blank or “no” if you do not want this returned. return_service_fee Setting this to “1” will return the field service_fee_list in the API response. Blank or “0” if you do not want it returned. operatorid Operator ID of the receiving operator that must be used when treating the request. If set, the platform will be forced to use this operator ID and will not identify the operator of the destination MSISDN based on the numbering plan. It is very useful in case of countries with number portability if you are able to know the destination operator. return_promo Setting this to “1” will return the current promotion related to the transaction’s operator.
128 129 130 131 132 133 134 135 136 137 138 139 |
# File 'lib/t2_airtime/api.rb', line 128 def msisdn_info(destination_msisdn, operator_id = nil, delivered_amount_info = 1, return_service_fee = 1, return_promo = 1) @params = { destination_msisdn: destination_msisdn, delivered_amount_info: delivered_amount_info, return_service_fee: return_service_fee, return_promo: return_promo } self.oid = operator_id run_action :msisdn_info end |
#operator_list(country_aid) ⇒ Object
Convenience method to get the operators list for a given country
232 233 234 |
# File 'lib/t2_airtime/api.rb', line 232 def operator_list(country_aid) price_list('country', country_aid) end |
#ping ⇒ Object
Test the connection to the Airtime API. Can be used for keep-alive.
4 5 6 |
# File 'lib/t2_airtime/api.rb', line 4 def ping run_action :ping end |
#price_list(info_type, content = nil) ⇒ Object
These methods are used to retrieve coverage and pricelist offered to you. parameters
info_type
i)
iii) “operator” : Returns a list of wholesale and retail price for the operator
content
i) Not used if info_type =
iii) operatorid of the requested operator if info_type = “operator”
219 220 221 222 223 |
# File 'lib/t2_airtime/api.rb', line 219 def price_list(info_type, content = nil) @params[:info_type] = info_type content && @params[:content] = content run_action :pricelist end |
#product_list(operator_aid) ⇒ Object
Convenience method to get the product list for a given operator
238 239 240 |
# File 'lib/t2_airtime/api.rb', line 238 def product_list(operator_aid) price_list('operator', operator_aid) end |
#reserve_id ⇒ Object
This method is used to reserve an ID in the system. This ID can then be used in the “topup” or “simulation” requests. This way, your system knows the ID of the transaction before sending the request to TransferTo (else it will only be displayed in the response).
145 146 147 |
# File 'lib/t2_airtime/api.rb', line 145 def reserve_id run_action :reserve_id end |
#topup(msisdn, destination_msisdn, product, method = 'topup', reserved_id = nil, send_sms = true, sms = nil, sender_text = nil, cid1 = '', cid2 = '', cid3 = '', operator_id = nil, return_service_fee = 1, delivered_amount_info = 1, return_timestamp = 1, return_version = 1, return_promo = 0) ⇒ Object
By default, an SMS notification is sent to the recipient after every successful Top-up. The default originating address for the SMS is “8888”. The following is the default SMS which is translated into local languages for most of recipient countries: Congratulations! You’ve received AMOUNT_CURRENCY from SENDER. Thank you for using TransferTo. FREE_TEXT. • AMOUNT CURRENCY is the amount that has been sent with the currency. • SENDER can be a name or a phone number. • FREE_TEXT is the content of the field named “sms” of the topup method.
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/t2_airtime/api.rb', line 77 def topup(msisdn, destination_msisdn, product, method = 'topup', reserved_id = nil, send_sms = true, sms = nil, sender_text = nil, cid1 = '', cid2 = '', cid3 = '', operator_id = nil, return_service_fee = 1, delivered_amount_info = 1, = 1, return_version = 1, return_promo = 0) @params = { msisdn: msisdn, destination_msisdn: destination_msisdn, product: product } self.oid = operator_id @params.merge(cid1: cid1, cid2: cid2, cid3: cid3, reserved_id: reserved_id, sender_sms: (sender_text ? 'yes' : 'no'), send_sms: (send_sms ? 'yes' : 'no'), sms: sms, sender_text: sender_text, delivered_amount_info: delivered_amount_info, return_service_fee: return_service_fee, return_timestamp: , return_version: return_version, return_promo: return_promo) run_action method end |
#transaction_info(id) ⇒ Object
Retrieve available information on a specific transaction. Please note that values of “input_value” and “debit_amount_validated” are rounded to 2 digits after the comma but are the same as the values returned in the fields “input_value” and “validated_input_value” of the “topup” method response.
193 194 195 196 |
# File 'lib/t2_airtime/api.rb', line 193 def transaction_info(id) @params = { transactionid: id } run_action :trans_info end |
#transaction_list(start = (Time.now - 24.hours), stop = Time.now, msisdn = nil, destination = nil, code = nil) ⇒ Object
This method is used to retrieve the list of transactions performed within the date range by the MSISDN if set. Note that both dates are included during the search.
parameters
msisdn
The format must be international with or without the ‘+’ or ‘00’: “6012345678” or “+6012345678” or “006012345678” (Malaysia)
destination_msisdn
The format must be international with or without the ‘+’ or ‘00’: “6012345678” or “+6012345678” or “006012345678” (Malaysia)
code
The error_code of the transactions to search for. E.g “0” to search for only all successful transactions. If left empty, all transactions will be returned(Failed and successful).
start_date
Defines the start date of the search. Format must be YYYY-MM-DD.
stop_date
Defines the end date of the search (included). Format must be YYYY-MM-DD.
178 179 180 181 182 183 184 185 186 187 |
# File 'lib/t2_airtime/api.rb', line 178 def transaction_list(start = (Time.now - 24.hours), stop = Time.now, msisdn = nil, destination = nil, code = nil) @params = { stop_date: to_yyyymmdd(stop), start_date: to_yyyymmdd(start) } code && !code.empty? && @params[:code] = code msisdn && !msisdn.empty? && @params[:msisdn] = msisdn destination && !destination.empty? && @params[:destination_msisdn] = destination run_action :trans_list end |