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

website.php

В этой статье

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

Методы API

Метод Действие Описание
add_preorder создание предзаказа Создает новый предзаказ (preorder) для клиента. Если клиент не найден, пытается найти его по email и billing.
billings получение списка биллингов Возвращает список доступных локаций биллинга (WHMCS) с информацией о компаниях и платежных методах.
check_email проверка email Проверяет, зарегистрирован ли данный email в системе InvAPI или WHMCS.
clear_cache очистка кэша Очищает кэш веб-сайта. Позволяет указать конкретный сайт и массив целей для очистки.
get_email получение email по account_id Возвращает email клиента, привязанного к конкретному ID аккаунта в указанной локации.
get_ip_pricing получение цен по IP Возвращает актуальные цены на услуги с учетом валюты, привязанной к IP-адресу.
get_pids получение PIDs (ID локаций) Возвращает карту соответствия ID локаций WHMCS и внутренних идентификаторов системы.
get_stop_words получение стоп-слов Возвращает список стоп-слов для фильтрации текста.

website/add_preorder

Создает новый предзаказ (preorder) для клиента. Если клиент не найден, пытается найти его по email и billing.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_preorder
email ✅ string Email клиента. Должен быть в валидном формате email.
billing ❌ string Локация биллинга (WHMCS location).
customer_id ❌ integer ID клиента в базе данных.
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 Флаг запроса помощи (нужна ли консультация отдела продаж).
token ❌ string Уникальный токен для аутентификации или проверки запроса.

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

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

website/billings

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

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: billings
token ❌ string Уникальный идентификатор сессии или ключ доступа для выполнения запроса.

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

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, Mastercard, Mir",
"native_endpoint": "https://billing.hostkey.ru",
"location": "RU"
},
"whmcs_us": {
"company": "HostKey US",
"allowed_payments": "PayPal, Credit Card",
"native_endpoint": "https://billing.hostkey.com",
"location": "US"
}
}
}
Примеры ошибок
{
"code": -1,
"message": "Unknown action"
}

website/check_email

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

HTTP-метод: POST

Параметры:

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

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

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/clear_cache

Очищает кэш веб-сайта. Позволяет указать конкретный сайт и массив целей для очистки.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: clear_cache
token ✅ string Токен авторизации для проверки прав доступа.
web_ip ❌ string IP-адрес веб-клиента для валидации токена.
sitename ❌ string Имя сайта для очистки кэша.
target ❌ array<string> Список целей для очистки кэша. Можно передавать несколько значений через target[].

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

curl -s "https://invapi.hostkey.ru/website.php" -X POST \
--data "action=clear_cache" \
--data "token=YOUR_TOKEN" \
--data "sitename=example.com" \
--data "target[]=cache" \
--data "target[]=session"
Пример успешного ответа
{
"result": "OK",
"module": "website",
"action": "clear_cache"
}
Примеры ошибок
{
"code": -1,
"message": "Error (содержит детализированную ошибку в формате JSON или строку)"
}

website/get_email

Возвращает email клиента, привязанного к конкретному ID аккаунта в указанной локации.

HTTP-метод: GET

Параметры:

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

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

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

website/get_ip_pricing

Возвращает актуальные цены на услуги с учетом валюты, привязанной к IP-адресу.

HTTP-метод: GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/website.php" -X GET \
--data "action=get_ip_pricing"
Пример успешного ответа
{
"result": "OK",
"data": [
{
"service_id": 101,
"name": "Dedicated Server",
"price": {
"EUR": 49.99,
"USD": 54.5,
"RUB": 5000
}
}
]
}
Примеры ошибок
{}

website/get_pids

Возвращает карту соответствия ID локаций WHMCS и внутренних идентификаторов системы.

HTTP-метод: GET

Параметры:

action ✅ string Идентификатор метода: get_pids
token ✅ string Авторизационный токен для доступа к API

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

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

website/get_stop_words

Возвращает список стоп-слов для фильтрации текста.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/website.php" -X POST \
--data "action=get_stop_words" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"words": [
"word1",
"word2"
]
}
Примеры ошибок
{
"code": -1,
"message": "$module/get_stop_words: admin-only action"
}

website/order

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: order
token ✅ string Токен авторизации.
incomingData[person][email] ✅ string Email клиента в корзине.
incomingData[person][userid] ❌ integer ID пользователя WHMCS.
incomingData[cart][items] ✅ array<object> Список товаров в корзине.
incomingData[client_currency] ❌ string Валюта клиента. Допустимые значения: EUR, USD, RUB, RUR.
incomingData[settings][comment] ❌ string Комментарий к заказу.
incomingData[settings][promocode] ❌ 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][0][qty]=1"
Пример успешного ответа
{
"result": "success",
"action": "order",
"has_errors": false,
"redirect": "https://example.com/?my_servers&token=abc123token",
"invoiceid": 12345,
"invoice_status": "Unpaid",
"prebill_items": [
{
"status": "success",
"cart_index": 0
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Error preorder store"
}

website/ovirt_ip

Возвращает значение extra для тега ovirt_ip.

HTTP-метод: POST

Параметры:

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

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

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

website/preorder_x_send_email

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

HTTP-метод: POST

Параметры:

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

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

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

website/rate

Возвращает список доступных тегов/курсов.

HTTP-метод: POST

Параметры:

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

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

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

website/set_event

Сохраняет данные гостя в таблицу hkclients.

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 Статус регистрации.
site ❌ string Сайт. Допустимые значения: COM, RU.
token ❌ string Уникальный идентификатор или токен для аутентификации запроса.

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

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": "Field email is too long"
}

website/validate_ip

Возвращает информацию о геолокации и типе IP (hosting, anonymous).

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: validate_ip
ip ✅ string IP адрес для проверки.
token ❌ string Уникальный идентификатор сессии или токен авторизации для выполнения запроса.
city ❌ string Название города для фильтрации или уточнения географических данных.

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

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

website/validate_tel

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: validate_tel
tel ✅ string Номер телефона для проверки.
token ❌ string Уникальный идентификатор сессии или ключ авторизации для выполнения запроса.

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

curl -s "https://invapi.hostkey.ru/website.php" -X POST \
--data "action=validate_tel" \
--data "tel=+79991234567"
Пример успешного ответа
{
"result": "OK",
"action": "validate_tel",
"data": {
"valid": true,
"format": "+79991234567"
}
}
Примеры ошибок
{
"code": -1,
"message": "no telephone number provided for validation"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×