====== API BillManager4 регистрация доменов (пример) ======
* Получение списка доменов:
%%https://my.ru-tld.ru/manager/billmgr?func=domain&authinfo=$LOGIN:$PASSWORD&out=json%%
пример ответа:
{
"elem": [
{
"id": "123",
"name": "domain1.ru",
"account": "account (name account)",
"account_id": "1",
"expire": "on",
"autoperiod": "-",
"domainstatus": "5"
},
{
"id": "456",
"name": "domain2.ru",
"account": "account (name account)",
"account_id": "3",
"expire": "2017-02-17",
"autoperiod": "-",
"domainstatus": "3"
}]
}
Статусы домена:
0 - Нет данных
1 - Не оплачен
2 - Делегирован (Активен)
3 - Зарегистрирован (Не делегирован) (если expire > текущей даты) / Истек (если expire <= текущей даты)
4 - Удален
5 - Обрабатывается (На регистрации)
6 - Обрабатывается (Трансфер)
7 - Обрабатывается (На продлении)
* Изменение NS:
%%https://my.ru-tld.ru/manager/billmgr?func=domain.edit&elid=$DOMAIN_ID&ns0=$NS0&ns1=$NS1&ns2=$NS2&ns3=$NS3&changens=on&sok=ok&authinfo=$LOGIN:$PASSWORD&out=json%%
пример успешного ответа:
{
"result" : "OK",
"text": "\n ",
"text": "\n",
"ok": ""
}
* Регистрация домена:
%%https://my.ru-tld.ru/manager/billmgr?func=domain.order.4%%
%%&contact=$CONTACT_ID%%
%%&ctype=person%%
%%&owner=$CONTACT_ID%%
%%&domain=$DOMAIN_NAME_WITHOUT_TLD%%
%%&domainname_0=$DOMAIN_NAME_WITHOUT_TLD%%
%%&tld=$TLD%%
%%&nslist_0=$NSLIST%%
%%&operation=register%%
%%&period_0=$PRICE_PERIOD%%
%%&price=$PRICE_ID%%
%%&pricelist_0=$PRICE_ID%%
%%®istrar=$REGISTRAR_ID%%
%%&paynow=on%%
%%&payfrom=account$ACCOUNT_ID%%
%%&sok=ok%%
%%&authinfo=$LOGIN:$PASSWORD%%
%%&countdomain=$COUNTDOMAIN%%
%%&out=json%%
Для регистрации нескольких доменов одним запросом необходимо
добавить/изменить следующие поля
&countdomain=$COUNTDOMAIN - количество доменов
&domain=$DOMAIN_NAME_WITHOUT_TLD - список доменов через пробел
без зоны
следующие переменные необходимо расписать для каждого домена
изменяя номер переменной - N
&domainname_N=$DOMAIN_NAME_WITHOUT_TLD
&nslist_N=$NSLIST
&period_N=$PRICE_PERIOD
&pricelist_N=$PRICE_ID
* Проверка на занятость домена:
%%https://my.ru-tld.ru/mancgi/domaininfo?domain=ru-tld.ru%%
* Продление домена:
%%https://my.ru-tld.ru/manager/billmgr?func=domain.renew%%
%%&autoperiod=$PRICE_PERIOD%%
%%&payfrom=account$ACCOUNT_ID%%
%%&paynow=on%%
%%&elid=$DOMAIN_ID%%
%%&sok=ok%%
%%&authinfo=$LOGIN:$PASSWORD%%
%%&out=json%%
* Создание и заполнение контакта. (делается в два шага. 1 создаётся контакт. 2 заполняются поля контакта)
* шаг 1 контакт на физическое лицо:
%%https://my.ru-tld.ru/manager/billmgr?func=contcat.create.1%%
%%&ctype=person%%
%%&cname=$CONTACT_NAME%%
%%&sok=ok%%
%%&authinfo=$LOGIN:$PASSWORD%%
%%&out=json%%
* Ответ в котором содержится $CONTACT_ID для второго шага
{
"result" : "OK",
"domaincontact.id": $CONTACT_ID,
"ok": "",
"redirect": "location='billmgr?func=contcat.create.2
&authinfo=$LOGIN:$PASSWORD&cname=CONTACT%5FNAME
&contactid=$CONTACT_ID&ctype=person';"
}
* шаг 2 заполняем поля контакта для физического лица:
%%https://my.ru-tld.ru/manager/billmgr?func=domaincontact.edit%%
%%&ctype=person%%
%%&name=$CONTACT_NAME%%
%%&firstname_ru=$FIRSTNAME_RU%%
%%&middlename_ru=$MIDDLENAME_RU%%
%%&lastname_ru=$LASTNAME_RU%%
%%&firstname=$FIRSTNAME%%
%%&middlename=$MIDDLENAME%%
%%&lastname=$LASTNAME%%
%%&email=$EMAIL%%
%%&phone=$PHONE%%
%%&fax=$PHONE%%
%%&mobile=$PHONE%%
%%&la_country=$ID_COUNTRY%%
%%&la_state=$LA_STATE%%
%%&la_postcode=$LA_POSTCODE%%
%%&la_city=$LA_CITY%%
%%&la_address=$LA_ADDRESS%%
%%&pa_state=$PA_STATE%%
%%&pa_postcode=$PA_POSTCODE%%
%%&pa_city=$PA_CITY%%
%%&pa_address=$PA_ADDRESS%%
%%&pa_addressee=$PA_ADDRESSEE%%
%%&inn=$INN%%
%%&birthdate=$BIRTHDATE%%
%%&passport_series=$PASSPORT_SERIES%%
%%&passport_org=$PASSPORT_ORG%%
%%&passport_date=$PASSPORT_DATE%%
%%&elid=$CONTACT_ID%%
%%&sok=ok%%
%%&authinfo=$LOGIN:$PASSWORD%%
%%&out=json%%
* шаг 1 контакт на юридическое лицо:
%%https://my.ru-tld.ru/manager/billmgr?func=contcat.create.1%%
%%&ctype=company%%
%%&cname=$CONTACT_NAME%%
%%&sok=ok%%
%%&authinfo=$LOGIN:$PASSWORD%%
%%&out=json%%
* Ответ в котором содержится $CONTACT_ID для второго шага
{
"result" : "OK",
"domaincontact.id": $CONTACT_ID,
"ok": "",
"redirect": "location='billmgr?func=contcat.create.2
&authinfo=$LOGIN:$PASSWORD&cname=CONTACT%5FNAME
&contactid=$CONTACT_ID&ctype=company';"
}
* шаг 2 заполняем поля контакта для юридического лица:
%%https://my.ru-tld.ru/manager/billmgr?func=domaincontact.edit%%
%%&ctype=company%%
%%&name=$CONTACT_NAME%%
%%&company_ru=$COMPANY_RU%%
%%&company=$COMPANY%%
%%&email=$EMAIL%%
%%&phone=$PHONE%%
%%&fax=$PHONE%%
%%&mobile=$PHONE%%
%%&la_country=$ID_COUNTRY%%
%%&la_state=$LA_STATE%%
%%&la_postcode=$LA_POSTCODE%%
%%&la_city=$LA_CITY%%
%%&la_address=$LA_ADDRESS%%
%%&pa_state=$PA_STATE%%
%%&pa_postcode=$PA_POSTCODE%%
%%&pa_city=$PA_CITY%%
%%&pa_address=$PA_ADDRESS%%
%%&pa_addressee=$PA_ADDRESSEE%%
%%&inn=$INN%%
%%&kpp=$KPP%%
%%&ogrn=$OGRN%%
%%&elid=$CONTACT_ID%%
%%&sok=ok%%
%%&authinfo=$LOGIN:$PASSWORD%%
%%&out=json%%
* шаг 1 контакт для международных доменов:
%%https://my.ru-tld.ru/manager/billmgr?func=contcat.create.1%%
%%&ctype=generic%%
%%&cname=$CONTACT_NAME%%
%%&sok=ok%%
%%&authinfo=$LOGIN:$PASSWORD%%
%%&out=json%%
* Ответ в котором содержится $CONTACT_ID для второго шага
{
"result" : "OK",
"domaincontact.id": $CONTACT_ID,
"ok": "",
"redirect": "location='billmgr?func=contcat.create.2
&authinfo=$LOGIN:$PASSWORD&cname=CONTACT%5FNAME
&contactid=$CONTACT_ID&ctype=generic';"
}
* шаг 2 заполняем поля контакта для международных доменов:
%%https://my.ru-tld.ru/manager/billmgr?func=domaincontact.edit%%
%%&ctype=generic%%
%%&name=$CONTACT_NAME%%
%%&company=$COMPANY%%
%%&firstname=$FIRSTNAME%%
%%&lastname=$LASTNAME%%
%%&email=$EMAIL%%
%%&phone=$PHONE%%
%%&fax=$PHONE%%
%%&la_country=$ID_COUNTRY%%
%%&la_state=$LA_STATE%%
%%&la_postcode=$LA_POSTCODE%%
%%&la_city=$LA_CITY%%
%%&la_address=$LA_ADDRESS%%
%%&elid=$CONTACT_ID%%
%%&sok=ok%%
%%&authinfo=$LOGIN:$PASSWORD%%
%%&out=json%%
__*** Переменные:**__
--$DOMAIN_NAME_WITHOUT_TLD - доменное имя без зоны.
--$TLD - зона (RU,SU,...)
--$CONTACT_ID - ид контакта для домена, посмотреть можно через API (%%https://my.ru-tld.ru/manager/billmgr?func=domaincontact&authinfo=$LOGIN:$PASSWORD&out=json%%)
--$PRICE_PERIOD и $PRICE_ID - период и тарифный план для регистрируемого домена.
__Специфично для биллинга__, в нашем биллинге для .RU $PRICE_PERIOD=520 $PRICE_ID=565, а для .SU $PRICE_PERIOD=535 $PRICE_ID=594.
Подсмотреть для других тарифов можно через интерфейс биллинга и firebug.
Для удобства мы выгружаем все тарифы и их идентификаторы в json файл, чтобы его можно было использовать в скриптах или модулях.
(https://my.ru-tld.ru/manimg/userdata/json/domainprice_ru.json)
--$REGISTRAR_ID - ид регистратора, специфично для биллинга, у нас для регистратора Ардис $REGISTRAR_ID=13
--$ACCOUNT_ID - ид аккаунта с которого списывать деньги. Посмотреть можно по API:
(%%https://my.ru-tld.ru/manager/billmgr?func=accountinfo&authinfo=$LOGIN:$PASSWORD&out=json%%)
--$COUNTDOMAIN - количество регистрируемых доменов, по умолчанию 1.
--$NSLIST - список ns перечисленные через пробел (пример &nslist_0=dns1.ru-tld.ru dns2.ru-tld.ru)
--$CONTACT_NAME - название контакта
--$FIRSTNAME_RU - имя на кириллицей
--$MIDDLENAME_RU - отчество кириллицей
--$LASTNAME_RU - фамилия кириллицей
--$FIRSTNAME - имя латинскими буквами
--$MIDDLENAME - отчество латинскими буквами
--$LASTNAME - фамилия латинскими буквами
--$EMAIL - e-mail
--$PHONE - телефон/ телефон для смс / факс. В формате телефона обязательно должны присутствовать + и 2 пробела. Причём + кодируется в %2B
--$ID_COUNTRY - ид страны. Ид страны можно посмотреть в файле https://my.ru-tld.ru/manimg/userdata/json/country.json (182 - для России)
--$INN - инн
--$BIRTHDATE - дата рождения указывается в следующем формате yyyy-mm-dd (2016-10-21)
--$PASSPORT_SERIES - серия/номер паспорта
--$PASSPORT_ORG - кем выдан паспорт
--$PASSPORT_DATE - дата выдачи паспорта в следующем формате yyyy-mm-dd (2016-10-21)
--$CONTACT_ID - ид контакта. Ид контакта можно узнать в ответе при создании контакта шаг 1 или можно посмотреть через API (%%https://my.ru-tld.ru/manager/billmgr?func=domaincontact&authinfo=$LOGIN:$PASSWORD&out=json%%)
--$COMPANY_RU - наименование компании кириллицей
--$COMPANY - наименование компании латинскими буквами
--$KPP - кпп
--$OGRN - огрн
Поля метса жительства
--$LA_STATE - область
--$LA_POSTCODE - индекс
--$LA_CITY - город
--$LA_ADDRESS - улица, дом, квартира и т.д.
Почтовый адрес
--$PA_STATE - область
--$PA_POSTCODE - индекс
--$PA_CITY - город
--$PA_ADDRESS - улица, дом, квартира и т.д.
--$PA_ADDRESSEE - кому адресовано
В виду отсутствия целевой документации по вызовами API биллинга , самый простой способ их узнать - это воспользоваться браузером с консолью типа firebug или аналогом и подсматривать запросы, которые отправляются биллингу через веб интерфейс. Веб интерфейс биллинга по сути построен на API, для того чтобы получать ответы от BILLmanager в xml или json вместо HTML, все что требуется это добавить параметр out=json (или xml)
__Статусы доменов:__
|1|Не оплачен|
|2|Делегирован|
|3|Зарегистрирован (Не делегирован) (если expire > текущей даты) / Истек (если expire <= текущей даты)|
|4|Удален|
|5|Обрабатывается (На регистрации)|
|6|Обрабатывается (Трансфер)|
|7|Обрабатывается (На продлении)|