Class: Netki::NetkiPartner
- Inherits:
-
Object
- Object
- Netki::NetkiPartner
- Defined in:
- lib/netki/netki.rb
Instance Attribute Summary collapse
-
#api_key ⇒ Object
Returns the value of attribute api_key.
-
#api_url ⇒ Object
Returns the value of attribute api_url.
-
#partner_id ⇒ Object
The Netki object must be initialized with the Partner ID and API Key to be useful.
Instance Method Summary collapse
-
#create_new_domain(domain_name, partner_id = nil) ⇒ Object
Create a new domain * domain_name -> Name of new domain to create * partner_id -> (optional) Partner that should own the new domain.
-
#create_new_partner(partner_name) ⇒ Object
Create a new Partner * partner_name -> Name of new sub-partner to create.
-
#create_new_walletname(domain_name, name, wallets = {}, external_id = nil) ⇒ Object
Create a new Wallet Name object using this factory method.
-
#delete_domain(domain_name) ⇒ Object
Delete a Domain * domain_name -> Name of delete to delete.
-
#delete_partner(partner_name) ⇒ Object
Delete a Partner * partner_name -> Name of sub-partner to delete NOTE: You cannot delete your own partner resource.
-
#get_domain_dnssec(domain_name) ⇒ Object
Get DNSSEC Status of Domain * domain_name -> (Required) Name of domain to get DNSSEC status for.
-
#get_domain_status(domain_name = nil) ⇒ Object
List status of domain resources * domain_name -> (Optional) Name of domain to return status for.
-
#get_domains ⇒ Object
List available domain resources Returns a list of domain Hashes, each containing a domain_name and tld_type key.
-
#get_partners ⇒ Object
List current and sub partners Returns a list of partner Hashes, each containing an id and name key.
-
#get_wallet_names(domain_name = nil, external_id = nil) ⇒ Object
Returns an array of WalletName objects based on the given search parameters: * domain_name -> The pre-configured domain that you have already been using for wallet names * external_id -> The external ID previously given to the single wallet name you want to retrieve.
-
#initialize(partner_id = nil, api_key = nil, api_url = 'https://api.netki.com') ⇒ NetkiPartner
constructor
A new instance of NetkiPartner.
Constructor Details
#initialize(partner_id = nil, api_key = nil, api_url = 'https://api.netki.com') ⇒ NetkiPartner
Returns a new instance of NetkiPartner.
209 210 211 212 213 |
# File 'lib/netki/netki.rb', line 209 def initialize(partner_id=nil, api_key=nil, api_url='https://api.netki.com') @partner_id = partner_id @api_key = api_key @api_url = api_url end |
Instance Attribute Details
#api_key ⇒ Object
Returns the value of attribute api_key.
202 203 204 |
# File 'lib/netki/netki.rb', line 202 def api_key @api_key end |
#api_url ⇒ Object
Returns the value of attribute api_url.
203 204 205 |
# File 'lib/netki/netki.rb', line 203 def api_url @api_url end |
#partner_id ⇒ Object
The Netki object must be initialized with the Partner ID and API Key to be useful
-
Partner ID -> Netki Partner ID is available on your partner API Key Page
-
API Key -> Netki API Key is available only upon API Key creation. Be sure to store it somewhere safe!
201 202 203 |
# File 'lib/netki/netki.rb', line 201 def partner_id @partner_id end |
Instance Method Details
#create_new_domain(domain_name, partner_id = nil) ⇒ Object
Create a new domain
-
domain_name -> Name of new domain to create
-
partner_id -> (optional) Partner that should own the new domain
250 251 252 253 254 255 |
# File 'lib/netki/netki.rb', line 250 def create_new_domain(domain_name, partner_id=nil) api_data = {} api_data['partner_id'] = partner_id unless partner_id.nil? Netki.process_request(@api_key, @partner_id, "#{@api_url}/v1/partner/domain/#{domain_name}", method='POST', JSON.dump(api_data)) true end |
#create_new_partner(partner_name) ⇒ Object
Create a new Partner
-
partner_name -> Name of new sub-partner to create
219 220 221 222 223 |
# File 'lib/netki/netki.rb', line 219 def create_new_partner(partner_name) encoded_partner_name = URI.encode(partner_name) response = Netki.process_request(@api_key, @partner_id, "#{@api_url}/v1/admin/partner/#{encoded_partner_name}", method='POST') response['partner']['id'] end |
#create_new_walletname(domain_name, name, wallets = {}, external_id = nil) ⇒ Object
Create a new Wallet Name object using this factory method.
-
domain_name -> The pre-configured domain name you would like to add this new wallet name to
-
name -> The DNS name that you would like this new wallet name to have (ie.. name.domain_name)
-
wallets -> This is a hash where the key is the currency (ie.. btc, ltc, dgc, tusd) and the value is:
the wallet address OR URL of the BIP32 / BIP70 address server OR a hash containing an :address and other metadata -
external_id -> Any unique external ID that you may want to use to track this specific wallet name
317 318 319 320 321 |
# File 'lib/netki/netki.rb', line 317 def create_new_walletname(domain_name, name, wallets={}, external_id=nil) new_wn = WalletName.new(domain_name, name, wallets, external_id) new_wn.set_api_opts(@api_url, @partner_id, @api_key) new_wn end |
#delete_domain(domain_name) ⇒ Object
Delete a Domain
-
domain_name -> Name of delete to delete
301 302 303 304 |
# File 'lib/netki/netki.rb', line 301 def delete_domain(domain_name) Netki.process_request(@api_key, @partner_id, "#{@api_url}/v1/partner/domain/#{domain_name}", method='DELETE') true end |
#delete_partner(partner_name) ⇒ Object
Delete a Partner
-
partner_name -> Name of sub-partner to delete
NOTE: You cannot delete your own partner resource
239 240 241 242 243 |
# File 'lib/netki/netki.rb', line 239 def delete_partner(partner_name) encoded_partner_name = URI.encode(partner_name) Netki.process_request(@api_key, @partner_id, "#{@api_url}/v1/admin/partner/#{encoded_partner_name}", method='DELETE') true end |
#get_domain_dnssec(domain_name) ⇒ Object
Get DNSSEC Status of Domain
-
domain_name -> (Required) Name of domain to get DNSSEC status for
Returns a hash containing the follow DNSSEC-related keys:
-
ds_records (list)
-
public_key_signing_key
-
nextroll_date
-
nameservers (list)
293 294 295 |
# File 'lib/netki/netki.rb', line 293 def get_domain_dnssec(domain_name) Netki.process_request(@api_key, @partner_id, "#{@api_url}/v1/partner/domain/dnssec/#{domain_name}", method='GET') end |
#get_domain_status(domain_name = nil) ⇒ Object
List status of domain resources
-
domain_name -> (Optional) Name of domain to return status for
If domain_name is omitted status is returned for all available domain resources.
Returns a list of Hashes, each containing current status for each domain
274 275 276 277 278 279 280 281 |
# File 'lib/netki/netki.rb', line 274 def get_domain_status(domain_name=nil) uri="#{@api_url}/v1/partner/domain" uri << "/#{domain_name}" unless domain_name.nil? response = Netki.process_request(@api_key, @partner_id, uri, method='GET') response['domains'] end |
#get_domains ⇒ Object
List available domain resources Returns a list of domain Hashes, each containing a domain_name and tld_type key
261 262 263 264 |
# File 'lib/netki/netki.rb', line 261 def get_domains() response = Netki.process_request(@api_key, @partner_id, "#{@api_url}/api/domain", method='GET') response['domains'] end |
#get_partners ⇒ Object
List current and sub partners Returns a list of partner Hashes, each containing an id and name key
229 230 231 232 |
# File 'lib/netki/netki.rb', line 229 def get_partners() response = Netki.process_request(@api_key, @partner_id, "#{@api_url}/v1/admin/partner", method='GET') response['partners'] end |
#get_wallet_names(domain_name = nil, external_id = nil) ⇒ Object
Returns an array of WalletName objects based on the given search parameters:
-
domain_name -> The pre-configured domain that you have already been using for wallet names
-
external_id -> The external ID previously given to the single wallet name you want to retrieve
327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 |
# File 'lib/netki/netki.rb', line 327 def get_wallet_names(domain_name=nil, external_id=nil) args = [] args.push("domain_name=#{domain_name}") if domain_name args.push("external_id=#{external_id}") if external_id uri = "#{@api_url}/v1/partner/walletname" uri = (uri + "?" + args.join("&")) unless args.empty? response = Netki.process_request(@api_key, @partner_id, uri, method='GET') return [] if !response.has_key? 'wallet_name_count' || response['wallet_name_count'] == 0 wn_list = [] response['wallet_names'].each do |wn| wallets = {} wn['wallets'].each do |wallet| wallets[wallet['currency']] = wallet['wallet_address'] end wn_obj = WalletName.new(wn['domain_name'], wn['name'], wallets, wn['external_id'], wn['id']) wn_obj.set_api_opts(@api_url, @partner_id, @api_key) wn_list.push(wn_obj) end wn_list end |