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 |
| ✅ | 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 тикет). |
Пример запроса
Пример успешного ответа
website/billings¶
Возвращает список доступных биллинговых локаций с информацией о компании и методах оплаты.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: billings |
| - | - | - | Других параметров нет |
Пример успешного ответа
website/check_email¶
Проверяет, зарегистрирован ли данный email в системе или WHMCS.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: check_email |
| ✅ | string | Email для проверки. |
Пример запроса
website/get_email¶
Возвращает email клиента по его ID и локации.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_email |
| account_id | ✅ | integer | ID аккаунта клиента. |
| location | ✅ | string | Биллинговая локация. |
Пример запроса
website/get_ip_pricing¶
Возвращает ценовые предложения, привязанные к валюте.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_ip_pricing |
| currency | ❌ | string | Валюта для расчета цен. |
Пример запроса
Пример успешного ответа
website/get_pids¶
Возвращает карту соответствия ID локаций (PIDs) для разных систем биллинга.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_pids |
| - | - | - | Других параметров нет |
website/ovirt_ip¶
Возвращает дополнительные данные (extra) для тега ovirt_ip, если он существует в системе.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: ovirt_ip |
| - | - | - | Других параметров нет |
Пример успешного ответа
website/rate¶
Возвращает список доступных тегов и связанных с ними значений (курсы/переменные).
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: rate |
| - | - | - | Других параметров нет |
website/validate_ip¶
Проверяет IP-адрес и возвращает информацию о стране, провайдере (carrier) и признаках хостинга.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: validate_ip |
| ip | ✅ | string | IP-адрес для проверки. |
| params[ip] | ✅ | string | IP-адрес для проверки. |
| city | ❌ | string | Название города для определения местоположения по IP-адресу. |
Пример запроса
Пример успешного ответа
website/validate_tel¶
Проверяет корректность телефонного номера.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: validate_tel |
| tel | ✅ | string | Номер телефона для проверки. |
| params[tel] | ✅ | string | Номер телефона для проверки. |
Пример запроса
website/init¶
Инициализирует сессию пользователя, проверяя валидность токена и IP-адреса.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: init |
| token | ✅ | string | Токен авторизации. |
| web_ip | ❌ | string | IP-адрес веб-клиента. |
Пример запроса
Пример успешного ответа
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 | Валюта клиента. |
Пример запроса
Пример успешного ответа
{
"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"
}
]
}
website/preorder_x_send_email¶
Отправляет уведомление клиенту о доступности сервера из предзаказа.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: preorder_x_send_email |
| id | ✅ | integer | ID предзаказа. |
| lang | ❌ | string | Язык уведомления. Может быть ru или не ru. |
Пример запроса
website/set_event¶
Сохраняет или обновляет данные гостя (контактную информацию) в системе.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: set_event |
| guest_hash_id | ✅ | string | Уникальный хеш гостя. |
| ✅ | 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. |
Пример запроса