====== 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|Обрабатывается (На продлении)|