Работа с доменами через публичный API

Публичный GraphQL API позволяет регистрировать и продлевать домены, а также проверять доступность доменных имен.

Для выполнения запросов используйте публичный GraphQL API доменов.

Регистрация домена

Через API можно зарегистрировать домен с использованием существующего шаблона контакта или создать новый контакт при регистрации.

Примеры запросов:

Параметры запроса

  • domainName — обязательное поле. Имя домена для регистрации. Доменное имя может содержать латиницу, кириллицу, цифры и символ тире (последнее только не первым и не последним значением). Смешение алфавитов не принимается.
  • years — обязательное поле. Период регистрации домена, для большинства зон от 1 года до 10 лет.
  • nameservers — список неймсерверов. Минимальное значение неймсерверов — 2. Максимальное значение неймсерверов зависит от зоны. В большинстве случаев максимальное значение — 15.
  • privacyProtection — скрытие контактных данных. Булевое значение. Если значение не передано, то по умолчанию будет передано true, т.е. скрыто.
  • registrant — объект с полями для создания контакта в качестве регистранта. С детальным описанием полей контакта можно ознакомиться ниже. Если данные регистранта не указаны, то необходимо заполнить поле registrantTemplateHandle. Нельзя указывать оба значения registrant и registrantTemplateHandle, необходимо выбрать только одно значение в качестве регистранта.
  • registrantTemplateHandle — идентификационный номер (ID) шаблона контакта для регистрации в качестве регистранта. Можно использовать уже созданный шаблон контактов. В консоли PS домены на странице Шаблоны контактов можно выбрать необходимый контакт. Либо запросить через GraphQL contactTemplates → list.
  • admin — объект с полями для создания контакта в качестве администратора. С детальным описанием полей контакта можно ознакомиться ниже. Если данные администратора не указаны, то можно заполнить поле adminTemplateHandle. Необязательное поле, если не передано значение администратора, то будет использован контакт регистранта.
  • adminTemplateHandle — ID шаблона контакта для регистрации в качестве администратора. Можно использовать уже созданный шаблон контактов. В консоли PS домены на странице Шаблоны контактов можно выбрать необходимый контакт. Либо запросить через GraphQL contactTemplates → list.

Поля ответа

  • domainName — зарегистрированное доменное имя;
  • years — период регистрации домена;
  • creationDate — дата создания домена;
  • expirationDate — дата истечения домена;
  • price — цена регистрации домена;
  • registrantTemplateHandle — ID шаблона контакта регистранта;
  • adminTemplateHandle — ID шаблона контакта администратора;
  • errors — объект ошибки:
    • code — код ошибки;
    • description — описание;
    • data — детализированная информация в зависимости от ошибки.

Возможные ошибки при регистрации

  • DOMAIN_ALREADY_EXISTS — домен уже существует и не может быть зарегистрирован. Также может быть добавлено описание, что домен освободится в определенную дату, либо домен является премиальным.
  • WRONG_DOMAIN_NAME — неправильное доменное имя. Также будет добавлено описание ошибки: доменное имя может содержать латиницу, кириллицу и казахский алфавит, цифры и символ тире (последнее только не первым и не последним значением). Смешение алфавитов не принимается.
  • YEARS_LIMIT_VIOLATED — нарушение периода регистрации. Период регистрации домена, для большинства зон от 1 года до 10 лет.
  • MIN_NAMESERVERS — указанное количество неймсерверов меньше минимального значения, которое равно 2.
  • MAX_NAMESERVERS — указанное количество неймсерверов превышает максимальное значение в определенной доменной зоне. В большинстве случаев максимальное значение — 15.
  • NAMESERVER_NOT_EXIST — неймсервер не существует в реестре регистратуры.
  • NAMESERVERS_IS_REQUIRED — не указан список неймсерверов.
  • REGISTRANT_IS_REQUIRED — не указаны данные для регистранта. Необходимо указать объект контакта регистранта либо ID созданного шаблона контакта.
  • REQUIRED_EXTENSION_IS_MISSING — не указаны дополнительные настройки, необходимые для доменной зоны. Например, для доменной зоны kz необходимо указать месторасположение сервера, а также цель.
  • TLD_NOT_AVAILABLE — доменная зона не подключена для авторегистрации домена.
  • REGISTRANT_FIELDS_ARE_MISSING — не указаны обязательные поля для создания контакта регистранта. Детализация приведена в разделе «Поля для создания контакта».
  • ADMIN_FIELDS_ARE_MISSING — не указаны обязательные поля для создания контакта администратора. Детализация приведена в разделе «Поля для создания контакта».
  • REGISTRANT_TEMPLATE_NOT_FOUND — несуществующий шаблон контакта. Шаблон контакта регистранта не найден по указанному ID в поле registrantTemplateHandle.
  • ADMIN_TEMPLATE_NOT_FOUND — несуществующий шаблон контакта. Шаблон контакта администратора не найден по указанному ID в поле adminTemplateHandle.
  • WRONG_PARAMETERS — нельзя указывать оба значения registrant и registrantTemplateHandle, необходимо выбрать только одно значение в качестве регистранта. Нельзя указывать оба значения admin и adminTemplateHandle, необходимо выбрать только одно значение в качестве администратора.
  • INSUFFICIENT_ACCOUNT_BALANCE — недостаточно средств на балансе для регистрации домена.
  • UNEXPECTED_ERROR — непредвиденная ошибка с раскрытием дополнительной информации в описании или дате.

Примеры ошибок при регистрации

Примеры ответов API:

Поля для создания контакта

  • type — обязательное поле. Определяет либо физическое лицо (физ лицо), либо юридическое (юр лицо).
  • residence — обязательное поле. Двухбуквенный код страны, где проживает контактное лицо.
  • person_firstName — если указан тип физическое лицо, то поле является обязательным. Указывается имя контакта.
  • person_lastName — если указан тип физическое лицо, то поле является обязательным. Указывается фамилия контакта.
  • person_patronymic — если указан тип физическое лицо, то поле является опциональным. Указывается отчество контакта.
  • person_firstNameLatin — если указан тип физическое лицо, то поле является обязательным. Указывается имя контакта на латинице (английская транслитерация).
  • person_lastNameLatin — если указан тип физическое лицо, то поле является обязательным. Указывается фамилия контакта на латинице (английская транслитерация).
  • person_patronymicLatin — если указан тип физическое лицо, то поле является опциональным. Указывается отчество контакта на латинице (английская транслитерация).
  • person_birthDate — если указан тип физическое лицо, то поле является опциональным. Указывается дата рождения контакта в формате DD.MM.YYYY.
  • taxId — если указан тип физическое лицо, доменная зона uz и резидентство Узбекистан, то поле является обязательным. Указывается идентификационный номер налогоплательщика.
  • legalEntity_name — если указан тип юридическое лицо, то поле является обязательным. Указывается полное наименование организации.
  • legalEntity_role — если указан тип юридическое лицо, то является обязательным. Для доменной зоны uz указывается ФИО контакта.
  • legalEntity_nameLatin — если указан тип юридическое лицо, то поле является обязательным. Указывается полное наименование организации на латинице (английская транслитерация).
  • legalEntity_roleLatin — если указан тип юридическое лицо, то является обязательным. Указывается ФИО контакта в организации на латинице (английская транслитерация).
  • contact_email — обязательное поле. Адрес электронной почты контакта.
  • contact_phone — обязательное поле. Номер телефона в международном формате +7.7273888231. Включая знак +, код страны, код города и местный телефон.
  • contact_fax — опциональное поле. Номер факса в международном формате +7.7273888231. Включая знак +, код страны, код города и местный телефон.
  • address_street — обязательное поле. Список адресов, где физ лицо проживает, либо где зарегистрировано юр лицо. Адрес может включать в себя название улицы, номер дома, корпус или номер квартиры.
  • address_city — обязательное поле. Название города контакта.
  • address_state — обязательное поле. Название области контакта.
  • address_streetLatin — обязательное поле. Список адресов, где физ лицо проживает, либо где зарегистрировано юр лицо. Адрес может включать в себя название улицы, номер дома, корпус или номер квартиры на латинице (английская транслитерация).
  • address_cityLatin — обязательное поле. Название города контакта на латинице (английская транслитерация).
  • address_stateLatin — обязательное поле. Название области контакта на латинице (английская транслитерация).
  • address_postalCode — обязательное поле. Почтовый индекс адреса контакта.
  • address_countryCode — обязательное поле. Двухбуквенный код страны, где проживает или зарегистрировано контактное лицо.
  • passport_code — если тип физ лицо и доменная зона uz, то поле является обязательным. Указывается серия паспорта.
  • passport_number — если тип физ лицо и доменная зона uz, то поле является обязательным. Указывается номер паспорта.
  • passport_who — если тип физ лицо и доменная зона uz, то поле является обязательным. Указывается наименование органа выдавшего паспорт.
  • passport_whoLatin — если тип физ лицо и доменная зона uz, то поле является обязательным. Указывается наименование органа выдавшего паспорт на латинице (английская транслитерация).
  • passport_issueDate — если тип физ лицо, поле является опциональным. Указывается дата выдачи паспорта в формате DD.MM.YYYY.
  • passport_expirationDate — если тип физ лицо и доменная зона uz, то поле является обязательным. Указывается дата истечения паспорта в формате DD.MM.YYYY.
  • uz_bankName — если тип юр лицо и доменная зона uz, то поле является обязательным. Указывается наименование банка, в котором зарегистрирована организация.
  • uz_bankNameLatin — если тип юр лицо и доменная зона uz, то поле является обязательным. Указывается наименование банка, в котором зарегистрирована организация на латинице (английская транслитерация).
  • uz_bankAccount — если тип юр лицо и доменная зона uz, то поле является обязательным. Указывается реквизиты банка, расчетный счет, на котором зарегистрирована организация.
  • uz_regionCode — если доменная зона uz и резидентство Узбекистан, то поле является обязательным. Выбирается одна из областей Узбекистана или город Ташкент.

Продление домена

Пример запроса содержится в файле domain-renewal.txt.

Параметры запроса

  • domainName — обязательное поле. Имя домена для продления.
  • years — обязательное поле. Период продления домена, для большинства зон от 1 года до 10 лет.
  • currentExpiryDate — обязательное поле в формате YYYY-mm-dd. Дата истечения домена должна совпадать с данными whois.

Поля ответа

  • domainName — зарегистрированное доменное имя;
  • invoiceNum — номер счета;
  • price — цена продления;
  • expirationDate — дата истечения домена;
  • errors — объект ошибки:
    • code — код ошибки;
    • description — описание;
    • data — детализированная информация в зависимости от ошибки.

Возможные ошибки при продлении

  • DOMAIN_NOT_FOUND — домен не существует/не найден в базе.
  • WRONG_EXPIRATION_DATE — неправильная дата истечения домена. Необходимо учитывать также, что дата должна быть в UTC+0. Иначе ошибка при валидации даты.
  • INSUFFICIENT_ACCOUNT_BALANCE — недостаточно средств на балансе для продления домена.
  • UNEXPECTED_ERROR — непредвиденная ошибка.

Проверка доступности доменов

Пример запроса содержится в файле domain-availability-check.txt.

Параметры запроса

  • domains — массив названий доменов.

Поля ответа

  • domain — доменное имя;
  • tld — доменная зона домена;
  • available — доступность домена (булевое значение: true — доступен, false — недоступен);
  • reason — причина недоступности домена.

Причины недоступности домена

  • WRONG_DOMAIN_NAME — неправильное доменное имя. Также будет добавлено описание ошибки: доменное имя может содержать латиницу, кириллицу и казахский алфавит, цифры и символ тире (последнее только не первым и не последним значением). Смешение алфавитов не принимается.
  • TLD_NOT_AVAILABLE — доменная зона не недоступна, либо не подключена для API.
  • DOMAIN_EXISTS — домен уже существует/зарегистрирован.
  • DOMAIN_IS_PREMIUM — домен является премиальным, следует обратиться в ОП.
  • REGISTRY_CHECK_ERROR — произошла непредвиденная ошибка при проверке.

Пример ответа содержится в файле domain-availability-response.txt.

question
Не нашли подходящего ответа?
Напишите запрос в службу поддержки
Написать сейчас
  1. Main