مقدمه API نمایندگی دامین

مقدمه API

سیستم API ثبت نمایندگی دامین میزبان پایتخت این امکان را برای شما فراهم می کند که کلیه پسوند های ارائه شده از سوی میزبان پایتخت را به صورت کاملا اتوماتیک و برنامه نویسی شده بفروشید. این API به صورت برنامه نویسی شده شامل ماژول برای WHMCS می باشد. از طریق این API امکانات زیر در اختیار شما قرار می گیرد:

  • ثبت دامین با هر پسوند
  • انتقال دامین با هر پسوند
  • تمدید دامین های ثبت یا منتقل شده
  • دریافت Authcode یا EPP Code
  • دریافت و تغییر در NameServer ها
  • تغییر وضعیت Lock دامین

فرمت پرسش و پاسخ API ثبت دامین نمایندگی میزبان پایتخت

برای درخواست ها API از شما یک Query از پارامترها را دریافت می کند. API پاسخ را به صورت JSON به شما می دهد.

عملیات تصدیق: برای ورود به سیستم و تصدیق سامانه API Key و آدرس ایمیل شما برای Authentication لازم می باشد.

URL:

https://ehost.host/billing/domainsResellerAPI/api.php

مثال: این مثال از سیستم cURL استفاده می کند که برای Execute کردن یک درخواست از API به صورت Command-line می باشد.

Exemplary API Request:

curl 'http://ehost.host/billing/domainsResellerAPI/api.php'  --data 'token=AaLc8eNZWsZtWlT9LtT7NUha&email=exampledomain@domain.com&action=RegisterDomain&sld=exampledomain&tld=com&regperiod=1&nameserver1=ns1.yourdomain.com&nameserver2=ns2.yourdomain.com&adminfirstname=test&adminlastname=test&admincompanyname=company&adminaddress1=addresss&admincity=city&adminstate=region&admincountry=US&adminpostcode=12345&adminphonenumber=1234567890&adminemail=admin@domain.com' --compressed

Exemplary API Response:

{"result":"success","msg":"Domain has been registered"}

عملیات API نمایندگی دامین

REGISTERDOMAIN:

این دستور برای ثبت دامین جدید به کار می رود.

پارامترهای Request

نامنوعاجباری؟توضیحات
sldStringYesDomain name
tldStringYesSuffix attached to domain name
regperiodNumberYesRegistration period
nameserver1StringYesFirst nameserver
nameserver2StringYesSecond nameserver
nameserver3StringNoThird nameserver
nameserver4StringNoFourth nameserver
nameserver5StringNoFifth nameserver
adminfirstnameStringYesFirst name of the admin user
adminlastnameStringYesLast name of the admin user
adminaddress1StringYesFirst part of admin user address
adminaddress2StringNoSecond part of admin user address
admincityStringYesCity of the admin user
adminstateStringYesState/Province of the admin user
adminpostcodeStringYesPostal/ZIP Code of the admin user
admincountryStringYesCountry of the admin user
adminphonenumberStringYesPhone number in the format +NNN.NNNNNNNNNN
adminemailStringYesEmail address of the admin user
dnsmanagementNumberNoEnables dns management for this domain
emailforwardingNumberNoEnables email forwarding for this domain
idprotectionNumberNoEnables id protection for this domain

مثال Request:

curl 'http://ehost.host/billing/domainsResellerAPI/api.php' --data 'token=AaLc8eNZWsZtWlT9LtT7NUha&email=test@exampledomain.com&action=RegisterDomain&sld=exampledomain&tld=com&regperiod=1&nameserver1=ns1.yourdomain.com&nameserver2=ns2.yourdomain.com&adminfirstname=test&adminlastname=test&admincompanyname=company&adminaddress1=addresss&admincity=city&adminstate=region&admincountry=US&adminpostcode=12345&adminphonenumber=1234567890&adminemail=admin@exampledomain.com' --compressed

مثال Response:

{"result":"success","msg":"Domain has been registered"}

TRANSFERDOMAIN

این دستور برای انتقال دامین استفاده می شود. Request Parameters

نامنوعاجباری؟توضیحات
sldStringYesDomain name
tldStringYesSuffix attached to domain name
transfersecretStringNoDomain authorization code
regperiodNumberYesRegistration period
nameserver1StringYesFirst nameserver
nameserver2StringYesSecond nameserver
nameserver3StringNoThird nameserver
nameserver4StringNoFourth nameserver
nameserver5StringNoFifth nameserver
adminfirstnameStringYesFirst name of the admin user
adminlastnameStringYesLast name of the admin user
adminaddress1StringYesFirst part of admin user address
adminaddress2StringNoSecond part of admin user address
admincityStringYesCity of the admin user
adminstateStringYesState/Province of the admin user
adminpostcodeStringYesPostal/ZIP Code of the admin user
admincountryStringYesCountry of the admin user
adminphonenumberStringYesPhone number in the format +NNN.NNNNNNNNNN
adminemailStringYesEmail address of the admin user
dnsmanagementNumberNoEnables dns management for this domain
emailforwardingNumberNoEnables email forwarding for this domain
idprotectionNumberNoEnables id protection for this domain

Example Request:

curl 'http://ehost.host/billing/domainsResellerAPI/api.php' --data 'token=AaLc8eNZWsZtWlT9LtT7NUha&email=test@exampledomain.com&action=TransferDomain&sld=exampledomain&tld=com&transfersecret=gd23h231s21&regperiod=1&nameserver1=ns1.yourdomain.com&nameserver2=ns2.yourdomain.com&adminfirstname=test&adminlastname=test&admincompanyname=company&adminaddress1=addresss&admincity=city&adminstate=region&admincountry=US&adminpostcode=12345&adminphonenumber=1234567890&adminemail=admin@exampledomain.com' --compressed

Example Response:

{"result":"success","msg":"Domain transfer initiated successfully."}

RENEWDOMAIN

این دستور برای تمدید دامین های ثبت یا منتقل شده استفاده می گردد.

Request Parameters

نامنوعاجباری؟توضیحات
sldStringYesDomain name
tldStringYesSuffix attached to domain name
regperiodNumberYesRegistration period

Example Request:

curl 'http://ehost.host/billing/domainsResellerAPI/api.php' --data 'token=AaLc8eNZWsZtWlT9LtT7NUha&email=test@exampledomain.com&action=RenewDomain&sld=exampledomain&tld=com&regperiod=1' --compressed

Example Response:

{"result":"success","msg":"The domain has been successfully."}

GETNAMESERVERS

این دستور برای دریافت آدرس های DNS دامین استفاده می گردد.

نامنوعاجباری؟توضیحات
sldStringYesDomain name
tldStringYesSuffix attached to domain name

Example Request:

curl 'http://ehost.host/billing/domainsResellerAPI/api.php' --data 'token=AaLc8eNZWsZtWlT9LtT7NUha&email=test@exampledomain.com&action=GetNameservers&sld=exampledomain&tld=com' --compressed

Example Response:

{"result":"success","ns1":"ns1.exampledomain.com","ns2":"ns2.exampledomain.com"}

SAVENAMESERVERS

این دستور برای ذخیره آدرس های NameServer برروی دامین مدنظر شما می باشد.

نامنوعاجباری؟توضیحات
sldStringYesDomain name
tldStringYesSuffix attached to domain name
nameserver1StringYesFirst nameserver
nameserver2StringYesSecond nameserver
nameserver3StringNoThird nameserver
nameserver4StringNoFourth nameserver
nameserver5StringNoFifth nameserver

Example Request:

curl 'http://ehost.host/billing/domainsResellerAPI/api.php' --data 'token=AaLc8eNZWsZtWlT9LtT7NUha&email=test@exampledomain.com&action=SaveNameservers&sld=exampledomain&tld=com&ns1=ns1.exampledomain.com&ns2=ns2.exampledomain.com' --compressed

Example Response:

{"result":"success"}

RELASEDOMAIN

این دستور برای انجام عملیات ReleaseDomain یا آزادسازی دامین از سوی Registrar انجام می گیرد.

Request Parameters

نامنوعاجباری؟توضیحات
sldStringYesDomain name
tldStringYesSuffix attached to domain name
newtagStringYesThe new tag for the domain

Example Request:

curl 'http://ehost.host/billing/domainsResellerAPI/api.php' --data 'token=AaLc8eNZWsZtWlT9LtT7NUha&email=test@exampledomain.com&action=RelaseDomain&sld=exampledomain&tld=com&newtag=1AND1-TEST' --compressed

Example Response:

{"result":"success"}

GETEPPCODE

این دستور برای دریافت کد EEP یا Authcode دامین استفاده می گردد.

نامنوعاجباری؟توضیحات
sldStringYesDomain name
tldStringYesSuffix attached to domain name

Example Request:

curl 'http://ehost.host/billing/domainsResellerAPI/api.php' --data 'token=AaLc8eNZWsZtWlT9LtT7NUha&email=test@exampledomain.com&action=GetEPPCode&sld=exampledomain&tld=com' --compressed

Example Response:

{"result":"success","eppcode":"23svxce123fds"}

GETCONTACTDETAILS

این دستور برای دریافت ContactDetails و اطلاعات تماس دامین استفاده می گردد.

Request Parameters

نامنوعاجباری؟توضیحات
sldStringYesDomain name
tldStringYesSuffix attached to domain name

Example Request:

curl 'http://ehost.host/billing/domainsResellerAPI/api.php' --data 'token=AaLc8eNZWsZtWlT9LtT7NUha&email=test@exampledomain.com&action=GetContactDetails&sld=exampledomain&tld=com' --compressed

Example Response:

{"result":"success","Registrant":{"Name":"John Doe","Company":"Company name","Address":"P.O.","City":"Amsterdam","Country":"NL","Zip_Code":"1001 GT","Email":"john@exampledomain.com","Telephone":"N\/A"}}

SAVECONTACTDETAILS

این دستور برای ذخیره اطلاعات تماس یا ContactDetails یک دامین استفاده می شود.

Request Parameters

نامنوعاجباری؟توضیحات
sldStringYesDomain name
tldStringYesSuffix attached to domain name
contactdetailsArrayYes

Example Request:

curl 'http://ehost.host/billing/domainsResellerAPI/api.php' --data 'token=AaLc8eNZWsZtWlT9LtT7NUha&email=test@exampledomain.com&action=SaveContactDetails&sld=exampledomain&tld=com&contactdetails[Registrant][Name]=John%20Doe&contactdetails[Registrant][Company]=Company%20name&contactdetails[Registrant][Address]=Address&contactdetails[Registrant][City]=Amsterdam&contactdetails[Registrant][Country]=NL&contactdetails[Registrant][Zip_Code]=1001 GT&contactdetails[Registrant][Email]=test@exampledomain.com&contactdetails[Registrant][Telephone]=N/A' --compressed

Example Response:

{"result":"success","Registrant":{"Name":"John Doe","Company":"Company name","Address":"P.O.","City":"Amsterdam","Country":"NL","Zip_Code":"1001 GT","Email":"john@exampledomain.com","Telephone":"N\/A"}}

DOMAINGETLOCKINGSTATUS

این دستور برای دریافت وضعیت دامین Lock , Unlock بودن دامین استفاده می شود.

Request Parameters

نامنوعاجباری؟توضیحات
sldStringYesDomain name
tldStringYesSuffix attached to domain name

Example Request:

curl 'http://ehost.host/billing/domainsResellerAPI/api.php' --data 'token=AaLc8eNZWsZtWlT9LtT7NUha&email=test@exampledomain.com&action=domaingetlockingstatus&sld=exampledomain&tld=com' --compressed

Example Response:

{"result":"success","lockstatus":"unlocked"}

DOMAINUPDATELOCKINGSTATUS

این دستور برای بروزرسانی وضعیت دامین Lock, Unlock بودن دامین استفاده می شود.

Request Parameters

نامنوعاجباری؟توضیحات
sldStringYesDomain name
tldStringYesSuffix attached to domain name
lockstatusNull/NumberNoTo lock the domain, set it to '1'

Example Request:

curl 'http://ehost.host/billing/domainsResellerAPI/api.php' --data 'token=AaLc8eNZWsZtWlT9LtT7NUha&email=test@exampledomain.com&action=domainupdatelockingstatus&sld=exampledomain&tld=com&lockstatus=' --compressed

Example Response:

{"result":"success"}

EXAMPLE CODE (PHP)

$data = array(
    "action"		=> "RegisterDomain",
    "sld"		=> "domainexample",
    "tld"		=> "com",
    "regperiod"		=> 1,
    "nameserver1"       => "ns1.domainexample.com",
    "nameserver2"       => "ns2.domainexample.com",
    "nameserver3"       => "ns3.domainexample.com",
    "nameserver4"       => "ns4.domainexample.com",
    "nameserver5"       => "ns5.domainexample.com",
    "dnsmanagement"	=> 1,
    "emailforwarding"	=> 1,
    "idprotection"	=> 1,
    "adminfirstname"	=> "John",
    "adminlastname"	=> "Doe",
    "admincompanyname"	=> "Company Name",
    "adminaddress1"	=> "Address 1",
    "adminaddress2"	=> "Address 2",
    "admincity"		=> "City",
    "adminstate"	=> "ST",
    "admincountry"	=> "IT",
    "adminpostcode"	=> "12345",
    "adminphonenumber"	=> "4455677888990",
    "adminemail"	=> "admin@domainexample.com",
    "additionalfields"  => array()
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://ehost.host/billing/domainsResellerAPI/api.php");
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, 1);
$result = curl_exec($ch);
$res    = json_decode($result, true);
print_r($res);
curl_close($ch);

ماژول نمایندگی دامین برای WHMCS

نحوه فعالسازی ماژول نمایندگی دامین میزبان پایتخت برای WHMCS

این آموزش شامل مراحل نصب و راه اندازی ماژول نمایندگی دامین میزبان پایتخت برای فروش مستقیم دامین از طریق سامانه WHMCS نصب شده برروی وب سایت شما و همچنین مدیریت دامین ها از طریق سامانه شما می باشد. نیازمندی ها حداقل نسخه WHMCS 5.0+

نحوه نصب و فعالسازی ماژول برروی WHMCS

مرحله 1:

ابتدا فایل زیر را دانلود نموده و آن را در پوشه Modules در بخش Registrar قرار دهید.

http://ehost.host/billing/domainsResellerAPI/EHOSTDomainReseller.zip

مرحله 2:

فایل additionaldomainfields.php را در آدرس includes/additionaldomainfields.php ویراش نمایید. کد زیر را قبل از پایان ?> در آخر فایل اضافه نمایید.

if(!defined('DS'))
    define('DS',DIRECTORY_SEPARATOR);
$filename = dirname(__FILE__).DS.'..'.DS.'modules'.DS.'registrars'.DS.'EHOSTDomainReseller'.DS.'EHOSTDomainReseller.php';
if(file_exists($filename)){
    require_once ($filename);
    $fields = EHOSTDomainReseller_GetDomainFields();
    if(is_array($fields))
        $additionaldomainfields = $fields;     
}

مرحله 3:

به بخش زیر رفته و ماژول MizbanPaytakhtDomainReseller را فعال نمایید. Setup -> Products/Services -> Domain Registrar

مرحله 4:

حال برروی گزینه Configure کلیک کنید و مقادیر User Email و API Key که از طریق پرتال کاربران میزبان پایتخت در قسمت API نمایندگی دامین دریافت نموده اید را وارد کنید و سپس Save Changes نمایید.

تنظیمات API ثبت نمایندگی دامین میزبان پایتخت

مرحله 5:

به بخش زیر رفته و در قسمت Auto Registration مقدار EHOSTDomainReseller را برای پسوندهای مدنظر خودتان انتخاب نمایید. Setip -> Products/Services -> Domain Pricing سپس Save Changes را بزنید تا تغییرات ذخیره شوند.

مرحله 6:

حال در قسمت Open Pricing اقدام به تغییر هزینه های ثبت، تمدید و انتقال دامین طبق تعرفه های مدنظر خودتان نمایید و سپس ذخیره کنید.

مرحله 7:

شما با موفقیت سیستم نمایندگی ثبت دامین میزبان پایتخت را نصب و فعال نموده اید. حال می بایست از طریق پرتال کاربران اقدام به افزودن اعتبار به اکانت خودتان نمایید تا هنگام ثبت سفارش از سوی کاربر دامین شما به صورت خودکار از اعتباری که در اختیار میزبان پایتخت دارید کسر گردد. برای این منظور وارد پرتال کاربران میزبان پایتخت شوید و از بخش امور مالی اقدام به افزایش وجه و اعتبار به حساب خودتان نمایید.