Giter VIP home page Giter VIP logo

namesilo-composer's Introduction

namesilo-composer

Use Namesilo Api In Laravel

Simple PHP SDK for registering domain names using Namesilo.com.

Dependencies

  • php-xml package.

Install in Debian:

sudo aptitude install php7.0-xml

Quick start

Create an instance of the Namesilo class.

To receive a sandbox API key for testing, please contact namesilo.

#### create a Namesilo object with production key
$ns = new Namesilo('your api key');

#### create a Namesilo object with sandox key
$ns = new Namesilo('your api key',true);

#### turn Debugging on (if you want to fix an issue with this library)
$ns = new Namesilo('your api key',true,true);

#### Simple usage
try{
    $ns->is_domain_available('example.com');
}catch(Exception $e){
    #### print error message
    echo $e->getMessage();
}

Debugging

To enable debugging edit namesilo.php provide a third argument to Namesilo() and set it to tre.

$ns = new Namesilo('your api key',true,true);

Once enabled, all functions (methods) print_r() their request and return value.

never turn debugging on in production.

Usage example

Retrieve the lock status for exmaple.com

try{
    $lock_status = $ns->lock_status('example.com');
}catch(Exception $e){
    echo $e->getMessage();
}
if($lock_status){
    echo 'domain is lock';
}else{
    echo 'domain is unlock';
}

List of methods

NOTE: make sure that you capture possible errors with a try {} catch {} as shown in the above examples.

Use this function to create a new contact-id and then use the contact-id retuned by this function to associate it with a new domain registration.

returns created contact id on success and false on failure.

$contact_id = $ns->create_contact(
      $fn, // first name
      $ln, // last name
      $ad, // address
      $cy, // city
      $st, // state
      $zp, // zip
      $ct, // country
      $em, // email
      $ph  // phone
);

returns true on success and false on failure.

$result = $ns->register_domain_by_contact_id($domain,$contact_id,$years=1);
This function will automatically attemp to delete the contact if registration fails.
Default profile and profiles that are associated with any active domains cannot be deleted.

Create a new contact-id and register a domain for it at once. This method is not recommended.

returns true on success and false on failure.

$ns->register_domain(
      $domain, // example.com
      $fn, // first name
      $ln, // last name
      $ad, // address
      $cy, // city
      $st, // state
      $zp, // zip
      $ct, // country
      $em, // email
      $ph,  // phone
      $years = 1
);

returns true on success and false on failure.

$contact_id = $ns->update_contact_by_domain(
      $domain, // example.com
      $fn, // first name
      $ln, // last name
      $ad, // address
      $cy, // city
      $st, // state
      $zp, // zip
      $ct, // country
      $em, // email
      $ph  // phone
);

Change the NameServers associated with one of your domains.

returns true on success and false on success and false on failure.

$result = $ns->update_nameservers('example.com','ns1.namesilo.com','ns2.namesilo.com');

returns true on success and false on failure.

$ns->delete_contact($contact_id);

Please remember that the only contact profiles that can be deleted are those that are not the account default and are not associated with any active domains or order profiles.

returns true on success and false on failure.

$ns->add_dns_record($domain,$type,$host,$value,$distance='',$ttl='');
$type possible values are "A", "AAAA", "CNAME", "MX" and "TXT"
$host The hostname for the new record (there is no need to include the ".DOMAIN")
$value
  • A - The IPV4 Address
  • AAAA - The IPV6 Address
  • CNAME - The Target Hostname
  • MX - The Target Hostname
  • TXT - The Text
$distance: Only used for MX (default is 10 if not provided)
$ttl: The TTL for the new record (default is 7207 if not provided)

returns an array of records on success and false on failure.

$ns->get_dns_records($domain);

Sample print_r() of successfull return value:

Again, make sure you capture exceptions.

Array
(
    [0] => Array
        (
            [record_id] => a8c4251d3c3d114d70d48dcaf0288257
            [type] => A
            [host] => sunsed-test15.com
            [value] => 173.255.255.106
            [ttl] => 7200
            [distance] => 0
        )

)

returns true on success and false on failure.

$ns->delete_dns_record($domain,$record_id);

possible return values: 'available', 'invalid', 'unavailable' and false.

try{
    $result = $ns->is_domain_available($domain);
    if($result == 'available'){
        echo 'domain is available';
    }elseif($result == 'invalid'){
        echo 'pleas check your domain';
    }elseif($result == 'unavailable'){
        echo 'domain is not available';
    }else{
        echo 'failed';
    }
}catch(Exception $e){
    echo $e->getMessage();
}

returns true on success and false on failure.

ns->send_auth_code($domain);

returns contact info on success and false on failure.

$ns->get_contact_by_id($contact_id);

returns an array of domains on success and false on failure.

try{
    $result = $ns->list_domains();
    if($result){
        echo 'success';
    }else{
        echo 'failed';
    }
}catch(Exception $e){
    echo $e->getMessage();
}

Sample return value:

Array
(
    [0] => sunsed-test12.com
    [1] => sunsed-test13.com
    [2] => sunsed-test15.com
)

returns an array of nameservers on success and false on failure.

Sample return value:

Array
(
    [0] => NS1.NAMESILO.COM
    [1] => NS2.NAMESILO.COM
)

Note: Namesilo returns the namesevrers in capital letters.

Retrieves the privacy status.

$result = $ns->privacy_status($domain);
if($result)
    echo 'Privacy is enabled';
else
    echo 'Privacy is disabled';
$result = $ns->add_privacy($domain);
$result = $ns->remove_privacy($domain);

returns domain-info-array on success and false on failure.

$ns->get_domain_info($domain);

Sample return value:

Array
(
    [code] => 300
    [detail] => success
    [created] => 2015-02-06
    [expires] => 2016-02-06
    [status] => Active
    [locked] => Yes
    [private] => Yes
    [auto_renew] => No
    [traffic_type] => Custom DNS
    [forward_url] => N/A
    [forward_type] => N/A
    [nameservers] => Array
        (
            [nameserver] => Array
                (
                    [0] => NS1.NAMESILO.COM
                    [1] => NS2.NAMESILO.COM
                )

        )

    [contact_ids] => Array
        (
            [registrant] => 903
            [administrative] => 903
            [technical] => 903
            [billing] => 903
        )

)

returns account balance on success and false on failure.

$result = $ns->get_account_balance();

namesilo-composer's People

Contributors

adzon avatar affcool avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.