capkovic/sknic-api

Automating operations on sk-nic.sk webpage.

This package's canonical repository appears to be gone and the package has been frozen as a result.

dev-master 2015-10-08 15:22 UTC

This package is not auto-updated.

Last update: 2024-02-12 23:29:03 UTC


README

Installation

add this to composer.json

    "require": {
        "capkovic/sknic-api": "dev-master"
    }

Domain info

$api = new \sknic\SknicDomainInfo();
$api->setUsername('login');
$api->setPassword('pass');
$api->setDomain('sk-nic.sk');
$api->loadDomainInfo();
echo $api->getRegistrar();
echo $api->getOwner();
echo $api->getState();
echo $api->getExpirationDate();

Register domain

$api = new \sknic\SknicRegister();
$api->setUsername('login');
$api->setPassword('pass');
$api->waitForLock(); // aquire lock, so other proccesses can't use this session
try {
    $api->registerDomain('newdomain', 'ABCD-0001');
} catch (Exception $e) {
    var_dump($e); // error via exception
}
$api->unlock();

Pay domain - collective invoice

$api = new \sknic\SknicPay();
$api->setUsername('login');
$api->setPassword('pass');
$api->waitForLock();
try {
    $api->payDomain('newdomain');
} catch (Exception $e) {
    var_dump($e);
}
$api->unlock();

Pay domain - variables from Proforma for external processing

$api = new \sknic\SknicPay();
$api->setUsername('login');
$api->setPassword('pass');
$api->waitForLock();
try {
	echo $api->getDomainPrice('domain');
	echo $api->getProformaPrice('domain');
	echo $api->getProformaVariableSymbol('domain');
} catch (Exception $e) {
    var_dump($e);
}
$api->unlock();
  • getDomainPrice - Price from generated Invoice
  • getProformaPrice - Price from proforma (this price didn't include discounts)
  • getProformaVariableSymbol - Variable symbol for Wire transfer

NS change

$api = new \sknic\SknicNsChange();
$api->setUsername('login');
$api->setPassword('pass');
$api->waitForLock();
try {
    $api->change('newdomain', array('nserver1'=>'ns1.mynameserver.sk'));
} catch (Exception $e) {
    var_dump($e);
}
$api->unlock();

Owner change

$api = new \sknic\SknicOwnerChange();
$api->setUsername('login');
$api->setPassword('pass');
$api->waitForLock();
try {
    $api->change('mydomain', 'ABCD-0001');
    $pdf = $api->getPdf(); // form to sign
} catch (Exception $e) {
    var_dump($e);
}
$api->unlock();

Transfer (registrator change)

$api = new \sknic\SknicTransfer();
$api->setUsername('login');
$api->setPassword('pass');
$api->waitForLock();
try {
    $api->change('mydomain');
    $pdf = $api->getPdf(); // form to sign
} catch (Exception $e) {
    var_dump($e);
}
$api->unlock();

Using multiple sessions and locks

Add these lines after you instantiate Sknic... class:

$storage = new \sknic\FileSessionStorage();
$storage->setFilePath('/tmp/sknic_session_2');
$api->setSessionStorage($storage);

default session storage and lockfile is in /tmp/sknic_sessions