Перейти к содержанию

website.php

Модуль интеграции для веб-сайта: управление предзаказами, проверка email на существование в биллинге, получение цен по IP и работа с данными клиентов

Методы API

Метод Действие Описание
add_preorder создание предзаказа Создает новый предзаказ (preorder) для клиента, включая создание Jira-тикета в случае необходимости.
billings получение списка биллингов Возвращает список доступных биллинговых локаций с информацией о компании и методах оплаты.
check_email проверка email Проверяет, зарегистрирован ли данный email в системе или WHMCS.
get_email получение email по аккаунту Возвращает email клиента по его ID и локации.
get_ip_pricing получение цен по IP Возвращает ценовые предложения, привязанные к валюте.
get_pids получение PIDs Возвращает карту соответствия ID локаций (PIDs) для разных систем биллинга.
init инициализация сессии Инициализирует сессию пользователя, проверяя валидность токена и IP-адреса.
order оформление заказа Создает заказ (инвойс или пребилл) на основе корзины товаров и данных клиента.
ovirt_ip получение тегов ovirt_ip Возвращает дополнительные данные (extra) для тега ovirt_ip, если он существует в системе.
preorder_x_send_email отправка email по предзаказу Отправляет уведомление клиенту о доступности сервера из предзаказа.
rate получение курсов валют Возвращает список доступных тегов и связанных с ними значений (курсы/переменные).
set_event регистрация данных клиента Сохраняет или обновляет данные гостя (контактную информацию) в системе.
validate_ip валидация IP-адреса Проверяет IP-адрес и возвращает информацию о стране, провайдере (carrier) и признаках хостинга.
validate_tel валидация номера телефона Проверяет корректность телефонного номера.

website/add_preorder

Создает новый предзаказ (preorder) для клиента, включая создание Jira-тикета в случае необходимости.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_preorder
email ✅ string Email клиента. Должен быть в валидном формате.
customer_id ❌ integer ID существующего клиента в базе данных.
billing ❌ string Биллинговая локация (WHMCS location).
preset_id ❌ integer ID выбранного пресета конфигурации.
region_code ❌ string Код региона (Data Center).
spec_region ❌ boolean Флаг использования специфического региона.
custom_config ❌ string Пользовательская конфигурация сервера (JSON).
client_name ✅ string Имя клиента.
phone ❌ string Контактный номер телефона.
comment ❌ string Комментарий или описание заказа (маппится в description).
site ❌ string Сайт/домен. Допустимые значения: COM, RU.
is_help ❌ boolean Флаг запроса помощи (создает Jira тикет).

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

curl -s "https://invapi.hostkey.ru/website.php" -X POST \
--data "action=add_preorder" \
--data "email=client@example.com" \
--data "client_name=Ivan Ivanov"
Пример успешного ответа
{
"result": "OK",
"action": "add_preorder",
"id": 12345,
"mail": "sent",
"message": "JIRA-123"
}
Примеры ошибок
{
"code": -1,
"message": "Invalid argument email"
}

website/billings

Возвращает список доступных биллинговых локаций с информацией о компании и методах оплаты.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: billings
- - - Других параметров нет

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

curl -s "https://invapi.hostkey.ru/website.php" -X GET \
--data "action=billings"
Пример успешного ответа
{
"result": "OK",
"action": "billings",
"data": {
"whmcs_ru": {
"company": "HostKey RU",
"allowed_payments": "Visa, MC, Mir",
"native_endpoint": [
"https://billing.ru"
],
"location": "Russia"
}
}
}
Примеры ошибок
{}

website/check_email

Проверяет, зарегистрирован ли данный email в системе или WHMCS.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: check_email
email ✅ string Email для проверки.

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

curl -s "https://invapi.hostkey.ru/website.php" -X POST \
--data "action=check_email" \
--data "email=example@mail.com"
Пример успешного ответа
{
"result": "OK",
"code": "OK",
"message": "email is new for us"
}
Примеры ошибок
{
"code": -1,
"message": "email not specified or incorrect"
}

website/get_email

Возвращает email клиента по его ID и локации.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_email
account_id ✅ integer ID аккаунта клиента.
location ✅ string Биллинговая локация.

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

curl -s "https://invapi.hostkey.ru/website.php" -X GET \
--data "action=get_email" \
--data "account_id=123" \
--data "location=NL"
Пример успешного ответа
{
"result": "OK",
"email": "user@example.com"
}
Примеры ошибок
{
"code": -1,
"message": "No client found for account id 123 in location NL"
}

website/get_ip_pricing

Возвращает ценовые предложения, привязанные к валюте.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_ip_pricing
currency ❌ string Валюта для расчета цен.

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

curl -s "https://invapi.hostkey.ru/website.php" -X GET \
--data "action=get_ip_pricing"
Пример успешного ответа
{
"result": "OK",
"action": "get_ip_pricing",
"data": {
"EUR": 49.99,
"USD": 54.0,
"RUB": 5000.0
}
}
Примеры ошибок
{}

website/get_pids

Возвращает карту соответствия ID локаций (PIDs) для разных систем биллинга.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_pids
- - - Других параметров нет

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

curl -s "https://invapi.hostkey.ru/website.php" -X GET \
--data "action=get_pids"
Пример успешного ответа
{
"result": "OK",
"pids": {}
}
Примеры ошибок
[]

website/ovirt_ip

Возвращает дополнительные данные (extra) для тега ovirt_ip, если он существует в системе.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: ovirt_ip
- - - Других параметров нет

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

curl -s "https://invapi.hostkey.ru/website.php" -X POST \
--data "action=ovirt_ip"
Пример успешного ответа
{
"result": "OK",
"action": "ovirt_ip",
"data": [
{
"tag": "string",
"value": "string",
"extra": "string"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка выполнения запроса"
}

website/rate

Возвращает список доступных тегов и связанных с ними значений (курсы/переменные).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: rate
- - - Других параметров нет

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

curl -s "https://invapi.hostkey.ru/website.php" -X POST \
--data "action=rate"
Пример успешного ответа
{
"tag": "string",
"value": "string",
"extra": "string"
}
Примеры ошибок
[]

website/validate_ip

Проверяет IP-адрес и возвращает информацию о стране, провайдере (carrier) и признаках хостинга.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: validate_ip
ip ✅ string IP-адрес для проверки.
params[ip] ✅ string IP-адрес для проверки.
city ❌ string Название города для определения местоположения по IP-адресу.

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

curl -s "https://invapi.hostkey.ru/website.php" -X POST \
--data "action=validate_ip" \
--data "ip=8.8.8.8" \
--data "params[ip]=8.8.8.8"
Пример успешного ответа
{
"country": "US",
"user_type": 0,
"is_hosting": false,
"is_anonymous": false,
"black_hosting": false,
"city": "",
"static_score": 0,
"carrier": "unknown",
"all": {}
}
Примеры ошибок
{
"code": -1,
"message": "Invalid IP provided for validation"
}

website/validate_tel

Проверяет корректность телефонного номера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: validate_tel
tel ✅ string Номер телефона для проверки.
params[tel] ✅ string Номер телефона для проверки.

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

curl -s "https://invapi.hostkey.ru/website.php" -X POST \
--data "action=validate_tel" \
--data "tel=VALUE" \
--data "params[tel]=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "validate_tel",
"data": {
"valid": true
}
}
Примеры ошибок
{
"code": -1,
"message": "no telephone number provided for validation"
}

website/init

Инициализирует сессию пользователя, проверяя валидность токена и IP-адреса.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: init
token ✅ string Токен авторизации.
web_ip ❌ string IP-адрес веб-клиента.

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

curl -s "https://invapi.hostkey.ru/website.php" -X POST \
--data "action=init" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"expire": "2024-12-31T23:59:59Z",
"hash": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
"token": "sample_token_value"
}
Примеры ошибок
{
"code": -2,
"message": "$module: authorization is required"
}

website/order

Создает заказ (инвойс или пребилл) на основе корзины товаров и данных клиента.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: order
token ✅ string Токен авторизации.
incomingData[person], [email] ❌ string Email клиента для идентификации.
incomingData[person], [userid] ❌ integer ID пользователя в WHMCS.
incomingData[cart], [items] ✅ array<object> Список товаров в корзине. Принимает массив объектов с параметрами товара.
incomingData[settings], [paymentMethod] ❌ string Метод оплаты. Если не указан, используется метод по умолчанию из профиля клиента.
incomingData[settings], [comment] ❌ string Комментарий к заказу.
incomingData[settings], [promocode] ❌ string Промокод.
incomingData[settings], [affid] ❌ integer ID партнера (affiliate ID).
incomingData[client_currency] ❌ string Валюта клиента.

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

curl -s "https://invapi.hostkey.ru/website.php" -X POST \
--data "action=order" \
--data "token=YOUR_TOKEN" \
--data "incomingData[person][email]=user@example.com" \
--data "incomingData[cart][items][0][id]=123" \
--data "incomingData[cart][items][1][id]=456"
Пример успешного ответа
{
"result": "success",
"action": "order",
"has_errors": false,
"redirect": "https://hostkey.com/?my_servers&token=abc",
"invoiceid": 12345,
"invoice_status": "Unpaid",
"orderid": 98765,
"productids": [
101,
102
],
"client_id": 55,
"whmcs_location": "US",
"prebill_items": [
{
"status": "success",
"cart_index": 0,
"preset": "Standard VPS",
"total": 19.99,
"deploy_period": "monthly"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "failed to create top-up invoice"
}

website/preorder_x_send_email

Отправляет уведомление клиенту о доступности сервера из предзаказа.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: preorder_x_send_email
id ✅ integer ID предзаказа.
lang ❌ string Язык уведомления. Может быть ru или не ru.

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

curl -s "https://invapi.hostkey.ru/website.php" -X POST \
--data "action=preorder_x_send_email" \
--data "id=501"
Пример успешного ответа
{
"result": "OK",
"id": 501,
"emailed_at": "2024-05-20 14:30:00"
}
Примеры ошибок
{
"code": -1,
"message": "invalid argument preorder_id"
}

website/set_event

Сохраняет или обновляет данные гостя (контактную информацию) в системе.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: set_event
guest_hash_id ✅ string Уникальный хеш гостя.
email ✅ string Email клиента.
name ❌ string Имя пользователя.
surname ❌ string Фамилия пользователя.
companyName ❌ string Название компании.
city ❌ string Город проживания.
zip ❌ string Почтовый индекс.
address1 ❌ string Адрес (строка 1).
sms ❌ string Номер телефона или SMS.
secretword ❌ string Секретное слово.
vat ❌ string Номер плательщика НДС (VAT).
country ❌ string Страна проживания.
region ❌ string Регион или область.
company ❌ integer Флаг компании (0 или 1).
address2 ❌ string Адрес (строка 2).
payment ❌ string Метод оплаты.
currency ❌ string Валюта (3 символа).
clientip ❌ string IP-адрес клиента.
subscribe ❌ integer Подписка на рассылку (0 или 1).
is_registered ❌ integer Статус регистрации (0 или 1).
site ❌ string Доменная зона. Допустимые значения: COM, RU.

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

curl -s "https://invapi.hostkey.ru/website.php" -X POST \
--data "action=set_event" \
--data "guest_hash_id=VALUE" \
--data "email=VALUE" \
--data "name=VALUE"
Пример успешного ответа
{
"result": "OK",
"id": 12345
}
Примеры ошибок
{
"code": -1,
"message": "Invalid argument email"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×