Документация по API HB.BY

Описание API #

API предназначен для обеспечения взаимодействия партнеров с HB.BY. Аутентификация осуществляется по уникальному API-ключу (токену).

Взаимодействие осуществляется на клиент-серверной технологии RESTful. Партнер выступает в роли клиента, отправляет HTTP-запросы на сервер API. Данные передаются в кодировке UTF-8. В ответ на HTTP-запрос сервер отправляет HTTP-ответ клиенту в JSON-формате.

Формат запроса #

Во всех запросах передаются обязательные параметры:

  • version – версия API;
  • x-api-token – API-ключ (токен) доступа к серверу.

Параметр version должен передаваться в строке запроса.

Параметр x-api-token должен передаваться в заголовке запроса.

Для получения доступа к генерации API-токенов необходимо являться партнером HB.BY. После, в личном кабинете станет доступен раздел «API-токены».

Формат ответа #

Любой ответ от сервера представлен в JSON-формате. В случае успешного выполнения запроса возвращается необходимый набор ключей и значений, предназначенный для конкретного ответа на запрос.

Пример ответа при успешном выполнении операции (получение списка счетов):

{
  "invoices": [
    {
      "invoice_id": 99268,
      "invoice_number": "СФ-1221379-02",
      "order_id": 28877,
      "creation_date": "28.08.2025",
      "expiration_date": "27.09.2025",
      "amount": 39.00,
      "currency_id": 500,
      "state": "WaitingForPayment"
    }
  ]
}

В случае ошибки валидации (код ответа 400) возвращается JSON, содержащий:

{
  "message": "Поле 'Домен' должно быть заполнено."
}

Возможные коды ошибок о выполнении операций:

  • 400 – некорректный запрос;
  • 401 – неавторизованный запрос;
  • 404 – метод или данные не найдены;
  • 500 – внутренняя ошибка сервера.

При успешном запросе возвращается 200 код ответа. Тело ответа в виде JSON возвращается в тех случаях, когда у метода указаны параметры ответа.

Структура документации #

Поддерживаемые методы

В API используются стандартные HTTP-методы:

  • GET – получение информации;
  • POST – создание или отправка данных;
  • PUT – полное обновление существующих данных;
  • DELETE – удаление данных.

Каждый метод указан в описании запроса.

Структура описания метода

Описание метода включает следующие разделы:

  • название и назначение метода – краткое описание действия;
  • метод и адрес запроса – указывается HTTP-метод и полный URL;
  • параметры запроса – список параметров, которые могут быть переданы в URL;
  • тело запроса – список параметров, которые могут быть переданы в формате JSON;
  • тело ответа – структура возвращаемых данных в формате JSON;
  • пример запроса – готовый пример вызова API;
  • пример ответа – пример JSON-объекта, который вернёт API.

Таблицы параметров

Для запроса и ответа параметры оформлены в виде таблиц, где каждая строка описывает один параметр.

  • Имя – название параметра.
  • Вложенность – путь параметра в структуре (например, body, pricelists[i]).
  • Тип – тип данных (например, string, integer, array«object»).
  • Описание – пояснение назначения параметра.

Обязательные параметры выделяются звёздочкой (*) рядом с типом.

Например:

  • string* – обязательный строковый параметр;
  • array«string*» – обязательный массив строк.

Если параметр не имеет звёздочки (*), то он считается необязательным, и может либо отсутствовать, либо иметь значение NULL.

ВАЖНЫЕ ПАРАМЕТРЫ API И ИХ ЗНАЧЕНИЯ

tariff_id (идентификатор тарифа)

Что это: уникальный идентификатор тарифного плана (строка или число), который однозначно определяет тариф на услуги (например, хостинг, VPS и т.д.).

Допустимые значения: строковые или числовые идентификаторы, возвращаемые методами списка тарифов (не задавайте значения "вслепую", используйте API для получения актуального списка).

Поведение: при указании tariff_id API проверяет, доступен ли тариф для выбранных параметров (currency, period_unit_count и т.д.). Если тариф не найден или недоступен – возвращается 404 или 400.

Связанные методы:

  • GET /v1/orders/hostings/tariffs – получить список тарифов и их tariff_id.

currency_id (идентификатор валюты)

Что это: внутренний идентификатор валюты в системе (целое число), используемый API для выбора цен и формирования счетов.

Допустимые значения: целые числа, возвращаемые методом списка валют (например: 200, 300, 400, 500). Не подставляйте значения вручную – получайте актуальные currency_id через API.

Поведение: выбор currency_id влияет на отображаемые цены, доступность способов оплаты и возможные тарифы/прайс-листы. При указании несуществующей валюты API вернёт ошибку (обычно 400 или 404 в зависимости от метода).

Связанные методы:

  • GET /v1/billing/currencies – получить список валют и их currency_id.

service_id (идентификатор услуги)

Что это: уникальный идентификатор услуги в системе (например, хостинг, почта и т.п.), используемый для фильтрации тарифов и формирования заказа.

Допустимые значения: целые идентификаторы, возвращаемые методом получения услуг (пример: 195 для Unix-хостинга). Не задавайте вслепую – получите список через API.

Поведение: при передаче service_id в запросе методы, выдающие тарифы, вернут тарифы только для указанной услуги; некорректный service_id приведёт к пустому списку или ошибке 400/404.

Связанные методы:

  • GET /v1/orders/services – получить список услуг и их service_id.
  • GET /v1/orders/hostings/tariffs?service_id={id} – получить тарифы для конкретной услуги.

period_type (единица периода)

Что это: единица измерения периода оплаты (строка), определяющая интерпретацию значения периода/period (например, month, year).

Допустимые значения: строковые метки типа month, year (в примерах встречается month для хостинга и year для доменных зон).

Поведение: поле period_type определяет, в каких единицах указаны поля period / period_unit_count / min_period / max_period. Несоответствие единиц при передаче периода приводит к ошибке валидации.

Связанные методы:

  • GET /v1/orders/hostings/tariffs – в ответе у тарифов возвращается period_type.
  • GET /v1/orders/domains/zones – у зон доменов возвращается period_type (например, year).

available_periods / prices (доступные периоды и цены)

Что это: у тарифов присутствует массив вариантов стоимости – либо как available_periods, либо в структуре prices (массив объектов с полями period и price), который показывает, какие значения period_unit_count поддерживаются и по каким ценам.

Допустимые значения: массив целых чисел для available_periods (например [1, 3, 6, 12]) или массив объектов { "period": integer, "price": number } в prices.

Поведение: при создании заказа вы должны выбирать period_unit_count, который присутствует в available_periods/prices. Попытка указать неподдерживаемый период вернёт 400 с сообщением о недопустимом периоде. Цены в prices уже могут учитывать скидки (например, при оплате за 12 месяцев).

Связанные методы:

  • GET /v1/orders/hostings/tariffs – возвращает prices/available_periods.
  • GET /v1/billing/pricelists/{number}/tariffs – узнать цены тарифов с учётом скидок для разных периодов.

price / prices (стоимость)

Что это: числовое значение стоимости для конкретного периода в объекте prices тарифа.

Допустимые значения: числовые значения (например 6.00, 33.00), соответствуют валюте, указанной полем currency_id.

Поведение: значение price указывается в ответе на запросы тарифов/зон и уже учитывает применимые скидки для указанного периода; при расчёте окончательной суммы используйте именно возвращаемые API значения. При отсутствии цены для выбранного периода – попытка создания заказа приведёт к ошибке.

Связанные методы:

  • GET /v1/orders/hostings/tariffs – возвращает prices.
  • GET /v1/orders/domains/zones – возвращает registration_price, renew_price и сопутствующие поля.

Ключевые параметры, которые часто вызывают вопросы. Рекомендуется читать этот подраздел перед работой с методами API – он даёт необходимый контекст и снимает двусмысленности.


period_unit_count (период оплаты услуги)

Что это: параметр указывает, на сколько месяцев клиент оплачивает услугу за один платёж. Значение относится к количеству месяцев.

Допустимые значения: целые числа от 1 до 36.

Типичные варианты: 1, 3, 6, 12, 24.

Ограничения и поведение: набор доступных значений зависит от выбранного тарифа. Для некоторых тарифов доступны только фиксированные периоды (например, [1, 3, 6, 12]), а попытка указать неподдерживаемый период (например, 24 при недоступности этого периода) приведёт к HTTP 400 с сообщением: "Данный период оплаты не поддерживается для выбранного тарифа".

Скидки и цены: при оплате за 12 месяцев может применяться скидка. Эти скидки уже учтены в цене, возвращаемой методом расчёта стоимости, поэтому вам не нужно вручную корректировать цену в запросе при указании period_unit_count = 12.

Гибкость: хотя допустимы любые целые значения в диапазоне, реальные поддерживаемые периоды для конкретного тарифного плана нужно проверять через API.

Пример: если для тарифа "Старт" доступны периоды 1, 3, 6, 12, то указание period_unit_count = 24 вернёт ошибку 400 и сообщение об ошибке.

Связанные методы:

  • GET /v1/orders/hostings/tariffs – получить список тарифов и их available_periods (массив доступных значений period_unit_count).
  • GET /v1/billing/pricelists/{number}/tariffs – узнать цены тарифов с учётом скидок для разных периодов.
  • POST /v1/orders/hostings + расчёт стоимости – при создании заказа указывайте period_unit_count и проверяйте ответ на предмет валидности периода.

Платежи, счета и акты #

Получить список валют #

Метод запроса: GET

Адрес: https://api.hb.by/v1/billing/currencies

Тело ответа:

ИмяВложенностьТипОписание
currenciesbodyarray«object*»Список актов
currency_idcurrencies[i]integer*ID валюты
currency_codecurrencies[i]string*Код валюты
currency_namecurrencies[i]string*Название валюты

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/billing/currencies

Успешный ответ (200 OK):

json

{
  "currencies": [
    {
      "currency_id": 200,
      "currency_code": "USD",
      "currency_name": "Доллар США"
    },
    {
      "currency_id": 300,
      "currency_code": "RUB",
      "currency_name": "Российский рубль"
    },
    {
      "currency_id": 400,
      "currency_code": "EUR",
      "currency_name": "Евро"
    },
    {
      "currency_id": 500,
      "currency_code": "BYN",
      "currency_name": "Белорусский рубль"
    }
  ]
}

Что означают поля в ответе:

  • currencies — массив объектов/значений.
    • currency_id — идентификатор валюты.
    • currency_code — код валюты.
    • currency_name — название валюты.

Получить список прейскурантов #

Метод запроса: GET

Адрес: https://api.hb.by/v1/billing/pricelists

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

ИмяВложенностьТипОписание
as_of_datequerystringОт заданной даты

Тело ответа:

ИмяВложенностьТипОписание
pricelistsbodyarray«object*»Прейскурант
numberpricelists[i]string*Номер
descriptionpricelists[i]string*Описание
as_of_datepricelists[i]string*Дата

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/billing/pricelists?as_of_date=01.01.2025

Успешный ответ (200 OK):

json

{
  "pricelists": [
    {
      "number": "1",
      "description": "Тарифы на хостинг",
      "as_of_date": "01.01.2025"
    },
    {
      "number": "2",
      "description": "Тарифы на домены",
      "as_of_date": "04.09.2024"
    },
    {
      "number": "3",
      "description": "Тарифы на дополнительные услуги",
      "as_of_date": "01.01.2024"
    },
    {
      "number": "4",
      "description": "Тарифы на SSL-сертификаты",
      "as_of_date": "01.02.2024"
    },
    {
      "number": "8",
      "description": "Тарифы на электронную почту",
      "as_of_date": "01.01.2024"
    },
    ...
}

Что означают поля в ответе:

  • pricelists — массив прейскурантов.
  • number — номер прейскуранта.
  • description — описание.
  • as_of_date — дата, с которой актуальны данные (формат DD.MM.YYYY).

Получить список тарифов прейскуранта #

Метод запроса: GET

Адрес: https://api.hb.by/v1/billing/pricelists/{number}/tariffs

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

ИмяВложенностьТипОписание
numberpathinteger*Конкретный номер
as_of_datequerystringОт заданной даты

Тело ответа:

ИмяВложенностьТипОписание
numberbodyinteger*Номер
descriptionbodystring*Описание
as_of_datebodystring*Дата
tariffsbodyarray«object*»Тарифы
tariff_idtariffs[i]integer*ID тарифа
tariff_nametariffs[i]string*Название тарифа
service_idtariffs[i]string*Общее имя услуги
archivedtariffs[i]boolean*Архивирован
period_typetariffs[i]string*Период оплаты
currency_idtariffs[i]integer*Валюта
pricestariffs[i]array«object*»Стоимость
periodtariffs[i]
.prices[i]
integer*Период оплаты
pricetariffs[i]
.prices[i]
number*Стоимость

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/billing/pricelists/1/tariffs?as_of_date=01.01.2025

Успешный ответ (200 OK):

json

{
  "number": 1,
  "description": "Тарифы на хостинг",
  "as_of_date": "01.01.2025",
  "tariffs": [
    {
      "tariff_id": 100,
      "tariff_name": "Домашний",
      "service_id": "10",
      "archived": true,
      "period_type": "month",
      "currency_id": 500,
      "prices": [
        {
          "period": 1,
          "price": 5.90
        },
        {
          "period": 2,
          "price": 11.80
        },
        {
          "period": 3,
          "price": 17.17
        },
        {
          "period": 4,
          "price": 22.66
        },
        {
          "period": 5,
          "price": 28.03
        },
        {
          "period": 6,
          "price": 33.63
        },
        {
          "period": 12,
          "price": 63.72
        },
        {
          "period": 24,
          "price": 120.36
        },
        {
          "period": 36,
          "price": 169.92
        }
      ]
    },
    ...
  ]
}

Что означают поля в ответе:

  • number — номер.
  • description — описание.
  • as_of_date — дата, по которую актуальны данные (формат DD.MM.YYYY).
  • tariffs(array of object) — массив объектов/значений.
    • tariff_id — идентификатор тарифа.
    • tariff_name — название тарифа.
    • service_id — идентификатор услуги.
    • archived — перенесён ли тариф в архив.
    • period_type — тип периода.
    • currency_id — идентификатор валюты.
    • prices — массив объектов/значений.
      • period — период (в единицах period_type).
      • price — стоимость/цена.

Получить список счетов #

Метод запроса: GET

Адрес: https://api.hb.by/v1/billing/invoices

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

ИмяВложенностьТипОписание
order_idqueryintegerID заказа
invoice_idqueryintegerID счета

Тело ответа:

ИмяВложенностьТипОписание
invoicesbodyarray«object*»Список счетов
invoice_idinvoices[i]integer*ID счета
invoice_numberinvoices[i]string*Номер счета
order_idinvoices[i]integer*ID заказа
creation_dateinvoices[i]string*Дата формирования
expiration_dateinvoices[i]string*Дата истечения
amountinvoices[i]number*Сумма счета
currency_idinvoices[i]integer*Валюта
stateinvoices[i]string*Статус

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/billing/invoices?order_id=28877&invoice_id=99268

Успешный ответ (200 OK):

json

{
  "invoices": [
    {
      "invoice_id": 99268,
      "invoice_number": "СФ-1221379-02",
      "order_id": 28877,
      "creation_date": "28.08.2025",
      "expiration_date": "27.09.2025",
      "amount": 39.00,
      "currency_id": 500,
      "state": "WaitingForPayment"
    }
  ]
}

Что означают поля в ответе:

  • invoices — массив счетов.
    • invoice_id — уникальный идентификатор счёта.
    • invoice_number — номер счёта.
    • order_id — идентификатор заказа, к которому привязан счёт.
    • creation_date — дата формирования счёта.
    • expiration_date — дата истечения срока действия/оплаты счёта.
    • amount — сумма счёта.
    • currency_id — идентификатор валюты, в которой указана сумма.
    • state — текущий статус счёта.

Получить список платежей #

Метод запроса: GET

Адрес: https://api.hb.by/v1/billing/payments

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

ИмяВложенностьТипОписание
order_idqueryintegerID заказа
invoice_idqueryintegerID счета

Тело ответа:

ИмяВложенностьТипОписание
paymentsbodyarray«object*»Список платежей
payment_idpayments[i]integer*ID платежа
invoice_idpayments[i]integer*ID счета
payment_datepayments[i]string*Дата платежа
amountpayments[i]number*Сумма оплаты

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/billing/payments?invoice_id=99232

Успешный ответ (200 OK):

json

{
  "payments": [
    {
      "payment_id": 57565,
      "invoice_id": 99232,
      "payment_date": "21.08.2025",
      "amount": 6.00
    }
  ]
}

Что означают поля в ответе:

  • payments — массив объектов/значений.
    • payment_id — идентификатор платежа.
    • invoice_id — идентификатор счёта для оплаты.
    • payment_date — дата платежа (формат DD.MM.YYYY).
    • amount — сумма/оплачиваемая сумма.

Получить список актов #

Метод запроса: GET

Адрес: https://api.hb.by/v1/billing/statements

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

ИмяВложенностьТипОписание
order_idqueryintegerID заказа
statement_idqueryintegerID акта

Тело ответа:

ИмяВложенностьТипОписание
statementsbodyarray«object*»Список актов
statement_idstatements[i]integer*ID акта
statement_numberstatements[i]string*Номер акта
order_idstatements[i]integer*ID заказа
from_datestatements[i]string*Отчет от
to_datestatements[i]string*Отчет по
amountstatements[i]number*Сумма акта
currency_idstatements[i]integer*Валюта

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/billing/statements?order_id=29426&statement_id=161708

Успешный ответ (200 OK):

json

{
  "statements": [
    {
      "statement_id": 161708,
      "statement_number": "ОУ-1221930-02",
      "order_id": 29426,
      "from_date": "01.04.2025",
      "to_date": "23.07.2027",
      "amount": 49.00,
      "currency_id": 500
    }
  ]
}

Что означают поля в ответе:

  • statements(array of object) — массив объектов/значений.
    • statement_id — идентификатор акта/документа.
    • statement_number — номер акта/документа.
    • order_id — уникальный идентификатор заказа в системе HB.BY.
    • from_date — дата начала периода/от (формат DD.MM.YYYY).
    • to_date — дата конца периода/по (формат DD.MM.YYYY).
    • amount — сумма/оплачиваемая сумма.
    • currency_id — идентификатор валюты.

Получить список актов по партнерской программе #

Метод запроса: GET

Адрес: https://api.hb.by/v1/billing/partner-statements

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

ИмяВложенностьТипОписание
statement_idqueryintegerID акта

Тело ответа:

ИмяВложенностьТипОписание
partner_statementsbodyarray«object*»Список актов
partner_statement_idpartner_statements[i]integer*ID акта
partner_statement_numberpartner_statements[i]string*Номер акта
from_datepartner_statements[i]string*Отчет от
to_datepartner_statements[i]string*Отчет по

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/billing/partner-statements?statement_id=1062

Успешный ответ (200 OK):

json

{
  "partner_statements": [
    {
      "partner_statement_id": 1062,
      "partner_statement_number": "ОУ-ПД-16298-001",
      "from_date": "01.07.2021",
      "to_date": "31.07.2026"
    }
  ]
}

Что означают поля в ответе:

  • partner_statements — список актов по партнерской программе.
    • partner_statement_id — уникальный идентификатор акта.
    • partner_statement_number — номер акта (человеко-читаемый код документа).
    • from_date — дата начала отчетного периода по акту.
    • to_date — дата окончания отчетного периода по акту.

Получить публичный URL счета #

Метод запроса: GET

Адрес: https://api.hb.by/v1/billing/invoices/{id}/url

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

ИмяВложенностьТипОписание
idpathinteger*ID счета

Тело ответа:

ИмяВложенностьТипОписание
urlbodystring*Url

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/billing/invoices/99268/url

Успешный ответ (200 OK):

json

{
  "url": "https://hb.by/s/{some short url resource}"
}

Что означают поля в ответе:

  • url — публичная ссылка (URL) на ресурс.

Получить публичный URL акта #

Метод запроса: GET

Адрес: https://api.hb.by/v1/billing/statements/{id}/url

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

ИмяВложенностьТипОписание
idpathinteger*ID акта

Тело ответа:

ИмяВложенностьТипОписание
urlbodystring*Url

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/billing/statements/161708/url

Успешный ответ (200 OK):

json

{
  "url": "https://hb.by/s/{some short url resource}"
}

Что означают поля в ответе:

  • url — публичная ссылка (URL) на ресурс.

Получить публичный URL партнерского акта #

Метод запроса: GET

Адрес: https://api.hb.by/v1/billing/partner-statements/{id}/url

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

ИмяВложенностьТипОписание
idpathinteger*ID акта

Тело ответа:

ИмяВложенностьТипОписание
urlbodystring*Url

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/billing/partner-statements/1062/url

Успешный ответ (200 OK):

json

{
  "url": "https://hb.by/s/{some short url resource}"
}

Что означают поля в ответе:

  • url — публичная ссылка (URL) на ресурс.

Заказы #

Структура запроса при оформления заказа #

Базовые поля (обязательны для любого заказа)

Эти поля указываются всегда, независимо от типа заказчика.

  • period_unit_count – количество единиц периода оплаты (целое число).
  • currency_id – идентификатор валюты в системе.
  • phone – контактный телефон.
  • email – контактный электронный адрес.
  • domain – домен к заказу. Для заказов домена и SSL. При заказе SSL вместо domain можно использовать csr
  • tariff_id – тарифный план услуги.

Реквизиты по типам заказчика

Физическое лицо (Natural person)

Обязательные поля для реквизитов физического лица:

  • natural_person_requisites.last_name – фамилия заказчика;
  • natural_person_requisites.first_name – имя заказчика;
  • natural_person_requisites.middle_name – отчество заказчика;
  • natural_person_requisites.address – адрес заказчика.

Для доменов в зонах BY/БЕЛ/RU/SU/РФ дополнительно:

  • whois_person_requisites – паспортные/идентификационные данные администратора домена.

Шаблон:

{
  "period_unit_count": 1,
  "currency_id": 500,
  "phone": "+375291234567",
  "email": "user@mydomain.by",
  "domain": "mydomain.by",
  "natural_person_requisites": {
    "last_name": "Иванов",
    "first_name": "Иван",
    "middle_name": "Иванович",
    "address": {
      "postal_code": "220000",
      "country_code": "BY",
      "region": "Минская область",
      "city": "Минск",
      "street": "ул. Домбровская",
      "building": "д. 9",
      "room": "кв. 10"
    }
  },
  "whois_person_requisites": {
    "citizenship": "BY",
    "series": "BM",
    "number": "1234567",
    "organization": "РОВД Октябрьского р-на г. Минска",
    "identity_number": "1234567A901PB4",
    "date_of_issue": "10.10.2005"
  }
}
Индивидуальный предприниматель (ИП)

Обязательные поля для ИП:

  • individual_businessman_requisites.ucn – УНП / ИНН;
  • individual_businessman_requisites.last_name – фамилия заказчика;
  • individual_businessman_requisites.first_name – имя заказчика;
  • individual_businessman_requisites.middle_name – отчество заказчика;
  • individual_businessman_requisites.legal_address – юридический адрес.

Рекомендуемые (необязательные):

  • individual_businessman_requisites.postal_address – почтовый адрес (если не указан, копируется из юридического).
  • individual_businessman_requisites.bank_requisites – банковские реквизиты.

Для доменов в зонах BY/БЕЛ/RU/SU/РФ дополнительно:

  • whois_person_requisites – пасспортные данные администратора домена;
  • whois_company_requisites – данные организации-администратора домена.

Шаблон:

{
  "period_unit_count": 1,
  "currency_id": 500,
  "phone": "+375291234567",
  "email": "owner@mydomain.by",
  "domain": "mydomain.by",
  "individual_businessman_requisites": {
    "ucn": "190123456",
    "last_name": "Иванов",
    "first_name": "Иван",
    "middle_name": "Иванович",
    "legal_address": {
      "postal_code": "220000",
      "country_code": "BY",
      "region": "Минская область",
      "city": "Минск",
      "street": "ул. Ленина",
      "building": "10",
      "room": "оф. 5"
    },
    "postal_address": {
      "postal_code": "220000",
      "country_code": "BY",
      "region": "Минская область",
      "city": "Минск",
      "street": "ул. Ленина",
      "building": "10",
      "room": "оф. 5"
    },
    "bank_requisites": {
      "bank_name": "MyBank",
      "swift": "MYBNBY22",
      "iban": "BY00MYBN30120000000000000000"
    }
  },
  "whois_person_requisites": {
    "citizenship": "BY",
    "series": "BM",
    "number": "1234567",
    "organization": "РОВД Октябрьского р-на г. Минска",
    "identity_number": "1234567A901PB4",
    "date_of_issue": "10.10.2005"
  },
  "whois_company_requisites": {
    "registration_number": "123456789",
    "registration_organization": "Мингорисполком",
    "registration_issue_number": "0000001",
    "registration_issue_date": "01.02.2020",
    "is_government_company": false
  }
}
Юридическое лицо (Компания)

Обязательные поля для юридического лица:

  • juridical_person_requisites.ucn – УНП / ИНН.
  • juridical_person_requisites.company_name – полное наименование компании (с формой собственности).
  • juridical_person_requisites.executive_last_name – фамилия руководителя.
  • juridical_person_requisites.executive_first_name – имя руководителя.
  • juridical_person_requisites.executive_middle_name – отчество руководителя;
  • juridical_person_requisites.post_of_executive – должность руководителя.
  • juridical_person_requisites.legal_address – юридический адрес.

Рекомендуемые (необязательные):

  • juridical_person_requisites.postal_address – почтовый адрес (если не указан, копируется из юридического).
  • juridical_person_requisites.bank_requisites – банковские реквизиты.

Для доменов в зонах BY/БЕЛ/RU/SU/РФ дополнительно:

  • whois_company_requisites – данные организации-администратора домена.

Шаблон:

{
  "period_unit_count": 1,
  "currency_id": 500,
  "phone": "+375291234567",
  "email": "it@mydomain.by",
  "domain": "mydomain.by",
  "juridical_person_requisites": {
    "ucn": "190123456",
    "company_name": "ООО «Компания»",
    "executive_last_name": "Иванов",
    "executive_first_name": "Иван",
    "executive_middle_name": "Иванович",
    "post_of_executive": "Директор",
    "legal_address": {
      "postal_code": "220000",
      "country_code": "BY",
      "region": "Минская область",
      "city": "Минск",
      "street": "пр. Победителей",
      "building": "7",
      "room": "оф. 101"
    },
    "postal_address": {
      "postal_code": "220000",
      "country_code": "BY",
      "region": "Минская область",
      "city": "Минск",
      "street": "пр. Победителей",
      "building": "7",
      "room": "оф. 101"
    },
    "bank_requisites": {
      "bank_name": "MyBank",
      "swift": "MYBNBY22",
      "iban": "BY00MYBN30120000000000000000"
    }
  },
  "whois_company_requisites": {
    "registration_number": "123456789",
    "registration_organization": "Мингорисполком",
    "registration_issue_number": "0000001",
    "registration_issue_date": "01.02.2020",
    "is_government_company": false
  }
}

Получить доступные услуги #

Метод запроса: GET

Адрес: https://api.hb.by/v1/orders/services

Тело ответа:

ИмяВложенностьТипОписание
servicesbodyarray«object*»Список услуг
service_idservices[i]string*ID услуги
canonical_nameservices[i]string*Каноническое наименование
nameservices[i]string*Наименование

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/orders/services

Успешный ответ (200 OK):

json

{
  "services": [
    ...
    {
      "service_id": 195,
      "canonical_name": "UnixHosting",
      "name": "Unix-хостинг"
    },
    ...
  ]
}

Что означают поля в ответе:

  • services — список доступных услуг в системе.
  • service_id — уникальный идентификатор услуги.
  • canonical_name — каноническое (внутреннее) имя услуги.
  • name — наименование услуги, отображаемое в интерфейсе.

Получить доступные тарифы хостинга #

Метод запроса: GET

Адрес: https://api.hb.by/v1/orders/hostings/tariffs

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

ИмяВложенностьТипОписание
currency_idqueryintegerID валюты
service_idqueryintegerID услуги

Тело ответа:

ИмяВложенностьТипОписание
tariffsbodyarray«object*»Список тарифов
tariff_idtariffs[i]integer*ID тарифа
tariff_nametariffs[i]string*Название тарифа
service_idtariffs[i]string*Общее имя услуги
period_typetariffs[i]string*Период оплаты
pricestariffs[i]array«object*»Стоимость
periodtariffs[i]
.prices[i]
integer*Период оплаты
pricetariffs[i]
.prices[i]
number*Стоимость

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/orders/hostings/tariffs?currency_id=500&service_id=195

Успешный ответ (200 OK):

json

{
  "tariffs": [
    {
      "tariff_id": 566,
      "tariff_name": "Unix Старт",
      "service_id": 195,
      "period_type": "month",
      "prices": [
        {
          "period": 1,
          "price": 6.00
        },
        ...
      ]
    },
    ...
  ]
}

Что означают поля в ответе:

  • tariffs — список доступных тарифов хостинга.
  • tariff_id — целочисленный уникальный идентификатор тарифа.
  • tariff_name — читаемое название тарифа.
  • service_id — идентификатор услуги в системе.
  • period_type — единица измерения периода оплаты.
  • prices — варианты стоимости для разных периодов оплаты.
    • period — период оплаты в единицах, указанных в period_type.
    • price — стоимость за указанный period.

Получить доступные тарифы электронной почты #

Метод запроса: GET

Адрес: https://api.hb.by/v1/orders/corporate-mails/tariffs

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

ИмяВложенностьТипОписание
currency_idqueryintegerID валюты

Тело ответа:

ИмяВложенностьТипОписание
tariffsbodyarray«object*»Список тарифов
tariff_idtariffs[i]integer*ID тарифа
tariff_nametariffs[i]string*Название тарифа
service_idtariffs[i]string*Общее имя услуги
period_typetariffs[i]string*Период оплаты
pricestariffs[i]array«object*»Стоимость
periodtariffs[i]
.prices[i]
integer*Период оплаты
pricetariffs[i]
.prices[i]
number*Стоимость

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/orders/corporate-mails/tariffs?currency_id=500

Успешный ответ (200 OK):

json

{
  "tariffs": [
    {
      "tariff_id": 1805,
      "tariff_name": "Почта-5",
      "service_id": 150,
      "period_type": "month",
      "prices": [
        {
          "period": 1,
          "price": 4.50
        },
        ...
      ]
    },
    ...
  ]
}

Что означают поля в ответе:

  • tariffs — список доступных тарифов на корпоративную почту.
  • tariff_id — целочисленный уникальный идентификатор тарифа.
  • tariff_name — читаемое название тарифа.
  • service_id — идентификатор услуги в системе.
  • period_type — единица измерения периода оплаты.
  • prices — варианты стоимости для разных периодов оплаты.
    • period — период оплаты в единицах, указанных в period_type.
    • price — стоимость за указанный period.

Получить доступные SSL-сертификаты #

Метод запроса: GET

Адрес: https://api.hb.by/v1/orders/ssl-certificates/tariffs

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

ИмяВложенностьТипОписание
currency_idqueryintegerID валюты

Тело ответа:

ИмяВложенностьТипОписание
tariffsbodyarray«object*»Список тарифов
tariff_idtariffs[i]integer*ID тарифа
tariff_nametariffs[i]string*Название тарифа
service_idtariffs[i]string*Общее имя услуги
period_typetariffs[i]string*Период оплаты
pricestariffs[i]array«object*»Стоимость
periodtariffs[i]
.prices[i]
integer*Период оплаты
pricetariffs[i]
.prices[i]
number*Стоимость

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/orders/ssl-certificates/tariffs?currency_id=500

Успешный ответ (200 OK):

json

{
  "tariffs": [
    {
      "tariff_id": 7027,
      "tariff_name": "GlobalSign AlphaSSL Domain",
      "service_id": 60,
      "period_type": "year",
      "prices": [
        {
          "period": 1,
          "price": 39.00
        }
      ]
    },
    ...
  ]
}

Что означают поля в ответе:

  • tariffs — список доступных тарифов на SSL-сертификаты.
  • tariff_id — целочисленный уникальный идентификатор тарифа.
  • tariff_name — название тарифа/пакета.
  • service_id — идентификатор услуги в системе.
  • period_type — единица измерения периода оплаты.
  • prices — варианты цены для разных периодов оплаты.
    • period — период оплаты указанный в period_type.
    • price — стоимость за указанный period.

Получить доступные доменные зоны #

Метод запроса: GET

Адрес: https://api.hb.by/v1/orders/domains/zones

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

ИмяВложенностьТипОписание
currency_idqueryintegerID валюты

Тело ответа:

ИмяВложенностьТипОписание
domain_zonesbodyarray«object*»Список доменных зон
domain_zone_iddomain_zones[i]integer*ID зоны
namedomain_zones[i]string*Название зоны
min_perioddomain_zones[i]integer*Минимальный период заказа
max_perioddomain_zones[i]integer*Максимальный период заказа
actual_registration_tariff_iddomain_zones[i]integer*ID тарифа регистрации
registration_pricedomain_zones[i]number*Стоимость регистрации
actual_renew_tariff_iddomain_zones[i]integer*ID тарифа продления
renew_pricedomain_zones[i]number*Стоимость продления
period_typedomain_zones[i]string*Период оплаты

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/orders/domains/zones?currency_id=500

Успешный ответ (200 OK):

json

{
  "domain_zones": [
    {
      "domain_zone_id": 1,
      "name": "by",
      "min_period": 1,
      "max_period": 2,
      "actual_registration_tariff_id": 2000,
      "registration_price": 33.00,
      "actual_renew_tariff_id": 2001,
      "renew_price": 33.00,
      "period_type": "year"
    },
    ...
  ]
}

Что означают поля в ответе:

  • domain_zones — список доступных доменных зон/ТЛД.
  • domain_zone_id — целочисленный уникальный идентификатор зоны.
  • name — имя зоны/суффикса (например, by, com, net).
  • min_period — минимальный разрешённый период заказа.
  • max_period — максимальный разрешённый период заказа.
  • actual_registration_tariff_id — идентификатор текущего тарифа/предложения для регистрации в этой зоне.
  • registration_price — цена регистрации.
  • actual_renew_tariff_id — идентификатор текущего тарифа для продления в этой зоне.
  • renew_price — цена продления.
  • period_type — единица измерения периода, то есть в каких единицах указаны min_period / max_period.

Получить все заказы #

Метод запроса: GET

Адрес: https://api.hb.by/v1/orders

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

ИмяВложенностьТипОписание
order_numberquerystringНомер заказа
order_idqueryintegerID заказа
from_order_datequerystringС даты оформления
to_order_datequerystringПо дату оформления
service_idqueryintegerID услуги

Тело ответа:

ИмяВложенностьТипОписание
ordersbodyarray«object*»Список заказов
order_idorders[i]integer*ID заказа
service_idorders[i]integer*ID услуги
numberorders[i]string*Номер заказа
stateorders[i]string*Статус услуги
order_datetimeorders[i]string*Дата оформления заказа
complete_dateorders[i]stringДата выполнения заказа
expiration_dateorders[i]stringДата истечения заказа
currency_idorders[i]integer*ID валюты
period_unit_typeorders[i]string*Тип периода оплаты
period_unit_countorders[i]integer*Количество единиц периода оплаты
paidorders[i]boolean*Статус оплаты
completedorders[i]boolean*Статус выполнения
business_entity_typeorders[i]string*Тип заказчика в реквизитах

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/orders

Успешный ответ (200 OK):

json

{
  "orders": [
    {
      "order_id": 99999,
      "service_id": 30,
      "number": "СФ-1222161",
      "state": "NewOrder",
      "order_datetime": "10.10.2025 20:31",
      "complete_date": null,
      "expiration_date": null,
      "currency_id": 500,
      "period_unit_type": "year",
      "period_unit_count": "1",
      "paid": false,
      "completed": false,
      "business_entity_type": "NaturalPerson"
    },
    ...
  ]
}

Что означают поля в ответе:

  • orders — список заказов.
  • order_id — уникальный идентификатор заказа.
  • service_id — идентификатор услуги, на которую оформлен заказ.
  • number — номер (код) заказа.
  • state — текущий статус заказа/услуги.
  • order_datetime — дата и время оформления заказа.
  • complete_date — дата выполнения заказа; может быть пустой (null), если ещё не выполнен.
  • expiration_date — дата истечения заказа; может быть пустой (null), если не применимо.
  • currency_id — идентификатор валюты, в которой указаны суммы по заказу.
  • period_unit_type — единица периода оплаты (тип периода).
  • period_unit_count — количество единиц периода оплаты.
  • paid — признак оплаты заказа (оплачен/не оплачен).
  • completed — признак того, что заказ выполнен.
  • business_entity_type — тип заказчика в реквизитах.

Домены #

Получить доступность одного или нескольких доменов #

Метод запроса: POST

Адрес: https://api.hb.by/v1/domains/check

Тело запроса:

ИмяВложенностьТипОписание
domainsbodyarray«string*»Домены
-bodystring*Значение

Тело ответа:

ИмяВложенностьТипОписание
resultsbodyarray«object*»Результаты проверки
domainresults[i]string*Домен
is_availableresults[i]boolean*Статус доступности
is_premiumresults[i]boolean*Статус премиальности
stateresults[i]string*Статус в реестре

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// POST https://api.hb.by/v1/domains/check
{
  "domains": [
    "hb.by"
  ]
}

Успешный ответ (200 OK):

json

{
  "results": [
    {
      "domain": "hb.by",
      "is_available": false,
      "is_premium": false,
      "state": "NotAvailable"
    }
  ]
}

Что означают поля в ответе:

  • results — список объектов с результатами проверки доменов.
  • domain — домен, который проверяли.
  • is_available — доступен ли домен для регистрации (true/false).
  • is_premium — является ли домен премиальным (true/false).
  • state — строка, указывающая текущий статус домена в реестре.

Получить сертификат владения доменом #

Метод запроса: GET

Адрес: https://api.hb.by/v1/domains/{orderId}/certificate

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа

Тело ответа:

ИмяВложенностьТипОписание
urlbodystring*Url

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/domains/29303/certificate

Успешный ответ (200 OK):

json

{
  "url": "some url"
}

Что означают поля в ответе:

  • url — публичная ссылка (URL) на ресурс.

Получить список NS серверов домена #

Метод запроса: GET

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/servers

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа

Тело ответа:

ИмяВложенностьТипОписание
serversbodyarray«object*»Список NS-серверов
nsservers[i]string*NS
ipservers[i]stringIP

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/domains/29303/dns/servers

Успешный ответ (200 OK):

json

{
  "servers": [
    {
      "ns": "ns1.hb.by",
      "ip": null
    },
    {
      "ns": "ns2.hb.by",
      "ip": null
    }
  ]
}

Что означают поля в ответе:

  • servers — список серверов имён.
  • ns — имя сервера имён.
  • ip — IP-адрес сервера (может быть null, если адрес не указан).

Удалить NS сервера домена #

Метод запроса: DELETE

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/servers

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// DELETE https://api.hb.by/v1/domains/29303/dns/servers

Обновить список NS серверов домена на виртуальный хостинг #

Метод запроса: PUT

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/servers/hosting

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// PUT https://api.hb.by/v1/domains/29303/dns/servers/hosting

Обновить список NS серверов домена на расширенный редактор #

Метод запроса: PUT

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/servers/editor

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// PUT https://api.hb.by/v1/domains/29303/dns/servers/editor

Обновить список NS серверов домена на указанные #

Метод запроса: PUT

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/servers/custom

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа

Тело запроса:

ИмяВложенностьТипОписание
serversbodyarray«object*»Список NS-серверов
nsservers[i]string*NS
ipservers[i]stringIP

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// PUT https://api.hb.by/v1/domains/29303/dns/servers/custom
{
  "servers": [
    {
      "ns": "ns1.mydomain.by",
      "ip": "100.100.100.100"
    },
    {
      "ns": "ns2.mydomain.by",
      "ip": "200.200.200.200"
    }
  ]
}

Что означают поля в запросе:

  • servers — список серверов имён.
  • ns — имя сервера имён.
  • ip — IP-адрес сервера (может быть null, если адрес не указан).

Получить список DNS записей домена #

Метод запроса: GET

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/records

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа

Тело ответа:

ИмяВложенностьТипОписание
recordsbodyarray«object*»Список записей
record_idrecords[i]integer*ID записи
typerecords[i]string*Тип записи
ttlrecords[i]integer*Тип записи
valuerecords[i]string*Значение

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/domains/29303/dns/records

Успешный ответ (200 OK):

json

{
  "records": [
    {
      "record_id": 1000,
      "type": "A",
      "ttl": 86400,
      "value": "www 100.100.100.100"
    }
  ]
}

Что означают поля в ответе:

  • record_id — уникальный идентификатор записи.
  • type — тип записи.
  • ttl — время жизни записи в секундах.
  • value — значение записи (содержимое, на которое указывает запись).

Добавить NS запись #

Метод запроса: POST

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/records/ns

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа

Тело запроса:

ИмяВложенностьТипОписание
ttlbodyinteger*TTL
hostbodystring*Хост (поддомен)
nsbodystring*NS-сервер

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// POST https://api.hb.by/v1/domains/29303/dns/records/ns
{
  "ttl": 60,
  "host": "ns1",
  "ns": "ns1.mydomain.by"
}

Что означают поля в запросе:

  • ttl — время жизни записи в секундах.
  • host — имя хоста или поддомена, для которого создаётся запись.
  • ns — полный домен сервера имён, на который должна указывать запись.

Удалить NS запись #

Метод запроса: DELETE

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/records/ns/{id}

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа
idpathinteger*Значение

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// DELETE https://api.hb.by/v1/domains/29303/dns/records/ns/1000

Добавить A запись #

Метод запроса: POST

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/records/a

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа

Тело запроса:

ИмяВложенностьТипОписание
ttlbodyinteger*TTL
hostbodystring*Хост (поддомен)
ipv4bodystring*IPv4

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// POST https://api.hb.by/v1/domains/29303/dns/records/a
{
  "ttl": 60,
  "host": "www",
  "ipv4": "100.100.100.100"
}

Что означают поля в запросе:

  • ttl — время жизни записи в секундах.
  • host — поддомен/метка, для которой создаётся A-запись.
  • ipv4 — IPv4-адрес в формате x.x.x.x.

Удалить A запись #

Метод запроса: DELETE

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/records/a/{id}

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа
idpathinteger*Значение

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// DELETE https://api.hb.by/v1/domains/29303/dns/records/a/1000

Добавить AAAA запись #

Метод запроса: POST

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/records/aaaa

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа

Тело запроса:

ИмяВложенностьТипОписание
ttlbodyinteger*TTL
hostbodystring*Хост (поддомен)
ipv6bodystring*IPv4

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// POST https://api.hb.by/v1/domains/29303/dns/records/aaaa
{
  "ttl": 60,
  "host": "www6",
  "ipv6": "2001:0db8:85a3:0000:0000:8a2e:0370:7334"
}

Что означают поля в запросе:

  • ttl — время жизни записи в секундах.
  • host — имя хоста или поддомена, для которого создаётся запись.
  • ipv6 — IPv6-адрес, на который должна указывать запись.

Удалить AAAA запись #

Метод запроса: DELETE

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/records/aaaa/{id}

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа
idpathinteger*Значение

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// DELETE https://api.hb.by/v1/domains/29303/dns/records/aaaa/1000

Добавить CNAME запись #

Метод запроса: POST

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/records/cname

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа

Тело запроса:

ИмяВложенностьТипОписание
ttlbodyinteger*TTL
hostbodystring*Хост (поддомен)
canonicalbodystring*Каноническое имя

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// POST https://api.hb.by/v1/domains/29303/dns/records/cname
{
  "ttl": 60,
  "host": "www",
  "canonical": "mydomain.by"
}

Что означают поля в запросе:

  • ttl — время жизни записи в секундах.
  • host — поддомен/метка, для которой создаётся CNAME.
  • canonical — каноническое имя, на которое будет указывать CNAME.

Удалить CNAME запись #

Метод запроса: DELETE

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/records/cname/{id}

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа
idpathinteger*ID записи

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// DELETE https://api.hb.by/v1/domains/29303/dns/records/cname/1000

Добавить MX запись #

Метод запроса: POST

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/records/mx

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа

Тело запроса:

ИмяВложенностьТипОписание
ttlbodyinteger*TTL
hostbodystring*Хост (поддомен)
mail_serverbodystring*Почтовый сервер
prioritybodyinteger*Приоритет

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// POST https://api.hb.by/v1/domains/29303/dns/records/mx
{
  "ttl": 60,
  "host": "ml",
  "mail_server": "mail.mydomain.by",
  "priority": 10
}

Что означают поля в запросе:

  • ttl — время жизни записи в секундах.
  • host — поддомен или метка, к которому привязана запись.
  • mail_server — полный домен почтового сервера, на который нужно направлять почту.
  • priority — приоритет почтового сервера; меньшее значение = более высокий приоритет.

Удалить MX запись #

Метод запроса: DELETE

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/records/mx/{id}

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа
idpathinteger*ID записи

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// DELETE https://api.hb.by/v1/domains/29303/dns/records/mx/1000

Добавить TXT запись #

Метод запроса: POST

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/records/txt

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа

Тело запроса:

ИмяВложенностьТипОписание
ttlbodyinteger*TTL
hostbodystring*Хост (поддомен)
textbodystring*Текстовое значение

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// POST https://api.hb.by/v1/domains/29303/dns/records/txt
{
  "ttl": 60,
  "host": "_spf",
  "text": "v=spf1 +mx +a -all"
}

Что означают поля в запросе:

  • ttl — время жизни записи в секундах.
  • host — имя хоста или поддомена, для которого создаётся запись.
  • text — текстовое значение записи.

Удалить TXT запись #

Метод запроса: DELETE

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/records/txt/{id}

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа
idpathinteger*ID записи

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// DELETE https://api.hb.by/v1/domains/29303/dns/records/txt/1000

Добавить SRV запись #

Метод запроса: POST

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/records/srv

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа

Тело запроса:

ИмяВложенностьТипОписание
ttlbodyinteger*TTL
hostbodystring*Хост (поддомен)
servicebodystring*Сервис
protocolbodystring*Протокол
targetbodystring*Цель
portbodyinteger*Порт
prioritybodyinteger*Приоритет
weightbodyinteger*Вес

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// POST https://api.hb.by/v1/domains/29303/dns/records/srv
{
  "ttl": 60,
  "host": "service",
  "service": "sip",
  "protocol": "tcp",
  "target": "sipserver.mydomain.by",
  "port": 5060,
  "priority": 0,
  "weight": 10
}

Что означают поля в запросе:

  • ttl — время жизни записи в секундах.
  • host — имя хоста или поддомена, для которого создаётся запись.
  • service — название сервиса.
  • protocol — протокол.
  • target — адрес сервера, к которому должна указывать SRV-запись.
  • port — номер порта на целевом сервере.
  • priority — приоритет записи; меньшие значения означают более высокий приоритет.
  • weight — относительный вес записи при одинаковом приоритете.

Удалить SRV запись #

Метод запроса: DELETE

Адрес: https://api.hb.by/v1/domains/{orderId}/dns/records/srv/{id}

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

ИмяВложенностьТипОписание
orderIdpathinteger*ID заказа
idpathinteger*ID записи

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// DELETE https://api.hb.by/v1/domains/29303/dns/records/srv/1000

Типичные сценарии использования #

Оформить заказ хостинга #

Метод запроса: POST

Адрес: https://api.hb.by/v1/orders/hostings

ТИПИЧНЫЕ СЦЕНАРИИ РАБОТЫ С ЗАКАЗАМИ

Сценарий: Создание заказа хостинга для нового клиента

Этот сценарий описывает полный цикл создания заказа, когда у вас есть только базовые данные клиента.

Шаг 1: Получите список доступных тарифов хостинга

Вызов: GET /v1/orders/hostings/tariffs
В ответе содержатся объекты тарифов с полями tariff_id и prices. Массив prices содержит информацию о доступных периодах (period_unit_count или period) и их стоимости – оттуда берём tariff_id и поддерживаемые периоды.

Шаг 2: Узнайте, какие периоды оплаты поддерживаются для выбранного тарифа

В ответе метода из Шага 1 найдите объект тарифа по tariff_id и посмотрите prices или available_periods. Пример: [1, 3, 6, 12] – это допустимые значения period_unit_count (в месяцах или годах, в зависимости от period_type).

Шаг 3: Проверьте доступность домена (если требуется регистрация/привязка домена)

Вызов: POST /v1/domains/check с массивом доменов.
В ответе поле is_available для каждого домена укажет, можно ли регистрировать домен. Если домен занят – предложите альтернативы или используйте существующий домен клиента.

Шаг 4: Получите список валют и выберите currency_id

Вызов: GET /v1/billing/currencies – найдите currency_id нужной валюты (например BYN). От выбора валюты могут зависеть доступные способы оплаты и цены.

Шаг 5: Соберите реквизиты юридического лица

Для юридического лица обязательно заполнить juridical_person_requisites (УНП/идентификатор, название компании, данные руководителя, юридический адрес). Проверьте требования для зоны/услуги (некоторые услуги требуют дополнительные поля).

Шаг 6: Создайте заказ хостинга

Вызов: POST /v1/orders/hostings с собранными данными: tariff_id, period_unit_count, currency_id, контакты, domain (если есть), juridical_person_requisites.
В ответе – order_id, invoice_id и часто invoice_url.

Шаг 7: Получите ссылку на оплату счёта

Вызов: GET /v1/billing/invoices/{invoice_id}/url – в ответе будет публичная ссылка для оплаты счёта.

Тело запроса:

ИмяВложенностьТипОписание
period_unit_countbodyintegerПериод оплаты
currency_idbodyintegerID валюты
phonebodystringТелефон
emailbodystringПочта
natural_person_requisitesbodyobjectЗначение
last_namenatural_person_requisitesstringФамилия заказчика
first_namenatural_person_requisitesstringИмя заказчика
middle_namenatural_person_requisitesstringОтчество заказчика
addressnatural_person_requisitesobjectЗначение
postal_codenatural_person_requisites
.address
string*Почтовый индекс
country_codenatural_person_requisites
.address
string*Страна
regionnatural_person_requisites
.address
string*Регион / Область
citynatural_person_requisites
.address
string*Населенный пункт
streetnatural_person_requisites
.address
string*Улица
buildingnatural_person_requisites
.address
string*Дом
roomnatural_person_requisites
.address
string*Помещение
individual_businessman_requisitesbodyobjectЗначение
ucnindividual_businessman_requisitesstringУНП / ИНН
legal_addressindividual_businessman_requisitesobjectЗначение
postal_codeindividual_businessman_requisites
.legal_address
string*Почтовый индекс
country_codeindividual_businessman_requisites
.legal_address
string*Страна
regionindividual_businessman_requisites
.legal_address
string*Регион / Область
cityindividual_businessman_requisites
.legal_address
string*Населенный пункт
streetindividual_businessman_requisites
.legal_address
string*Улица
buildingindividual_businessman_requisites
.legal_address
string*Дом
roomindividual_businessman_requisites
.legal_address
string*Помещение
postal_addressindividual_businessman_requisitesobjectЗначение
postal_codeindividual_businessman_requisites
.postal_address
string*Почтовый индекс
country_codeindividual_businessman_requisites
.postal_address
string*Страна
regionindividual_businessman_requisites
.postal_address
string*Регион / Область
cityindividual_businessman_requisites
.postal_address
string*Населенный пункт
streetindividual_businessman_requisites
.postal_address
string*Улица
buildingindividual_businessman_requisites
.postal_address
string*Дом
roomindividual_businessman_requisites
.postal_address
string*Помещение
bank_requisitesindividual_businessman_requisitesobjectЗначение
bank_nameindividual_businessman_requisites
.bank_requisites
stringНаименование банка
swiftindividual_businessman_requisites
.bank_requisites
stringБИК SWIFT
ibanindividual_businessman_requisites
.bank_requisites
stringIBAN
last_nameindividual_businessman_requisitesstringФамилия заказчика
first_nameindividual_businessman_requisitesstringИмя заказчика
middle_nameindividual_businessman_requisitesstringОтчество заказчика
juridical_person_requisitesbodyobjectЗначение
ucnjuridical_person_requisitesstringУНП / ИНН
legal_addressjuridical_person_requisitesobjectЗначение
postal_codejuridical_person_requisites
.legal_address
string*Почтовый индекс
country_codejuridical_person_requisites
.legal_address
string*Страна
regionjuridical_person_requisites
.legal_address
string*Регион / Область
cityjuridical_person_requisites
.legal_address
string*Населенный пункт
streetjuridical_person_requisites
.legal_address
string*Улица
buildingjuridical_person_requisites
.legal_address
string*Дом
roomjuridical_person_requisites
.legal_address
string*Помещение
postal_addressjuridical_person_requisitesobjectЗначение
postal_codejuridical_person_requisites
.postal_address
string*Почтовый индекс
country_codejuridical_person_requisites
.postal_address
string*Страна
regionjuridical_person_requisites
.postal_address
string*Регион / Область
cityjuridical_person_requisites
.postal_address
string*Населенный пункт
streetjuridical_person_requisites
.postal_address
string*Улица
buildingjuridical_person_requisites
.postal_address
string*Дом
roomjuridical_person_requisites
.postal_address
string*Помещение
bank_requisitesjuridical_person_requisitesobjectЗначение
bank_namejuridical_person_requisites
.bank_requisites
stringНаименование банка
swiftjuridical_person_requisites
.bank_requisites
stringБИК SWIFT
ibanjuridical_person_requisites
.bank_requisites
stringIBAN
company_namejuridical_person_requisitesstringПолное наименование организации
executive_last_namejuridical_person_requisitesstringФамилия руководителя
executive_first_namejuridical_person_requisitesstringИмя руководителя
executive_middle_namejuridical_person_requisitesstringОтчество руководителя
post_of_executivejuridical_person_requisitesstringДолжность руководителя
tariff_idbodyintegerID тарифа

Тело ответа:

ИмяВложенностьТипОписание
order_idbodyintegerID нового заказа
invoice_idbodyintegerID нового счета
invoice_urlbodystringПубличная короткая ссылка на счет

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// POST https://api.hb.by/v1/orders/hostings
{
  "period_unit_count": 1,
  "currency_id": 500,
  "phone": "+375291234567",
  "email": "user@mydomain.by",
  "natural_person_requisites": {
    "address": {
      "postal_code": "220000",
      "country_code": "BY",
      "region": "Минская область",
      "city": "Минск",
      "street": "ул. Домбровская",
      "building": "д. 9",
      "room": "каб. 13.1.1"
    }
  },
  "tariff_id": 566
}

Что означают поля в запросе:

  • period_unit_count — количество единиц периода, на которое оформляется заказ.
  • currency_id — внутренний идентификатор валюты в системе.
  • phone — контактный телефон лица, от имени которого создаётся заказ.
  • email — контактный электронный адрес лица, от имени которого создаётся заказ.
  • natural_person_requisites — блок реквизитов физического лица.
    • address — почтовый адрес физического лица.
      • postal_code — почтовый индекс.
      • country_code — код страны.
      • region — область или регион.
      • city — город.
      • street — улица.
      • building — номер дома или строения.
      • room — номер квартиры, офиса или кабинета.
  • tariff_id — идентификатор тарифа в запросе.

Успешный ответ (200 OK):

json

{
  "order_id": 99999,
  "invoice_id": 88888,
  "invoice_url": "https://hb.by/s/{some short url resource}"
}

Что означают поля в ответе:

  • order_id — уникальный идентификатор созданного заказа в системе HB.BY.
  • invoice_id — идентификатор сформированного счёта на оплату.
  • invoice_url — публичная короткая ссылка на страницу счёта.

Типичные ошибки и рекомендации при оформлении заказов

  • **Всегда получайте актуальный (**tariff_id) **список тарифов (GET /v1/orders/.../tariffs) перед оформлением.
  • Проверяйте prices/available_periods в ответе тарифа, чтобы узнать допустимые значения period_unit_count.
  • Проверка домена должна быть отдельным шагом: не создавать заказ с доменом, который занят.

Получить заказы хостинга #

Метод запроса: GET

Адрес: https://api.hb.by/v1/orders/hostings

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

ИмяВложенностьТипОписание
order_numberquerystringНомер заказа
order_idqueryintegerID заказа
from_order_datequerystringС даты оформления
to_order_datequerystringПо дату оформления
service_idqueryintegerID услуги

Тело ответа:

ИмяВложенностьТипОписание
ordersbodyarray«object*»Список заказов
order_idorders[i]integer*ID заказа
service_idorders[i]integer*ID услуги
numberorders[i]string*Номер заказа
stateorders[i]string*Статус услуги
order_datetimeorders[i]string*Дата оформления заказа
complete_dateorders[i]stringДата выполнения заказа
expiration_dateorders[i]stringДата истечения заказа
currency_idorders[i]integer*ID валюты
period_unit_typeorders[i]string*Тип периода оплаты
period_unit_countorders[i]integer*Количество единиц периода оплаты
paidorders[i]boolean*Статус оплаты
completedorders[i]boolean*Статус выполнения
business_entity_typeorders[i]string*Тип заказчика в реквизитах
advancedorders[i]objectЗначение
tariff_idorders[i]
.advanced
integerТариф

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/orders/hostings

Успешный ответ (200 OK):

json

{
  "orders": [
    {
      "order_id": 99999,
      "service_id": 195,
      "number": "СФ-1222161",
      "state": "NewOrder",
      "order_datetime": "10.10.2025 20:31",
      "complete_date": null,
      "expiration_date": null,
      "currency_id": 500,
      "period_unit_type": "month",
      "period_unit_count": "1",
      "paid": false,
      "completed": false,
      "business_entity_type": "NaturalPerson",
      "advanced": {
        "tariff_id": 566
      }
    },
    ...
  ]
}

Что означают поля в ответе:

  • orders — список заказов.
  • order_id — уникальный идентификатор заказа.
  • service_id — идентификатор услуги, связанной с заказом.
  • number — номер заказа / счёта.
  • state — текущий статус заказа.
  • order_datetime — дата и время оформления заказа.
  • complete_date — дата выполнения заказа.
  • expiration_date — дата окончания действия услуги/сертификата.
  • currency_id — идентификатор валюты, в которой выставлен счёт.
  • period_unit_type — тип единицы периода оплаты.
  • period_unit_count — количество единиц периода оплаты.
  • paid — логическое значение: заказ оплачен (true) или нет (false).
  • completed — логическое значение: заказ завершён (true) или нет (false).
  • business_entity_type — тип заказчика в реквизитах.
  • advanced — объект с дополнительными свойствами заказа.
    • tariff_id — идентификатор тарифа внутри блока advanced.

Оформить заказ электронной почты #

Метод запроса: POST

Адрес: https://api.hb.by/v1/orders/corporate-mails

ТИПИЧНЫЕ СЦЕНАРИИ РАБОТЫ С КОРПОРАТИВНОЙ ПОЧТОЙ

Сценарий: Оформление корпоративной почты

  1. Получите тарифы: GET /v1/orders/corporate-mails/tariffs?currency_id={id}.
  2. Проверьте домен (если почта на своём домене): POST /v1/domains/check.
  3. Выберите валюту: GET /v1/billing/currencies.
  4. Заполните реквизиты клиента.
  5. Создайте заказ: POST /v1/orders/corporate-mails – получите invoice_url.

Тело запроса:

ИмяВложенностьТипОписание
period_unit_countbodyintegerПериод оплаты
currency_idbodyintegerID валюты
phonebodystringТелефон
emailbodystringПочта
natural_person_requisitesbodyobjectЗначение
last_namenatural_person_requisitesstringФамилия заказчика
first_namenatural_person_requisitesstringИмя заказчика
middle_namenatural_person_requisitesstringОтчество заказчика
addressnatural_person_requisitesobjectЗначение
postal_codenatural_person_requisites
.address
string*Почтовый индекс
country_codenatural_person_requisites
.address
string*Страна
regionnatural_person_requisites
.address
string*Регион / Область
citynatural_person_requisites
.address
string*Населенный пункт
streetnatural_person_requisites
.address
string*Улица
buildingnatural_person_requisites
.address
string*Дом
roomnatural_person_requisites
.address
string*Помещение
individual_businessman_requisitesbodyobjectЗначение
ucnindividual_businessman_requisitesstringУНП / ИНН
legal_addressindividual_businessman_requisitesobjectЗначение
postal_codeindividual_businessman_requisites
.legal_address
string*Почтовый индекс
country_codeindividual_businessman_requisites
.legal_address
string*Страна
regionindividual_businessman_requisites
.legal_address
string*Регион / Область
cityindividual_businessman_requisites
.legal_address
string*Населенный пункт
streetindividual_businessman_requisites
.legal_address
string*Улица
buildingindividual_businessman_requisites
.legal_address
string*Дом
roomindividual_businessman_requisites
.legal_address
string*Помещение
postal_addressindividual_businessman_requisitesobjectЗначение
postal_codeindividual_businessman_requisites
.postal_address
string*Почтовый индекс
country_codeindividual_businessman_requisites
.postal_address
string*Страна
regionindividual_businessman_requisites
.postal_address
string*Регион / Область
cityindividual_businessman_requisites
.postal_address
string*Населенный пункт
streetindividual_businessman_requisites
.postal_address
string*Улица
buildingindividual_businessman_requisites
.postal_address
string*Дом
roomindividual_businessman_requisites
.postal_address
string*Помещение
bank_requisitesindividual_businessman_requisitesobjectЗначение
bank_nameindividual_businessman_requisites
.bank_requisites
stringНаименование банка
swiftindividual_businessman_requisites
.bank_requisites
stringБИК SWIFT
ibanindividual_businessman_requisites
.bank_requisites
stringIBAN
last_nameindividual_businessman_requisitesstringФамилия заказчика
first_nameindividual_businessman_requisitesstringИмя заказчика
middle_nameindividual_businessman_requisitesstringОтчество заказчика
juridical_person_requisitesbodyobjectЗначение
ucnjuridical_person_requisitesstringУНП / ИНН
legal_addressjuridical_person_requisitesobjectЗначение
postal_codejuridical_person_requisites
.legal_address
string*Почтовый индекс
country_codejuridical_person_requisites
.legal_address
string*Страна
regionjuridical_person_requisites
.legal_address
string*Регион / Область
cityjuridical_person_requisites
.legal_address
string*Населенный пункт
streetjuridical_person_requisites
.legal_address
string*Улица
buildingjuridical_person_requisites
.legal_address
string*Дом
roomjuridical_person_requisites
.legal_address
string*Помещение
postal_addressjuridical_person_requisitesobjectЗначение
postal_codejuridical_person_requisites
.postal_address
string*Почтовый индекс
country_codejuridical_person_requisites
.postal_address
string*Страна
regionjuridical_person_requisites
.postal_address
string*Регион / Область
cityjuridical_person_requisites
.postal_address
string*Населенный пункт
streetjuridical_person_requisites
.postal_address
string*Улица
buildingjuridical_person_requisites
.postal_address
string*Дом
roomjuridical_person_requisites
.postal_address
string*Помещение
bank_requisitesjuridical_person_requisitesobjectЗначение
bank_namejuridical_person_requisites
.bank_requisites
stringНаименование банка
swiftjuridical_person_requisites
.bank_requisites
stringБИК SWIFT
ibanjuridical_person_requisites
.bank_requisites
stringIBAN
company_namejuridical_person_requisitesstringПолное наименование организации
executive_last_namejuridical_person_requisitesstringФамилия руководителя
executive_first_namejuridical_person_requisitesstringИмя руководителя
executive_middle_namejuridical_person_requisitesstringОтчество руководителя
post_of_executivejuridical_person_requisitesstringДолжность руководителя
tariff_idbodyinteger*ID тарифа

Тело ответа:

ИмяВложенностьТипОписание
order_idbodyintegerID нового заказа
invoice_idbodyintegerID нового счета
invoice_urlbodystringПубличная короткая ссылка на счет

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// POST https://api.hb.by/v1/orders/corporate-mails
{
  "period_unit_count": 1,
  "currency_id": 500,
  "phone": "+375291234567",
  "email": "user@mydomain.by",
  "natural_person_requisites": {
    "address": {
      "postal_code": "220000",
      "country_code": "BY",
      "region": "Минская область",
      "city": "Минск",
      "street": "ул. Домбровская",
      "building": "д. 9",
      "room": "каб. 13.1.1"
    }
  },
  "tariff_id": 1805
}

Что означают поля в запросе:

  • period_unit_count — количество единиц периода, на которое оформляется заказ.
  • currency_id — внутренний идентификатор валюты в системе.
  • phone — контактный телефон лица, от имени которого создаётся заказ.
  • email — контактный электронный адрес лица, от имени которого создаётся заказ.
  • natural_person_requisites — блок реквизитов физического лица.
    • address — почтовый адрес физического лица.
      • postal_code — почтовый индекс.
      • country_code — код страны.
      • region — область или регион.
      • city — город.
      • street — улица.
      • building — номер дома или строения.
      • room — номер квартиры, офиса или кабинета.
  • tariff_id — идентификатор тарифа в запросе.

Успешный ответ (200 OK):

json

{
  "order_id": 99999,
  "invoice_id": 88888,
  "invoice_url": "https://hb.by/s/{some short url resource}"
}

Что означают поля в ответе:

  • order_id — уникальный идентификатор созданного заказа в системе HB.BY.
  • invoice_id — идентификатор сформированного счёта на оплату.
  • invoice_url — публичная короткая ссылка на страницу счёта.

Получить заказы электронной почты #

Метод запроса: GET

Адрес: https://api.hb.by/v1/orders/corporate-mails

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

ИмяВложенностьТипОписание
order_numberquerystringНомер заказа
order_idqueryintegerID заказа
from_order_datequerystringС даты оформления
to_order_datequerystringПо дату оформления

Тело ответа:

ИмяВложенностьТипОписание
ordersbodyarray«object*»Список заказов
order_idorders[i]integer*ID заказа
service_idorders[i]integer*ID услуги
numberorders[i]string*Номер заказа
stateorders[i]string*Статус услуги
order_datetimeorders[i]string*Дата оформления заказа
complete_dateorders[i]stringДата выполнения заказа
expiration_dateorders[i]stringДата истечения заказа
currency_idorders[i]integer*ID валюты
period_unit_typeorders[i]string*Тип периода оплаты
period_unit_countorders[i]integer*Количество единиц периода оплаты
paidorders[i]boolean*Статус оплаты
completedorders[i]boolean*Статус выполнения
business_entity_typeorders[i]string*Тип заказчика в реквизитах
advancedorders[i]objectЗначение
tariff_idorders[i]
.advanced
integerТариф

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/orders/corporate-mails

Успешный ответ (200 OK):

json

{
  "orders": [
    {
      "order_id": 99999,
      "service_id": 150,
      "number": "СФ-1222161",
      "state": "NewOrder",
      "order_datetime": "10.10.2025 20:31",
      "complete_date": null,
      "expiration_date": null,
      "currency_id": 500,
      "period_unit_type": "month",
      "period_unit_count": "1",
      "paid": false,
      "completed": false,
      "business_entity_type": "NaturalPerson",
      "advanced": {
        "tariff_id": 1805
      }
    },
    ...
  ]
}

Что означают поля в ответе:

  • orders — список заказов.
  • order_id — уникальный идентификатор заказа.
  • service_id — идентификатор услуги, связанной с заказом.
  • number — номер заказа / счёта.
  • state — текущий статус заказа.
  • order_datetime — дата и время оформления заказа.
  • complete_date — дата выполнения заказа.
  • expiration_date — дата окончания действия услуги/сертификата.
  • currency_id — идентификатор валюты, в которой выставлен счёт.
  • period_unit_type — тип единицы периода оплаты.
  • period_unit_count — количество единиц периода оплаты.
  • paid — логическое значение: заказ оплачен (true) или нет (false).
  • completed — логическое значение: заказ завершён (true) или нет (false).
  • business_entity_type — тип заказчика в реквизитах.
  • advanced — объект с дополнительными свойствами заказа.
    • tariff_id — идентификатор тарифа внутри блока advanced.

Оформить заказ SSL-сертификата #

Метод запроса: POST

Адрес: https://api.hb.by/v1/orders/ssl-certificates

ТИПИЧНЫЕ СЦЕНАРИИ РАБОТЫ С SSL

Сценарий: Покупка SSL для домена

  1. Получите тарифы: GET /v1/orders/ssl-certificates/tariffs?currency_id={id} – выберите tariff_id.
  2. Подготовьте CSR или укажите domain.
  3. Проверьте доступность/регистрацию домена при необходимости.
  4. Создайте заказ: POST /v1/orders/ssl-certificates с tariff_id, domain/csr, period_unit_count, currency_id.

Тело запроса:

ИмяВложенностьТипОписание
period_unit_countbodyintegerПериод оплаты
currency_idbodyintegerID валюты
phonebodystringТелефон
emailbodystringПочта
natural_person_requisitesbodyobjectЗначение
last_namenatural_person_requisitesstringФамилия заказчика
first_namenatural_person_requisitesstringИмя заказчика
middle_namenatural_person_requisitesstringОтчество заказчика
addressnatural_person_requisitesobjectЗначение
postal_codenatural_person_requisites
.address
string*Почтовый индекс
country_codenatural_person_requisites
.address
string*Страна
regionnatural_person_requisites
.address
string*Регион / Область
citynatural_person_requisites
.address
string*Населенный пункт
streetnatural_person_requisites
.address
string*Улица
buildingnatural_person_requisites
.address
string*Дом
roomnatural_person_requisites
.address
string*Помещение
individual_businessman_requisitesbodyobjectЗначение
ucnindividual_businessman_requisitesstringУНП / ИНН
legal_addressindividual_businessman_requisitesobjectЗначение
postal_codeindividual_businessman_requisites
.legal_address
string*Почтовый индекс
country_codeindividual_businessman_requisites
.legal_address
string*Страна
regionindividual_businessman_requisites
.legal_address
string*Регион / Область
cityindividual_businessman_requisites
.legal_address
string*Населенный пункт
streetindividual_businessman_requisites
.legal_address
string*Улица
buildingindividual_businessman_requisites
.legal_address
string*Дом
roomindividual_businessman_requisites
.legal_address
string*Помещение
postal_addressindividual_businessman_requisitesobjectЗначение
postal_codeindividual_businessman_requisites
.postal_address
string*Почтовый индекс
country_codeindividual_businessman_requisites
.postal_address
string*Страна
regionindividual_businessman_requisites
.postal_address
string*Регион / Область
cityindividual_businessman_requisites
.postal_address
string*Населенный пункт
streetindividual_businessman_requisites
.postal_address
string*Улица
buildingindividual_businessman_requisites
.postal_address
string*Дом
roomindividual_businessman_requisites
.postal_address
string*Помещение
bank_requisitesindividual_businessman_requisitesobjectЗначение
bank_nameindividual_businessman_requisites
.bank_requisites
stringНаименование банка
swiftindividual_businessman_requisites
.bank_requisites
stringБИК SWIFT
ibanindividual_businessman_requisites
.bank_requisites
stringIBAN
last_nameindividual_businessman_requisitesstringФамилия заказчика
first_nameindividual_businessman_requisitesstringИмя заказчика
middle_nameindividual_businessman_requisitesstringОтчество заказчика
juridical_person_requisitesbodyobjectЗначение
ucnjuridical_person_requisitesstringУНП / ИНН
legal_addressjuridical_person_requisitesobjectЗначение
postal_codejuridical_person_requisites
.legal_address
string*Почтовый индекс
country_codejuridical_person_requisites
.legal_address
string*Страна
regionjuridical_person_requisites
.legal_address
string*Регион / Область
cityjuridical_person_requisites
.legal_address
string*Населенный пункт
streetjuridical_person_requisites
.legal_address
string*Улица
buildingjuridical_person_requisites
.legal_address
string*Дом
roomjuridical_person_requisites
.legal_address
string*Помещение
postal_addressjuridical_person_requisitesobjectЗначение
postal_codejuridical_person_requisites
.postal_address
string*Почтовый индекс
country_codejuridical_person_requisites
.postal_address
string*Страна
regionjuridical_person_requisites
.postal_address
string*Регион / Область
cityjuridical_person_requisites
.postal_address
string*Населенный пункт
streetjuridical_person_requisites
.postal_address
string*Улица
buildingjuridical_person_requisites
.postal_address
string*Дом
roomjuridical_person_requisites
.postal_address
string*Помещение
bank_requisitesjuridical_person_requisitesobjectЗначение
bank_namejuridical_person_requisites
.bank_requisites
stringНаименование банка
swiftjuridical_person_requisites
.bank_requisites
stringБИК SWIFT
ibanjuridical_person_requisites
.bank_requisites
stringIBAN
company_namejuridical_person_requisitesstringПолное наименование организации
executive_last_namejuridical_person_requisitesstringФамилия руководителя
executive_first_namejuridical_person_requisitesstringИмя руководителя
executive_middle_namejuridical_person_requisitesstringОтчество руководителя
post_of_executivejuridical_person_requisitesstringДолжность руководителя
tariff_idbodyinteger*ID тарифа
domainbodystringДомен
csrbodystringCSR

Тело ответа:

ИмяВложенностьТипОписание
order_idbodyintegerID нового заказа
invoice_idbodyintegerID нового счета
invoice_urlbodystringПубличная короткая ссылка на счет

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// POST https://api.hb.by/v1/orders/ssl-certificates
{
  "period_unit_count": 1,
  "currency_id": 500,
  "phone": "+375291234567",
  "email": "user@mydomain.by",
  "natural_person_requisites": {
    "address": {
      "postal_code": "220000",
      "country_code": "BY",
      "region": "Минская область",
      "city": "Минск",
      "street": "ул. Домбровская",
      "building": "д. 9",
      "room": "каб. 13.1.1"
    }
  },
  "tariff_id": 7027,
  "domain": "mydomain.by"
}

Что означают поля в запросе:

  • period_unit_count— количество единиц периода, на которое оформляется заказ.
  • currency_id — внутренний идентификатор валюты в системе.
  • phone — контактный телефон лица, от имени которого создаётся заказ.
  • email — контактный электронный адрес лица, от имени которого создаётся заказ.
  • natural_person_requisites — блок реквизитов физического лица.
    • address — почтовый адрес физического лица.
      • postal_code — почтовый индекс.
      • country_code — код страны.
      • region — область или регион.
      • city — город.
      • street — улица.
      • building — номер дома или строения.
      • room — номер квартиры, офиса или кабинета.
  • tariff_id — идентификатор тарифа в запросе.
  • domain — доменное имя, для которого заказывается сертификат.

Успешный ответ (200 OK):

json

{
  "order_id": 99999,
  "invoice_id": 88888,
  "invoice_url": "https://hb.by/s/{some short url resource}"
}

Что означают поля в ответе:

  • order_id — уникальный идентификатор созданного заказа корпоративной почты в системе.
  • invoice_id — идентификатор сформированного счёта на оплату.
  • invoice_url — публичная короткая ссылка на страницу счёта.

Получить заказы SSL-сертификатов #

Метод запроса: GET

Адрес: https://api.hb.by/v1/orders/ssl-certificates

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

ИмяВложенностьТипОписание
order_numberquerystringНомер заказа
order_idqueryintegerID заказа
from_order_datequerystringС даты оформления
to_order_datequerystringПо дату оформления

Тело ответа:

ИмяВложенностьТипОписание
ordersbodyarray«object*»Список заказов
order_idorders[i]integer*ID заказа
service_idorders[i]integer*ID услуги
numberorders[i]string*Номер заказа
stateorders[i]string*Статус услуги
order_datetimeorders[i]string*Дата оформления заказа
complete_dateorders[i]stringДата выполнения заказа
expiration_dateorders[i]stringДата истечения заказа
currency_idorders[i]integer*ID валюты
period_unit_typeorders[i]string*Тип периода оплаты
period_unit_countorders[i]integer*Количество единиц периода оплаты
paidorders[i]boolean*Статус оплаты
completedorders[i]boolean*Статус выполнения
business_entity_typeorders[i]string*Тип заказчика в реквизитах
advancedorders[i]objectЗначение
domainorders[i]
.advanced
stringДомен
use_csrorders[i]
.advanced
booleanПризнак использования пользовательского CSR
tariff_idorders[i]
.advanced
integerТариф (наименование SSL-сертификата)
valid_from_dateorders[i]
.advanced
stringДата начала действия сертификата
valid_till_dateorders[i]
.advanced
stringДата окончания действия сертификата

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/orders/ssl-certificates

Успешный ответ (200 OK):

json

{
  "orders": [
    {
      "order_id": 99999,
      "service_id": 60,
      "number": "СФ-1222161",
      "state": "NewOrder",
      "order_datetime": "10.10.2025 20:31",
      "complete_date": null,
      "expiration_date": null,
      "currency_id": 500,
      "period_unit_type": "year",
      "period_unit_count": "1",
      "paid": false,
      "completed": false,
      "business_entity_type": "NaturalPerson",
      "advanced": {
        "domain": "mydomain.by",
        "use_csr": false,
        "tariff_id": 7027,
        "valid_from_date": null,
        "valid_till_date": null
      }
    },
    ...
  ]
}

Что означают поля в ответе:

  • orders — список заказов; каждый элемент представляет отдельный заказ.
  • order_id — уникальный идентификатор заказа.
  • service_id — идентификатор услуги, по которой создан заказ.
  • number — номер заказа.
  • state — текущий статус услуги/заказа.
  • order_datetime — дата и время оформления заказа.
  • complete_date — дата выполнения заказа.
  • expiration_date — дата истечения услуги/заказа.
  • currency_id — идентификатор валюты, в которой выставлен счёт.
  • period_unit_type — тип единицы периода оплаты.
  • period_unit_count — количество единиц периода оплаты.
  • paid — логическое значение: признак того, что заказ оплачен.
  • completed — логическое значение: признак того, что заказ выполнен.
  • business_entity_type — тип заказчика в реквизитах.
  • advanced — объект с дополнительными значениями, связанными с заказом.
    • domain — доменное имя (внутри блока advanced), к которому относится заказ.
    • use_csr — признак использования пользовательского CSR.
    • tariff_id — идентификатор тарифа или наименование SSL-сертификата.
    • valid_from_date — дата начала действия сертификата.
    • valid_till_date — дата окончания действия сертификата.

Оформить заказ домена #

Метод запроса: POST

Адрес: https://api.hb.by/v1/orders/domains

ТИПИЧНЫЕ СЦЕНАРИИ РАБОТЫ С ДОМЕНАМИ

Сценарий: Проверка и регистрация домена

  1. Получите список доступных зон и тарифов: GET /v1/orders/domains/zones?currency_id={id} – возьмите actual_registration_tariff_id, min_period, max_period.
  2. Проверьте доступность домена: POST /v1/domains/check.
  3. Соберите WHOIS/паспортные данные (если требуется) – заполните natural_person_requisites или juridical_person_requisites.
  4. Создайте заказ: POST /v1/orders/domains с domain, tariff_id, period_unit_count, currency_id и реквизитами.
  5. Получите invoice_id и invoice_url для оплаты.

Тело запроса:

ИмяВложенностьТипОписание
period_unit_countbodyintegerПериод оплаты
currency_idbodyintegerID валюты
phonebodystringТелефон
emailbodystringПочта
natural_person_requisitesbodyobjectЗначение
last_namenatural_person_requisitesstringФамилия заказчика
first_namenatural_person_requisitesstringИмя заказчика
middle_namenatural_person_requisitesstringОтчество заказчика
addressnatural_person_requisitesobjectЗначение
postal_codenatural_person_requisites
.address
string*Почтовый индекс
country_codenatural_person_requisites
.address
string*Страна
regionnatural_person_requisites
.address
string*Регион / Область
citynatural_person_requisites
.address
string*Населенный пункт
streetnatural_person_requisites
.address
string*Улица
buildingnatural_person_requisites
.address
string*Дом
roomnatural_person_requisites
.address
string*Помещение
individual_businessman_requisitesbodyobjectЗначение
ucnindividual_businessman_requisitesstringУНП / ИНН
legal_addressindividual_businessman_requisitesobjectЗначение
postal_codeindividual_businessman_requisites
.legal_address
string*Почтовый индекс
country_codeindividual_businessman_requisites
.legal_address
string*Страна
regionindividual_businessman_requisites
.legal_address
string*Регион / Область
cityindividual_businessman_requisites
.legal_address
string*Населенный пункт
streetindividual_businessman_requisites
.legal_address
string*Улица
buildingindividual_businessman_requisites
.legal_address
string*Дом
roomindividual_businessman_requisites
.legal_address
string*Помещение
postal_addressindividual_businessman_requisitesobjectЗначение
postal_codeindividual_businessman_requisites
.postal_address
string*Почтовый индекс
country_codeindividual_businessman_requisites
.postal_address
string*Страна
regionindividual_businessman_requisites
.postal_address
string*Регион / Область
cityindividual_businessman_requisites
.postal_address
string*Населенный пункт
streetindividual_businessman_requisites
.postal_address
string*Улица
buildingindividual_businessman_requisites
.postal_address
string*Дом
roomindividual_businessman_requisites
.postal_address
string*Помещение
bank_requisitesindividual_businessman_requisitesobjectЗначение
bank_nameindividual_businessman_requisites
.bank_requisites
stringНаименование банка
swiftindividual_businessman_requisites
.bank_requisites
stringБИК SWIFT
ibanindividual_businessman_requisites
.bank_requisites
stringIBAN
last_nameindividual_businessman_requisitesstringФамилия заказчика
first_nameindividual_businessman_requisitesstringИмя заказчика
middle_nameindividual_businessman_requisitesstringОтчество заказчика
juridical_person_requisitesbodyobjectЗначение
ucnjuridical_person_requisitesstringУНП / ИНН
legal_addressjuridical_person_requisitesobjectЗначение
postal_codejuridical_person_requisites
.legal_address
string*Почтовый индекс
country_codejuridical_person_requisites
.legal_address
string*Страна
regionjuridical_person_requisites
.legal_address
string*Регион / Область
cityjuridical_person_requisites
.legal_address
string*Населенный пункт
streetjuridical_person_requisites
.legal_address
string*Улица
buildingjuridical_person_requisites
.legal_address
string*Дом
roomjuridical_person_requisites
.legal_address
string*Помещение
postal_addressjuridical_person_requisitesobjectЗначение
postal_codejuridical_person_requisites
.postal_address
string*Почтовый индекс
country_codejuridical_person_requisites
.postal_address
string*Страна
regionjuridical_person_requisites
.postal_address
string*Регион / Область
cityjuridical_person_requisites
.postal_address
string*Населенный пункт
streetjuridical_person_requisites
.postal_address
string*Улица
buildingjuridical_person_requisites
.postal_address
string*Дом
roomjuridical_person_requisites
.postal_address
string*Помещение
bank_requisitesjuridical_person_requisitesobjectЗначение
bank_namejuridical_person_requisites
.bank_requisites
stringНаименование банка
swiftjuridical_person_requisites
.bank_requisites
stringБИК SWIFT
ibanjuridical_person_requisites
.bank_requisites
stringIBAN
company_namejuridical_person_requisitesstringПолное наименование организации
executive_last_namejuridical_person_requisitesstringФамилия руководителя
executive_first_namejuridical_person_requisitesstringИмя руководителя
executive_middle_namejuridical_person_requisitesstringОтчество руководителя
post_of_executivejuridical_person_requisitesstringДолжность руководителя
domainbodystringДомен
whois_person_requisitesbodyobjectЗначение
citizenshipwhois_person_requisitesstringГражданство (код страны)
serieswhois_person_requisitesstringСерия
numberwhois_person_requisitesstringНомер
organizationwhois_person_requisitesstringКем выдан
identity_numberwhois_person_requisitesstringИдентификационный номер
date_of_issuewhois_person_requisitesstringДата выдачи
date_of_birthwhois_person_requisitesstringДата рождения (только для RU/SU/РФ)
whois_company_requisitesbodyobjectЗначение
registration_numberwhois_company_requisitesstringРегистрационный номер (только для BY/БЕЛ)
registration_organizationwhois_company_requisitesstringОрган, осуществивший регистрацию (только для BY/БЕЛ)
registration_issue_numberwhois_company_requisitesstringНомер решения о государственной регистрации (только для BY/БЕЛ)
registration_issue_datewhois_company_requisitesstringДата решения о государственной регистрации (только для BY/БЕЛ)
is_government_companywhois_company_requisitesbooleanГосударственная организация (только для BY/БЕЛ)
innwhois_company_requisitesstringИНН (только для RU/SU/РФ)
kppwhois_company_requisitesstringКПП (только для RU/SU/РФ)
ogrnwhois_company_requisitesstringОГРН (только для RU/SU/РФ)

Тело ответа:

ИмяВложенностьТипОписание
order_idbodyintegerID нового заказа
invoice_idbodyintegerID нового счета
invoice_urlbodystringПубличная короткая ссылка на счет

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// POST https://api.hb.by/v1/orders/domains
{
  "period_unit_count": 1,
  "currency_id": 500,
  "phone": "+375291234567",
  "email": "user@mydomain.by",
  "natural_person_requisites": {
    "address": {
      "postal_code": "220000",
      "country_code": "BY",
      "region": "Минская область",
      "city": "Минск",
      "street": "ул. Домбровская",
      "building": "д. 9",
      "room": "каб. 13.1.1"
    }
  },
  "domain": "mydomain.by",
  "whois_person_requisites": {
    "citizenship": "BY",
    "series": "BM",
    "number": "1234567",
    "organization": "РОВД Октябрьского р-на г. Минска",
    "identity_number": "1234567A901PB4",
    "date_of_issue": "10.10.2005"
  }
}

Что означают поля в запросе:

  • period_unit_count — количество единиц периода, на которое оформляется заказ.
  • currency_id — внутренний идентификатор валюты в системе.
  • phone — контактный телефон лица, от имени которого создаётся заказ.
  • email — контактный электронный адрес лица, от имени которого создаётся заказ.
  • natural_person_requisites — блок реквизитов физического лица.
    • address — почтовый адрес физического лица.
      • postal_code — почтовый индекс.
      • country_code — код страны.
      • region — область или регион.
      • city — город.
      • street — улица.
      • building — номер дома или строения.
      • room — номер квартиры, офиса или кабинета.
  • domain — доменное имя, по которому создаётся заказ.
  • whois_person_requisites — блок WHOIS-реквизитов владельца домена.
    • citizenship — гражданство владельца.
    • series — серия документа, удостоверяющего личность.
    • number — номер документа, удостоверяющего личность.
    • organization — организация или орган, указанные в документе.
    • identity_number — идентификационный номер.
    • date_of_issue — дата выдачи документа.

Успешный ответ (200 OK):

json

{
  "order_id": 99999,
  "invoice_id": 88888,
  "invoice_url": "https://hb.by/s/{some short url resource}"
}

Что означают поля в ответе:

  • order_id — уникальный идентификатор созданного заказа домена в системе.
  • invoice_id — идентификатор сформированного счёта на оплату.
  • invoice_url — публичная короткая ссылка на счёт (короткий URL).

Получить заказы доменов #

Метод запроса: GET

Адрес: https://api.hb.by/v1/orders/domains

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

ИмяВложенностьТипОписание
order_numberquerystringНомер заказа
order_idqueryintegerID заказа
from_order_datequerystringС даты оформления
to_order_datequerystringПо дату оформления

Тело ответа:

ИмяВложенностьТипОписание
ordersbodyarray«object*»Список заказов
order_idorders[i]integer*ID заказа
service_idorders[i]integer*ID услуги
numberorders[i]string*Номер заказа
stateorders[i]string*Статус услуги
order_datetimeorders[i]string*Дата оформления заказа
complete_dateorders[i]stringДата выполнения заказа
expiration_dateorders[i]stringДата истечения заказа
currency_idorders[i]integer*ID валюты
period_unit_typeorders[i]string*Тип периода оплаты
period_unit_countorders[i]integer*Количество единиц периода оплаты
paidorders[i]boolean*Статус оплаты
completedorders[i]boolean*Статус выполнения
business_entity_typeorders[i]string*Тип заказчика в реквизитах
advancedorders[i]objectЗначение
domainorders[i]
.advanced
stringДомен
registeredorders[i]
.advanced
booleanПризнак регистрации
renewedorders[i]
.advanced
booleanПризнак продления
registration_tariff_idorders[i]
.advanced
integerПривязанный тариф регистрации
renew_tariff_idorders[i]
.advanced
integerПривязанный тариф продления

cURL запрос:

# Оригинальный пример запроса (сохранён):

json
// GET https://api.hb.by/v1/orders/domains

Успешный ответ (200 OK):

json

{
  "orders": [
    {
      "order_id": 99999,
      "service_id": 30,
      "number": "СФ-1222161",
      "state": "NewOrder",
      "order_datetime": "10.10.2025 20:31",
      "complete_date": null,
      "expiration_date": null,
      "currency_id": 500,
      "period_unit_type": "year",
      "period_unit_count": "1",
      "paid": false,
      "completed": false,
      "business_entity_type": "NaturalPerson",
      "advanced": {
        "domain": "mydomain.by",
        "registered": false,
        "renewed": false,
        "registration_tariff_id": 2000,
        "renew_tariff_id": 2001
      }
    },
    ...
  ]
}

Что означают поля в ответе:

  • orders — список найденных заказов доменов.
  • order_id — уникальный идентификатор заказа в системе.
  • service_id — идентификатор услуги, к которой относится заказ.
  • number — номер/код заказа.
  • state — текущий статус заказа/услуги.
  • order_datetime — дата и время оформления заказа.
  • complete_date — дата выполнения заказа.
  • expiration_date — дата истечения/окончания действия заказа/услуги.
  • currency_id — идентификатор валюты, в которой выставлен счёт/оплата.
  • period_unit_type — единица периода оплаты.
  • period_unit_count — количество единиц периода оплаты.
  • paid — признак оплаты: true если заказ оплачен, false — если нет.
  • completed — признак завершения/выполнения заказа: true — выполнен, false — не выполнен.
  • business_entity_type — тип заказчика в реквизитах.
  • advanced — дополнительный объект с расширенными данными.
    • domain — доменное имя, к которому относится заказ.
    • registered — признак, что домен зарегистрирован (true) или ещё не зарегистрирован (false).
    • renewed — признак продления домена.
    • registration_tariff_id — идентификатор тарифа, использованного при регистрации домена.
    • renew_tariff_id — идентификатор тарифа, использованного при продлении домена.