Работа с публичным API для доменов

Публичный GraphQL API PS Cloud Services позволяет автоматизировать регистрацию, продление и проверку доменных имен.
API доступен по адресу: https://console.ps.kz/domains/graphql.

Возможности API

  • регистрация доменов;
  • продление доменов на нужный срок;
  • проверка доступности доменных имен в реальном времени;
  • интеграция с внутренними системами.

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

Для автоматической регистрации домена используйте метод registerDomain.

Посмотреть пример запроса

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

Параметр Обязательный Описание
domainName Да Доменное имя для регистрации. Может содержать латиницу, кириллицу, казахский алфавит, цифры и дефис. Дефис нельзя использовать первым или последним символом. Смешение алфавитов не поддерживается.
years Да Период регистрации домена. Для большинства доменных зон — от 1 года до 10 лет.
nameservers Нет Список DNS-серверов. Минимальное количество — 2. Максимальное зависит от доменной зоны, в большинстве случаев — 15.
privacyProtection Нет Управляет скрытием контактных данных в WHOIS. При отсутствии параметра используется значение true.
registrant Условно Объект с данными контакта регистранта. Если параметр не указан, передайте registrantTemplateHandle.
registrantTemplateHandle Условно ID существующего шаблона контакта регистранта. Нельзя использовать одновременно с registrant.
admin Нет Объект с данными контакта администратора. Если параметр не указан, используется контакт регистранта.
adminTemplateHandle Нет ID существующего шаблона контакта администратора. Нельзя использовать одновременно с admin.
extensions Для зоны .kz Дополнительные параметры регистрации домена в зоне .kz. Содержат месторасположение сервера и цель регистрации.

Если nameservers не указан, сначала используются DNS-серверы по умолчанию из настроек аккаунта. Если они не настроены, применяются DNS-серверы PS по умолчанию.

Для использования существующего контакта выберите шаблон на странице Домены → Шаблоны контактов или получите список шаблонов через GraphQL-запрос contactTemplates → list.

Дополнительные параметры для доменов .kz

Для регистрации домена в зоне .kz передайте объект extensions:

extensions
├── srvloc
│   ├── srvloc_sp
│   ├── srvloc_city
│   └── srvloc_street
└── purpose

Параметры srvloc определяют месторасположение сервера:

  • srvloc_sp — область;
  • srvloc_city — город;
  • srvloc_street — адрес;
  • purpose — цель регистрации домена.

Поля ответа

Поле Описание
domainName Зарегистрированное доменное имя
years Период регистрации
creationDate Дата создания домена
expirationDate Дата окончания регистрации
price Стоимость регистрации
registrantTemplateHandle ID шаблона контакта регистранта
adminTemplateHandle ID шаблона контакта администратора
errors Объект с информацией об ошибке

Объект errors содержит:

  • code — код ошибки;
  • description — описание ошибки;
  • data — дополнительная информация об ошибке.

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

Код Описание
DOMAIN_ALREADY_EXISTS Домен уже зарегистрирован и не может быть зарегистрирован повторно. В описании также может быть указана дата освобождения домена или информация о том, что домен является премиальным.
WRONG_DOMAIN_NAME Некорректное доменное имя.
YEARS_LIMIT_VIOLATED Указан недопустимый период регистрации.
MIN_NAMESERVERS Количество DNS-серверов меньше минимального значения — 2.
MAX_NAMESERVERS Количество DNS-серверов превышает максимальное значение для доменной зоны.
NAMESERVER_NOT_EXIST DNS-сервер отсутствует в реестре регистратуры.
NAMESERVERS_IS_REQUIRED Не указан список DNS-серверов.
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 не найден.
ADMIN_TEMPLATE_NOT_FOUND Шаблон контакта администратора с указанным ID не найден.
WRONG_PARAMETERS Одновременно переданы взаимоисключающие параметры registrant и registrantTemplateHandle или admin и adminTemplateHandle.
INSUFFICIENT_ACCOUNT_BALANCE Недостаточно средств на балансе для регистрации домена.
UNEXPECTED_ERROR Непредвиденная ошибка. Дополнительная информация передается в описании или поле data.

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

Не указано месторасположение сервера

Посмотреть пример ответа

Не указана цель регистрации

Посмотреть пример ответа

Домен уже зарегистрирован

Посмотреть пример ответа

Домен является премиальным

Для регистрации премиального домена обратитесь в отдел продаж.

Посмотреть пример ответа

Невалидные поля шаблона

В поле data возвращается информация о полях, которые не прошли валидацию.

Посмотреть пример ответа

Несуществующие DNS-серверы

В поле data возвращается дополнительная информация о DNS-серверах, которые не прошли проверку.

Посмотреть пример ответа

Поля контакта

Общие поля

Поле Описание
type Обязательное поле. Тип контакта: физическое или юридическое лицо.
residence Обязательное поле. Двухбуквенный код страны проживания или регистрации контакта.
contact_email Обязательное поле. Адрес электронной почты.
contact_phone Обязательное поле. Номер телефона в международном формате, например +7.7273888231.
contact_fax Необязательное поле. Номер факса в международном формате.
address_street Обязательное поле. Адрес проживания физического лица или регистрации юридического лица.
address_city Обязательное поле. Город.
address_state Обязательное поле. Область.
address_streetLatin Обязательное поле. Адрес на латинице.
address_cityLatin Обязательное поле. Город на латинице.
address_stateLatin Обязательное поле. Область на латинице.
address_postalCode Обязательное поле. Почтовый индекс.
address_countryCode Обязательное поле. Двухбуквенный код страны.

Поля физического лица

Поле Описание
person_firstName Обязательное поле. Имя.
person_lastName Обязательное поле. Фамилия.
person_patronymic Необязательное поле. Отчество.
person_firstNameLatin Обязательное поле. Имя на латинице.
person_lastNameLatin Обязательное поле. Фамилия на латинице.
person_patronymicLatin Необязательное поле. Отчество на латинице.
person_birthDate Обязательное для физического лица в зоне .ru. Дата рождения в формате DD.MM.YYYY.
taxId Обязательное для резидента Узбекистана при регистрации .uz. Для .kz обязательно для резидентов и нерезидентов РК. Для нерезидента можно указать аналог налогового идентификатора.

Поля юридического лица

Поле Описание
legalEntity_name Обязательное поле. Полное наименование организации.
legalEntity_role Обязательное поле. Роль контакта в организации. Для .uz указывается полное имя контакта вместе с ролью.
legalEntity_nameLatin Обязательное поле. Полное наименование организации на латинице.
legalEntity_roleLatin Обязательное поле. Роль контакта на латинице. Для .uz указывается полное имя контакта вместе с ролью.

Паспортные данные

Поле Описание
passport_code Обязательное для физического лица в зонах .ru и .uz. Серия паспорта.
passport_number Обязательное для физического лица в зонах .ru и .uz. Номер паспорта.
passport_who Обязательное для физического лица в зонах .ru и .uz. Орган, выдавший паспорт.
passport_whoLatin Обязательное для физического лица в зонах .ru и .uz. Орган, выдавший паспорт, на латинице.
passport_issueDate Обязательное для физического лица в зоне .ru. Дата выдачи в формате DD.MM.YYYY.
passport_expirationDate Обязательное для физического лица в зоне .uz. Дата окончания срока действия в формате DD.MM.YYYY.

Дополнительные поля для .uz

Поле Описание
uz_bankName Обязательное для юридического лица. Наименование банка организации.
uz_bankNameLatin Обязательное для юридического лица. Наименование банка на латинице.
uz_bankAccount Обязательное для юридического лица. Расчетный счет организации.
uz_regionCode Обязательное для резидента Узбекистана. Область Узбекистана или город Ташкент.

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

Для автоматического продления домена используйте метод renewDomain.

Посмотреть пример запроса

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

Параметр Обязательный Описание
domainName Да Доменное имя для продления.
years Да Период продления. Для большинства зон — от 1 года до 10 лет.
currentExpiryDate Да Текущая дата окончания регистрации в формате YYYY-mm-dd. Должна совпадать с данными WHOIS.

Поля ответа

Поле Описание
domainName Доменное имя
invoiceNum Номер счета
price Стоимость продления
expirationDate Новая дата окончания регистрации
errors Информация об ошибке

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

Код Описание
DOMAIN_NOT_FOUND Домен не найден.
WRONG_EXPIRATION_DATE Указана некорректная дата окончания регистрации. При передаче даты необходимо учитывать UTC+0.
INSUFFICIENT_ACCOUNT_BALANCE Недостаточно средств на балансе для продления домена.
UNEXPECTED_ERROR Непредвиденная ошибка.

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

Для проверки доступности одного или нескольких доменов используйте метод checkDomains.

Посмотреть пример запроса

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

Параметр Обязательный Описание
domains Да Массив доменных имен для проверки.

Поля ответа

Поле Описание
domain Доменное имя
tld Доменная зона
available Доступность домена: true — доступен, false — недоступен
reason Причина недоступности домена

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

Значение Описание
WRONG_DOMAIN_NAME Некорректное доменное имя.
TLD_NOT_AVAILABLE Доменная зона недоступна или не подключена для работы через API.
DOMAIN_EXISTS Домен уже зарегистрирован.
DOMAIN_IS_PREMIUM Премиальный домен. Для регистрации необходимо обратиться в отдел продаж.
REGISTRY_CHECK_ERROR При проверке домена произошла непредвиденная ошибка.

Посмотреть пример ответа

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