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

whmcs.php

В этой статье

Модуль интеграции с WHMCS для управления услугами, биллингом и клиентами: отмена заказов, управление кредитами, смена тарифных планов и работа с контактами.

Методы API

Метод Действие Описание
add_addon добавление аддона Добавляет дополнительную услугу (addon) в WHMCS для существующего сервера.
add_cancel_request создание запроса на отмену Создает запрос на отмену услуги (cancellation request) для сервера.
add_client добавление клиента Создает нового клиента в WHMCS с привязкой к локации.
add_client_from_billing добавление клиента из биллинга Создает клиента в системе на основе данных существующего пользователя из WHMCS.
add_client_note добавление заметки клиенту Добавляет административную заметку к профилю клиента.
add_contact добавление контакта Добавляет дополнительного контактного лица к клиенту.
add_credit добавление кредита Начисляет кредит (баланс) на счет клиента в WHMCS.
add_invoice_payment добавление оплаты инвойса Применяет платеж к конкретному инвойсу.
add_order добавление заказа Создает новый заказ в WHMCS.
add_os_addon добавление OS аддона Добавляет лицензию операционной системы как addon к существующему серверу.
apply_credit применение кредита Применяет средства с баланса аккаунта к оплате конкретного инвойса.
apply_credit_to_invoice применение кредита к инвойсу Применяет доступный баланс клиента (кредит) для оплаты указанного инвойса.
cancel_order отмена заказа Отменяет заказ в WHMCS, если он находится в статусе Pending/Unpaid и не содержит активных лицензий.
change_billing_cycle смена цикла оплаты Изменяет цикл оплаты (например, с ежемесячного на годовой) для сервера.
change_preset смена пресета Инициирует процесс смены конфигурационного пресета сервера.
check_hosting_to_move проверка хостинга для переноса Проверяет возможность переноса хостинг-услуги.
client_change_billing_cycle смена цикла биллинга клиентом Позволяет клиенту самостоятельно сменить цикл оплаты (например, на более длинный).
clone клонирование клиента Клонирует данные клиента из одного биллинга в другой.
create_addfunds создание инвойса на пополнение баланса Создает инвойс для пополнения баланса (Add Funds) в WHMCS.
create_invoice создание инвойса Создает новый инвойс в WHMCS на основе переданных параметров.
create_product_invoice создание инвойса на продукт Создает инвойс для конкретного продукта (услуги) в WHMCS.
delete_cancellation_request удаление запроса на отмену Удаляет существующий запрос на отмену услуги.
delete_client_note удаление заметки клиента Удаляет конкретную заметку из профиля клиента.
delete_contact удаление контакта клиента Удаляет дополнительный контакт пользователя из WHMCS.
delete_credit_item удаление элемента кредита Удаляет запись о кредите (начислении) для клиента.
delete_email удаление email-шаблона Удаляет существующий шаблон электронного письма из WHMCS.
delete_from_invoice удаление позиций из инвойса Удаляет указанные позиции (items) из существующего инвойса.
download_invoice скачивание инвойса Возвращает PDF-файл инвойса в формате base64.
email_template_add добавление шаблона письма Создает новый шаблон электронного письма в WHMCS.
email_template_delete удаление шаблона письма Удаляет шаблон электронного письма из WHMCS.
email_template_get получение шаблона письма Возвращает данные существующего шаблона электронного письма.
email_template_update обновление шаблона письма Обновляет содержимое или настройки существующего шаблона письма.
email_templates_lang_add добавление языковой версии шаблона email Добавляет новую языковую версию для существующего шаблона email в WHMCS.
email_templates_lang_disable отключение языковой версии шаблона email Отключает указанную языковую версию шаблона email.
email_templates_lang_list получение списка языковых версий шаблонов email Возвращает список доступных языков для шаблонов email.
email_templates_list получение списка шаблонов email Возвращает список всех доступных шаблонов email в WHMCS.
email_templates_lists получение списков шаблонов email по типам Возвращает структурированный список шаблонов, сгруппированных по их типу (General, User, Invoice и т.д.).
email_templates_search поиск шаблонов email Поиск шаблонов email по типу или языку.
generate_due_invoice генерация предстоящего инвойса Принудительно генерирует следующий инвойс для сервера в WHMCS.
get_billing_data получение биллинговых данных сервера Возвращает подробную информацию о текущем биллинге, включая данные EU B2C и лицензии.
get_cancellation_requests получение списка запросов на отмену Возвращает список активных запросов на отмену для сервера или пользователя.
get_client получение информации о клиенте Возвращает подробную информацию об авторизованном клиенте, включая данные из WHMCS и внутренние теги.
get_client_note получение заметок клиента Возвращает список всех заметок, оставленных администратором для конкретного клиента.
get_clientgroups получение групп клиентов Возвращает список доступных групп клиентов из WHMCS для указанной локации.
get_clients получение списка клиентов Возвращает список клиентов с фильтрацией по статусу.
get_contacts получение контактов клиента Возвращает список дополнительных контактов для указанного клиента.
get_currencies получение валют Возвращает список доступных валют в WHMCS для указанной локации.
get_emails получение списка email-адресов клиента Возвращает список email-адресов, связанных с клиентом.
get_hosting_to_move получение данных для миграции хостинга Возвращает данные о хостинге, доступном для переноса (deprecated).
get_invoice получение инвойса Возвращает данные конкретного инвойса из WHMCS.
get_invoice_tags получение тегов инвойса Возвращает список всех тегов, связанных с конкретным инвойсом.
get_invoices получение списка инвойсов Возвращает список всех инвойсов клиента.
get_migration_progress получение прогресса миграции Возвращает статистику по статусам пользователей в процессе миграции.
get_not_delivered_emails получение недоставленных писем Возвращает список email-сообщений, которые не были доставлены.
get_order_to_move получение данных заказа для миграции Возвращает данные о заказе (order) для процесса переноса между биллингами.
get_owners получение владельцев оборудования Возвращает данные о владельцах для списка ID оборудования.
get_product_invoice получение инвойсов продукта Возвращает список всех инвойсов, связанных с конкретным продуктом (сервером).
get_products получение продуктов по группе Возвращает список доступных продуктов для указанной группы (gid).
get_promotions получение промокодов Возвращает список доступных промокодов или проверяет валидность конкретного кода.
get_refunds получение списка возвратов Возвращает список возвратов средств для указанного аккаунта или сервера.
get_refusal_report получение отчета об отказах Возвращает отчет по отказам (refusals) за указанный период.
get_related_invoices получение связанных инвойсов Возвращает список всех инвойсов, привязанных к аккаунту клиента.
get_server_config получение конфигурации сервера Возвращает конфигурационные данные сервера из WHMCS.
get_service получение данных сервиса Возвращает детальную информацию о конкретном сервисе (сервере).
get_services получение списка сервисов (устаревший) Метод помечен как устаревший. Работает через планировщик.
get_upgrade_preset_cost получение стоимости апгрейда Возвращает список цен на различные конфигурации (пресеты) для улучшения сервера.
getcredits получение баланса кредитов Возвращает информацию о доступных средствах (кредитах) на аккаунте клиента.
getpaymentgw получение платежных шлюзов Возвращает список доступных методов оплаты для конкретного инвойса.
mass_pay массовая оплата инвойсов Создает один общий инвойс для массовой оплаты нескольких выбранных инвойсов.
merge_invoices объединение инвойсов Объединяет несколько инвойсов в один.
notify_reinstall_issues уведомление о проблемах переустановки Отправляет уведомление клиенту, если при переустановке сервера возникли проблемы.
notify_resource_overuse уведомление о перерасходе ресурсов Отправляет уведомление клиенту о превышении лимитов потребления ресурсов сервера.
payment_to_month_first_day смена даты оплаты на первое число месяца Настраивает дату платежа сервера на первый день месяца.
preview_billing_cycle_change предварительный расчет смены цикла оплаты Выполняет предварительный расчет стоимости и параметров при изменении периода оплаты (например, с ежемесячной на годовую) без сохранения изменений в базе данных.
preview_client_billing_cycle_change превью изменения цикла оплаты для клиента Рассчитывает стоимость и детали при смене платежного цикла клиентом.
refund_check проверка статуса возврата Проверяет, находится ли запрос на возврат в процессе обработки (через статус тикета JIRA).
refund_check_payment_paygine проверка возврата Paygine Проверяет статус и возможность выполнения возврата через платежный шлюз Paygine.
refund_check_payment_yookassa проверка возврата Yookassa Проверяет статус и возможность выполнения возврата через платежный шлюз ЮKassa.
refund_payment выполнение возврата (WHMCS) Выполняет возврат средств через транзакцию в WHMCS.
refund_payment_paygine выполнение возврата Paygine Инициирует процесс возврата средств через шлюз Paygine.
refund_payment_yookassa выполнение возврата Yookassa Инициирует процесс возврата средств через шлюз ЮKassa.
remove_credit удаление кредита Удаляет кредит (баланс) с аккаунта клиента в WHMCS.
remove_credit_from_invoice удаление кредита из инвойса Удаляет сумму кредита, примененную к конкретному счету (инвойсу).
request_cancellation запрос на отмену услуги Инициирует процесс отмены сервера и проверяет условия (наличие задолженностей, статус лицензий).
request_refund запрос на возврат средств Инициирует процесс возврата неиспользованных денежных средств с баланса клиента. Проверяет наличие открытых тикетов в JIRA и лимиты кредитного баланса в WHMCS.
request_subscription_cancellation запрос отмены подписки Запрашивает отмену автоматического продления (подписки) банковской картой.
resend_email повторная отправка email Повторно отправляет письмо, связанное с объектом (например, уведомление о регистрации).
reset_login_failures сброс неудачных попыток входа Сбрасывает счетчик неудачных попыток входа для всех пользователей.
reset_password сброс пароля Инициирует процесс сброса пароля клиента. Если токен уже использован, позволяет установить новый пароль.
search_client поиск клиента Поиск клиентов по имени или email во всех доступных локациях WHMCS.
search_invoice поиск инвойса Поиск инвойсов по ID во всех локациях WHMCS.
send_email отправка email Отправка кастомного письма клиенту.
send_notifications_to_list отправка уведомлений списку клиентов Отправляет кастомные email-уведомления выбранному списку клиентов через WHMCS или SMTP.
split_invoice разделение инвойса Разделяет существующий инвойс на несколько частей по указанным ID позиций.
toggle_billing_lock переключение блокировки биллинга Устанавливает или снимает тег блокировки изменения цикла оплаты для сервера.
transactions получение транзакций Возвращает список финансовых транзакций клиента.
trustpilot_mail отправка письма Trustpilot Отправляет специальное письмо для запроса отзыва на Trustpilot.
unified_search универсальный поиск Поиск по всем сущностям: сервера, клиенты, инвойсы, VAT.
unpaidinvoices запуск процесса обработки неоплаченных инвойсов Запускает процесс обхода неоплаченных инвойсов в WHMCS для отправки напоминаний клиентам.
update_client обновление клиента Обновление данных профиля клиента в WHMCS и локальной базе.
update_client_note обновление заметки клиента Обновляет существующую заметку в профиле клиента.
update_contact обновление контакта Обновление данных дополнительного контакта клиента.
update_credit_item обновление кредитной позиции Обновляет данные конкретной записи о кредите (сумма, описание) для клиента.
update_invoice обновление инвойса Обновляет данные существующего инвойса в WHMCS, включая возможность удаления строк (items).
update_product обновление продукта/сервера Обновление параметров сервера (статус, дата продления, домен и т.д.).
update_traffic обновление трафика Обновляет параметры биллинга трафика для сервера (лимиты, периоды и стоимость).
updatevat обновление данных VAT (НДС) Запускает процесс обновления налоговых данных в WHMCS.
vat_report отчет по НДС Возвращает отчет по налогам (VAT) за указанный период.
verify_address верификация адреса Проверяет адрес клиента через Google Maps API для подтверждения его корректности.
verify_email верификация email Проверяет корректность email-адреса и отправляет код верификации или подтверждает изменение почты.

whmcs/add_addon

Добавляет дополнительную услугу (addon) в WHMCS для существующего сервера.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: add_addon
params[order_data] ✅ object Данные заказа для создания аддона.
params ✅ string Контейнер с параметрами запроса
token ✅ string API-токен аутентификации
location ❌ string Местоположение или дата-центр для размещения дополнительного сервиса.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=add_addon" \
--data "params[order_data]=VALUE" \
--data "params=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "add_addon",
"message": "OS addon created"
}
Примеры ошибок
{
"code": -1,
"message": "faild to add addon: error_details"
}

whmcs/add_cancel_request

Создает запрос на отмену услуги (cancellation request) для сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_cancel_request
params[cancel_type] ❌ string Тип отмены. По умолчанию 'End of Billing Period'.
params[reason] ✅ string Причина отмены услуги.
cancel_type ❌ string Тип отмены. По умолчанию 'End of Billing Period'.
reason ✅ string Причина отмены услуги.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=add_cancel_request" \
--data "params[reason]=Reason text" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "whmcs",
"action": "add_cancel_request",
"message": "invoices"
}
Примеры ошибок
{
"code": -1,
"message": "You need to write the reason"
}

whmcs/add_client

Создает нового клиента в WHMCS с привязкой к локации.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_client
params[firstname] ✅ string Имя клиента.
params[lastname] ✅ string Фамилия клиента.
params[companyname] ❌ string Название компании.
params[address1] ❌ string Адрес (строка 1).
params[address2] ❌ string Адрес (строка 2).
params[city] ❌ string Город.
params[state] ❌ string Штат или область.
params[postcode] ❌ string Почтовый индекс.
params[country] ❌ string Страна клиента.
params[phonenumber] ❌ string Номер телефона.
params[tax_id] ❌ string Идентификатор налогоплательщика (VAT/ИНН).
params[password2] ❌ string Пароль клиента.
params[securityqid] ❌ string Security QID.
params[securityqans] ❌ string Security QANS.
params[currency] ❌ string Валюта клиента (ID или суффикс).
params[groupid] ❌ string Идентификатор группы клиентов.
params[language] ❌ string Язык клиента.
params[clientip] ❌ string IP-адрес клиента.
params[notes] ❌ string Заметки о клиенте.
params[marketingoptin] ❌ string Согласие на маркетинговые рассылки.
params[customfields] ❌ string Сериализованные дополнительные поля (base64).
email ✅ string Email клиента.
corporate ❌ string Тип клиента (корпоративный).
VisitorID ❌ string Идентификатор посетителя.
token ✅ string API-токен аутентификации
params[email] ✅ string Email клиента.
country ✅ string Параметр country
currency ✅ ✅ Параметр currency
groupid ✅ string Параметр groupid
customfields ✅ string Параметр customfields
id ✅ integer Параметр id
phonenumber ✅ string Параметр phonenumber
location ✅ string Идентификатор локации биллинга для привязки клиента.
co_inn ❌ string ИНН организации (очищается от пробелов, точек и дефисов).

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=add_client" \
--data "params[firstname]=Ivan" \
--data "params[lastname]=Ivanov" \
--data "email=test@example.com" \
--data "token=YOUR_TOKEN" \
--data "params[email]=test@example.com" \
--data "country=RU" \
--data "currency=RUB" \
--data "groupid=1" \
--data "customfields=YmFzZTY0X2RhdGE=" \
--data "id=123" \
--data "phonenumber=+79991234567" \
--data "location=loc_1"
Пример успешного ответа
{
"result": "success",
"clientid": 12345
}
Примеры ошибок
{
"code": -1,
"message": "invalid email"
}

whmcs/add_client_from_billing

Создает клиента в системе на основе данных существующего пользователя из WHMCS.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_client_from_billing
params[email] ✅ string Email клиента для поиска в биллинге.
location ✅ string Локация (billing) для поиска клиента. Допустимые значения: hand, none
verified ❌ integer Статус верификации email (интернализированное значение из биллинга).
token ✅ string API-токен аутентификации
email ❌ string Электронная почта клиента для поиска в системе биллинга.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=add_client_from_billing" \
--data "params[email]=user@example.com" \
--data "location=hand" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "whmcs",
"action": "add_client_from_billing",
"id": 123,
"customer": {
"account_id": 50,
"email": "user@example.com"
}
}
Примеры ошибок
{
"code": 400,
"message": "Unable to find customer email @ location, please contact support"
}

whmcs/add_client_note

Добавляет административную заметку к профилю клиента.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: add_client_note
customer ✅ integer ID клиента.
notes ✅ string Текст заметки.
sticky ❌ boolean Сделать заметку закрепленной.
token ✅ string API-токен аутентификации
params[customer] ✅ integer ID клиента.
params[notes] ✅ string Текст заметки.
params[sticky] ❌ boolean Сделать заметку закрепленной.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=add_client_note" \
--data "customer=123" \
--data "notes=Test note" \
--data "sticky=true" \
--data "token=YOUR_TOKEN" \
--data "params[customer]=123" \
--data "params[notes]=Test note" \
--data "params[sticky]=true"
Пример успешного ответа
{
"result": "OK",
"message": "Note added successfully"
}
Примеры ошибок
{
"code": -1,
"message": "Empty note"
}

whmcs/add_contact

Добавляет дополнительного контактного лица к клиенту.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_contact
token ✅ string Токен авторизации
profile_data[firstname] ✅ string Имя контакта. Должно соответствовать регулярному выражению /^[\p{L}\p{N}-.()',\s]+$/u
profile_data[lastname] ❌ string Фамилия контакта. Должна соответствовать регулярному выражению /^[\p{L}\p{N}-.()',\s]+$/u
profile_data[email] ✅ string Email контакта. Должен быть валидным email-адресом.
profile_data[password1] ✅ string Пароль контакта (первый)
profile_data[password2] ✅ string Подтверждение пароля контакта
profile_data[phonenumber] ❌ string Номер телефона контакта. Должен быть в международном формате и поддерживаться SMS-сервисом.
type ✅ string Параметр type для проверки наличия запроса
profile_data ✅ array<string> Данные профиля нового контакта, включая имя, фамилию, email и пароль.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=add_contact" \
--data "token=YOUR_TOKEN" \
--data "profile_data[firstname]=John" \
--data "profile_data[lastname]=Doe" \
--data "profile_data[email]=john@example.com" \
--data "profile_data[password1]=secret123" \
--data "profile_data[password2]=secret123" \
--data "type=some_type"
Пример успешного ответа
{
"result": "success",
"contactid": 123,
"firstname": "John",
"lastname": "Doe",
"email": "john@example.com"
}
Примеры ошибок
{
"code": -1,
"message": "fill_required_fields"
}

whmcs/add_credit

Начисляет кредит (баланс) на счет клиента в WHMCS.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_credit
params[userid] ✅ integer ID пользователя.
params[amount] ✅ number Сумма кредита.
params[date] ❌ string Дата начисления. По умолчанию текущая дата в формате Y-m-d.
params[description] ❌ string Описание транзакции.
date ❌ string Дата начисления. По умолчанию текущая дата в формате Y-m-d.
description ❌ string Описание транзакции.
amount ❌ number Сумма кредита.
userid ❌ integer ID пользователя.
token ✅ string API-токен аутентификации
location ❌ string Местоположение или локация для зачисления кредита.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=add_credit" \
--data "params[userid]=123" \
--data "params[amount]=50.0" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "success",
"clientid": 123,
"amount": 50.0
}
Примеры ошибок
{
"code": -1,
"message": "WHMCS Add Credit failed: Invalid billing location ..."
}

whmcs/add_invoice_payment

Применяет платеж к конкретному инвойсу.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_invoice_payment
params[invoice_id] ✅ integer ID инвойса.
params[amount] ✅ number Сумма платежа.
token ✅ string API-токен аутентификации
location ❌ string Местоположение или локация для привязки платежа.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=add_invoice_payment" \
--data "params[invoice_id]=123" \
--data "params[amount]=50.00" \
--data "token=YOUR_API_TOKEN" \
--data "location=office_1"
Пример успешного ответа
{
"result": "OK",
"message": "Payment applied"
}
Примеры ошибок
{
"code": -1,
"message": "Invalid invoice id"
}

whmcs/add_order

Создает новый заказ в WHMCS.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_order
params[order_data] ✅ object Объект с данными заказа.
token ✅ string API-токен аутентификации
location ❌ string Местоположение или дата-центр для размещения заказа.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=add_order" \
--data "params[order_data][product_id]=1" \
--data "token=YOUR_TOKEN" \
--data "location=Amsterdam"
Пример успешного ответа
{
"result": "OK",
"configoptions": {},
"customfields": {},
"paymentmethod": "",
"error": null,
"clientid": 0,
"companyname": "",
"email": "",
"firstname": "",
"lastname": "",
"phonenumber": "",
"sec": ""
}
Примеры ошибок
{
"code": -1,
"message": "WHMCS curl error"
}

whmcs/add_os_addon

Добавляет лицензию операционной системы как addon к существующему серверу.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: add_os_addon
token ✅ string Токен авторизации
id ✅ integer ID сервера
os_id ✅ integer ID операционной системы из списка доступных
billing_cycle ✅ string Период оплаты. Допустимые значения: annually, monthly, quarterly, semi-annually, semiannually

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=add_os_addon" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "os_id=VALUE" \
--data "billing_cycle=VALUE"
Пример успешного ответа
{
"result": "OK",
"id": 123,
"message": "OS addon created"
}
Примеры ошибок
{
"code": -1,
"message": "invalid OS"
}

whmcs/apply_credit

Применяет средства с баланса аккаунта к оплате конкретного инвойса.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: apply_credit
token ✅ string Токен авторизации
invoice_id ✅ integer ID инвойса для оплаты
amount ✅ number Сумма кредита

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=apply_credit" \
--data "token=HOSTKEY_TOKEN" \
--data "invoice_id=VALUE" \
--data "amount=VALUE"
Пример успешного ответа
{
"result": "success",
"status": "Paid"
}
Примеры ошибок
{
"code": -1,
"message": "$module/$action: invalid invoice id"
}

whmcs/apply_credit_to_invoice

Применяет доступный баланс клиента (кредит) для оплаты указанного инвойса.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: apply_credit_to_invoice
token ✅ string Токен авторизации
id ✅ integer ID инвойса для применения кредита
amount ✅ number Сумма кредита для применения
location ❌ string Локация (billing location)
invoice_id ❌ integer Уникальный идентификатор счета для применения кредитных средств.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=apply_credit_to_invoice" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "amount=50.5"
Пример успешного ответа
{
"result": "OK",
"action": "apply_credit_to_invoice",
"userid": 12345
}
Примеры ошибок
{
"code": -1,
"message": "WHMCS ApplyCredit failed: {\"result\":\"-1\",\"error\":\"...\"}"
}

whmcs/cancel_order

Отменяет заказ в WHMCS, если он находится в статусе Pending/Unpaid и не содержит активных лицензий.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: cancel_order
token ✅ string Токен авторизации
id ✅ integer ID заказа для отмены (unsigned integer)

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=cancel_order" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345"
Пример успешного ответа
{
"result": "OK",
"message": {
"balance_refunded": 0.0
}
}
Примеры ошибок
{
"code": -1,
"message": "Invalid order id"
}

whmcs/change_billing_cycle

Изменяет цикл оплаты (например, с ежемесячного на годовой) для сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: change_billing_cycle
token ✅ string Токен авторизации
id ✅ integer ID сервера (equipment ID)
new_billing_cycle ✅ string Новый цикл оплаты. Допустимые значения: Monthly, Quarterly, Semi-Annually, Annually, Biennially, Triennially.
generate_invoice ❌ boolean Сгенерировать инвойс сразу после смены цикла
recurring_amount ❌ number Переопределенная сумма регулярного платежа
lock_billing_cycle ❌ boolean Заблокировать возможность смены цикла

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=change_billing_cycle" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "new_billing_cycle=Annually"
Пример успешного ответа
{
"account_id": 10,
"active_addons": [],
"billing_cycle": "Monthly",
"billing_cycle_changed": "Current - New",
"components_breakdown": {},
"components_breakdown_original": {},
"currency_code": "USD"
}
Примеры ошибок
{
"code": -1,
"message": "Billing cycle change is locked for this service. Please contact support."
}

whmcs/change_preset

Инициирует процесс смены конфигурационного пресета сервера.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=change_preset" \
--data "token=VALUE" \
--data "id=VALUE" \
--data "preset_id=VALUE"
Пример успешного ответа
{
"invoice_id": 0,
"error": null
}
Примеры ошибок
{
"code": -1,
"message": "Невозможно улучшить сервер не из пресета"
}

whmcs/check_hosting_to_move

Проверяет возможность переноса хостинг-услуги.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: check_hosting_to_move
token ✅ string Токен авторизации
id ❌ integer ID сервера/услуги
email ❌ string Email клиента (используется в prebill-режиме)
hosting ❌ array Данные хостинга (может быть JSON строкой)
location ❌ string Идентификатор или название локации для проверки возможности переноса хостинга.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=check_hosting_to_move" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "location=ams-01"
Пример успешного ответа
{
"sec": "abc123token",
"url": "https://billing.hostkey.com/..."
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

whmcs/client_change_billing_cycle

Позволяет клиенту самостоятельно сменить цикл оплаты (например, на более длинный).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: client_change_billing_cycle
token ✅ string Токен авторизации
id ✅ integer ID сервера
new_billing_cycle ✅ string Новый цикл оплаты. Допустимые значения: annually, monthly, quarterly, semi-annually, semiannually.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=client_change_billing_cycle" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345" \
--data "new_billing_cycle=annually"
Пример успешного ответа
{
"result": "OK",
"message": "Billing cycle changed successfully",
"old_cycle": "monthly",
"old_price": 49.99,
"new_cycle": "annually",
"new_price": 150.0,
"currency_code": "USD",
"formula_details": "...",
"next_due_date": "2023-12-31",
"invoice_generated": true,
"invoice_id": 12345
}
Примеры ошибок
{
"code": -1,
"message": "This action is only available for customers"
}

whmcs/clone

Клонирует данные клиента из одного биллинга в другой.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: clone
token ✅ string Токен авторизации
id ✅ integer ID исходного клиента
target ✅ string Целевой биллинг (например, whmcs_ru)

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=clone" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "target=VALUE"
Пример успешного ответа
{
"result": "OK",
"id": 567,
"message": "Customer clonned to target",
"update": {},
"subcontacts": {}
}
Примеры ошибок
{
"code": -1,
"message": "Invalid target billing"
}

whmcs/create_addfunds

Создает инвойс для пополнения баланса (Add Funds) в WHMCS.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: create_addfunds
token ✅ string Токен авторизации
amount ✅ number Сумма пополнения.
description ❌ string Описание платежа.
subscribe ❌ boolean Включить автоматическое списание (автопродление).

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=create_addfunds" \
--data "token=YOUR_TOKEN" \
--data "amount=50.0"
Пример успешного ответа
{
"result": "OK",
"invoice": {
"id": 123,
"amount": 50.0,
"status": "Unpaid"
},
"message": "Invoice 123 created"
}
Примеры ошибок
{
"code": -1,
"message": "$module/$action: minimal payment amount is X."
}

whmcs/create_invoice

Создает новый инвойс в WHMCS на основе переданных параметров.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: create_invoice
token ✅ string Токен авторизации
params ❌ object Контейнер с параметрами для WHMCS API (product_id, amount и т.д.)
location ❌ string Местоположение или дата-центр для размещения услуги.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=create_invoice" \
--data "token=HOSTKEY_TOKEN" \
--data "params[product_id]=123" \
--data "params[amount]=50.00" \
--data "location=Amsterdam"
Пример успешного ответа
{
"result": "OK",
"action": "create_invoice",
"invoiceid": 12345
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

whmcs/create_product_invoice

Создает инвойс для конкретного продукта (услуги) в WHMCS.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: create_product_invoice
token ✅ string Токен авторизации
amount ✅ number Сумма инвойса.
product_id ✅ integer ID продукта в WHMCS.
description ❌ string Описание инвойса.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=create_product_invoice" \
--data "token=HOSTKEY_TOKEN" \
--data "amount=100.50" \
--data "product_id=123" \
--data "description=Payment for service"
Пример успешного ответа
{
"result": "OK",
"invoice": 456,
"message": "Invoice 456 created"
}
Примеры ошибок
{
"code": -1,
"message": "create_product_invoice: failed to create product invoice: error_msg"
}

whmcs/delete_cancellation_request

Удаляет существующий запрос на отмену услуги.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: delete_cancellation_request
token ✅ string Токен авторизации API.
id ✅ integer ID сервера/услуги.
full ❌ boolean Флаг для возврата упрощенного статуса результата операции в формате OK или Fail.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=delete_cancellation_request" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123"
Пример успешного ответа
{
"result": "success",
"productid": 123
}
Примеры ошибок
{
"code": -1,
"message": "$module/$action: server 1 doesn't have a relid data"
}

whmcs/delete_client_note

Удаляет конкретную заметку из профиля клиента.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=delete_client_note" \
--data "token=HOSTKEY_TOKEN" \
--data "customer=VALUE" \
--data "noteid=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "delete_client_note"
}
Примеры ошибок
{
"code": -1,
"message": "Note not found or access denied"
}

whmcs/delete_contact

Удаляет дополнительный контакт пользователя из WHMCS.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=delete_contact" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "contact_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "delete_contact",
"clientid": 10,
"status": "success"
}
Примеры ошибок
{
"code": -1,
"message": "verification failed, subcontact not found"
}

whmcs/delete_credit_item

Удаляет запись о кредите (начислении) для клиента.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: delete_credit_item
token ✅ string Токен авторизации
userid ❌ integer ID пользователя
id ❌ integer ID элемента кредита
location ❌ string Местоположение или локация кредитной единицы.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=delete_credit_item" \
--data "token=HOSTKEY_TOKEN" \
--data "userid=123" \
--data "id=456" \
--data "location=US-East"
Пример успешного ответа
{
"result": "success",
"error": null
}
Примеры ошибок
{
"code": -1,
"message": "WHMCS Add Credit failed: Invalid billing location ..."
}

whmcs/delete_email

Удаляет существующий шаблон электронного письма из WHMCS.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: delete_email
id ✅ integer ID шаблона для удаления.
location ❌ string Локация (billing location) в WHMCS.
customer ❌ integer ID клиента для получения данных о биллинге.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=delete_email" \
--data "id=123" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "delete_email",
"sec": "string",
"url": "string"
}
Примеры ошибок
{
"code": 400,
"message": "Ошибка получения данных клиента или неверный ID"
}

whmcs/delete_from_invoice

Удаляет указанные позиции (items) из существующего инвойса.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: delete_from_invoice
ids ❌ array Массив идентификаторов позиций для удаления.
invoice_id ❌ integer ID инвойса.
location ❌ string Локация (billing location) в WHMCS.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=delete_from_invoice" \
--data "ids[]=123" \
--data "ids[]=456" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"sec": "string",
"url": "string"
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

whmcs/download_invoice

Возвращает PDF-файл инвойса в формате base64.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: download_invoice
invoice_id ✅ integer ID инвойса.
proforma_invoice ❌ boolean Флаг использования проформы.
token ✅ string API-токен аутентификации
viewpdf ❌ integer Режим отображения счета: открытие в браузере или скачивание файла.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=download_invoice" \
--data "invoice_id=123" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "success",
"error": null,
"user_id": 12345
}
Примеры ошибок
{
"code": -1,
"message": "Invalid billing location"
}

whmcs/email_template_add

Создает новый шаблон электронного письма в WHMCS.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: email_template_add
location ✅ string Локация (billing location) в WHMCS.
params ✅ array<string> Массив параметров для создания шаблона письма.
token ✅ string API-token аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=email_template_add" \
--data "location=VALUE" \
--data "params[]=VALUE1" \
--data "params[]=VALUE2" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "email_template_add",
"in": {},
"out": {}
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

whmcs/email_template_delete

Удаляет шаблон электронного письма из WHMCS.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: email_template_delete
id ✅ integer ID шаблона.
location ✅ string Локация (billing location) в WHMCS.
token ✅ string API-token аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=email_template_delete" \
--data "id=VALUE" \
--data "location=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"sec": "string",
"url": "string"
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

whmcs/email_template_get

Возвращает данные существующего шаблона электронного письма.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: email_template_get
id ✅ integer ID шаблона.
location ✅ string Локация (billing location) в WHMCS.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=email_template_get" \
--data "id=VALUE" \
--data "location=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "email_template_get",
"data": {
"sec": "string",
"url": "string"
}
}
Примеры ошибок
{
"code": -1,
"message": "Permission denied"
}

whmcs/email_template_update

Обновляет содержимое или настройки существующего шаблона письма.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: email_template_update
location ✅ string Локация (billing location) в WHMCS.
params ✅ array<string> Массив параметров для обновления шаблона письма.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=email_template_update" \
--data "location=VALUE" \
--data "params[]=VALUE1" \
--data "params[]=VALUE2" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "email_template_update",
"out": {}
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка обновления шаблона"
}

whmcs/email_templates_lang_add

Добавляет новую языковую версию для существующего шаблона email в WHMCS.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: email_templates_lang_add
language ❌ string Код языка шаблона.
token ✅ string API-токен аутентификации
location ❌ string Местоположение или локация для настройки языковой версии шаблона письма.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=email_templates_lang_add" \
--data "token=HOSTKEY_TOKEN" \
--data "language=en" \
--data "location=us-east"
Пример успешного ответа
{
"result": "OK",
"module": "whmcs",
"action": "email_templates_lang_add"
}
Примеры ошибок
{
"code": -1,
"message": "Permission denied"
}

whmcs/email_templates_lang_disable

Отключает указанную языковую версию шаблона email.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: email_templates_lang_disable
language ❌ string Код языка шаблона.
token ✅ string API-токен аутентификации
location ❌ string Местоположение или локация для отключения языковых шаблонов писем.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=email_templates_lang_disable" \
--data "language=en" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "whmcs.php",
"action": "email_templates_lang_disable"
}
Примеры ошибок
{
"code": -1,
"message": "Permission denied"
}

whmcs/email_templates_lang_list

Возвращает список доступных языков для шаблонов email.

HTTP-метод: GET

Параметры:

action ✅ string Идентификатор метода: email_templates_lang_list
token ✅ string API-токен аутентификации
location ❌ string Местоположение или локация для получения списка языковых шаблонов писем.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X GET \
--data "action=email_templates_lang_list" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "whmcs",
"action": "email_templates_lang_list"
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

whmcs/email_templates_list

Возвращает список всех доступных шаблонов email в WHMCS.

HTTP-метод: GET

Параметры:

action ✅ string Идентификатор метода: email_templates_list
token ✅ string API-token аутентификации
location ❌ string Идентификатор или название локации для получения списка шаблонов писем.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X GET \
--data "action=email_templates_list" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"defaultData": {
"fromName": "string",
"fromEmail": "string"
},
"languages": {},
"types": {},
"list": {
"type_name": {
"title": "string Messages",
"list": []
}
}
}
Примеры ошибок
{
"code": 400,
"message": "Ошибка при получении списка шаблонов: сообщение об ошибке из WHMCS"
}

whmcs/email_templates_lists

Возвращает структурированный список шаблонов, сгруппированных по их типу (General, User, Invoice и т.д.).

HTTP-метод: GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X GET \
--data "action=email_templates_lists" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "EmailTemplates",
"sub": "lists",
"responsetype": "json",
"whmcs": {}
}
Примеры ошибок
{
"code": 400,
"message": "$module/$action: Unknown error"
}

Поиск шаблонов email по типу или языку.

HTTP-метод: GET

Параметры:

action ✅ string Идентификатор метода: email_templates_search
params[type] ❌ string Тип шаблона.
params[language] ❌ string Язык шаблона.
type ❌ string Тип шаблона (передается через $_REQUEST).
language ❌ string Язык шаблона (передается через $_REQUEST).
token ✅ string API-токен аутентификации
location ❌ string Географическое расположение или локация для поиска шаблонов электронных писем.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X GET \
--data "action=email_templates_search" \
--data "token=HOSTKEY_TOKEN" \
--data "params[type]=welcome" \
--data "params[language]=en"
Пример успешного ответа
{
"result": "OK",
"action": "email_templates_search",
"data": {}
}
Примеры ошибок
{
"code": 400,
"message": "$module/$action: Unknown error"
}

whmcs/generate_due_invoice

Принудительно генерирует следующий инвойс для сервера в WHMCS.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: generate_due_invoice
token ✅ string Токен авторизации
id ✅ integer ID сервера.
addonids ❌ array<integer> Список идентификаторов активных аддонов для генерации инвойса.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=generate_due_invoice" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "addonids[]=1" \
--data "addonids[]=2"
Пример успешного ответа
{
"result": "OK",
"invoices": [
{
"id": 789,
"amount": 25.0,
"status": "Unpaid"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "next_invoice_unpaid_exists"
}

whmcs/get_billing_data

Возвращает подробную информацию о текущем биллинге, включая данные EU B2C и лицензии.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_billing_data
token ✅ string Токен авторизации
id ✅ integer ID сервера.
notes ❌ string Параметр notes
groupdata ❌ array Параметр groupdata
customer_name ❌ string Имя клиента (может быть скрыто)
eu_b2c ❌ integer Флаг принадлежности к EU B2C (1 или 0)
eu_withdrawal ❌ integer Флаг применения правил вывода средств ЕС (1 или 0)
billing_cycle ❌ string Биллинговый цикл. Допустимые значения: annually, monthly, quarterly, semi-annually, semiannually
eu_withdrawal_licenses ❌ array Список лицензий для вывода средств ЕС

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X GET \
--data "action=get_billing_data" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"action": "get_billing_data",
"customer_name": "John Doe",
"eu_b2c": 0,
"eu_withdrawal": 0,
"eu_withdrawal_licenses": [
{
"name": "License Name",
"amount": 10.5,
"currency": "EUR"
}
],
"days_left": 30,
"customer_email": "client@example.com",
"lock_billing_cycle_change": false
}
Примеры ошибок
{
"code": -1,
"message": "invalid request"
}

whmcs/get_cancellation_requests

Возвращает список активных запросов на отмену для сервера или пользователя.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_cancellation_requests
token ✅ string Токен авторизации
id ❌ integer ID сервера (если указан, возвращаются запросы для этого сервера).
period_from ❌ string Дата начала периода.
period_to ❌ string Дата окончания периода.
cancellation_type ❌ string Тип отмены (например, End of Billing Period).
billing_status ❌ string Статус биллинга.
full ❌ boolean Флаг для получения расширенного ответа с полным статусом результата.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X GET \
--data "action=get_cancellation_requests" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "success",
"action": "get_cancellation_requests",
"message": [
{
"relid": 123,
"cr_date": "2024-01-01 12:00:00",
"cr_reason": "User request",
"cr_type": "End of Billing Period",
"due_date": "2024-02-01"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Server not found"
}

whmcs/get_client

Возвращает подробную информацию об авторизованном клиенте, включая данные из WHMCS и внутренние теги.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_client
token ✅ string Токен авторизации
email ❌ string Email клиента для поиска (используется как account_id, если client_id не задан)
client ✅ string Параметр client
billing_location ✅ string Параметр billing_location
groupdata ✅ string Параметр groupdata
internal ✅ string Параметр internal
full ❌ boolean Флаг для получения расширенной информации о клиенте.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X GET \
--data "action=get_client" \
--data "token=VALUE" \
--data "client=VALUE" \
--data "billing_location=VALUE" \
--data "groupdata=VALUE" \
--data "internal=VALUE"
Пример успешного ответа
{
"result": "OK",
"client": {
"id": 123,
"firstname": "Ivan",
"lastname": "Ivanov",
"email": "user@example.com",
"currency_code": "USD",
"status": "Active",
"groupid": 1,
"corporate": 0,
"userid": 456,
"ip": "127.0.0.1",
"location": "test_loc"
},
"billing_location": "whmcs_itb",
"groupdata": {
"id": 1,
"name": "Group Name"
},
"internal": {
"firstname": "Ivan",
"lastname": "Ivanov",
"email": "user@example.com",
"corporate": 0,
"active_since": "2024-01-01"
},
"refund_policy": "Policy text"
}
Примеры ошибок
{
"code": 502,
"message": "Request failed for account_id@location: error message"
}

whmcs/get_client_note

Возвращает список всех заметок, оставленных администратором для конкретного клиента.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_client_note
customer ❌ integer ID клиента.
token ✅ string API-токен аутентификации
note ❌ string Текст заметки администратора для клиента.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_client_note" \
--data "customer=123" \
--data "token=YOUR_API_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_client_note",
"notes": [
{
"id": 1,
"note": "Example note content",
"admin": {
"username": "admin_user"
}
}
]
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

whmcs/get_clientgroups

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

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_clientgroups
token ✅ string Токен авторизации
location ❌ string Локация биллинга для получения групп клиентов WHMCS

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_clientgroups" \
--data "token=HOSTKEY_TOKEN" \
--data "location=US"
Пример успешного ответа
{
"result": "OK",
"action": "get_clientgroups",
"data": {
"groups": [
{
"id": 1,
"name": "Standard Clients"
},
{
"id": 2,
"name": "VIP Clients"
}
]
}
}
Примеры ошибок
{
"code": -1,
"message": "Invalid token or permission denied"
}

whmcs/get_clients

Возвращает список клиентов с фильтрацией по статусу.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_clients
token ✅ string Токен авторизации
status ❌ string Статус клиента. Допустимые значения: Active (по умолчанию), enable
location ❌ string Географическое местоположение или дата-центр для фильтрации клиентов.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X GET \
--data "action=get_clients" \
--data "token=YOUR_TOKEN" \
--data "status=Active" \
--data "location=Amsterdam"
Пример успешного ответа
{
"result": "OK",
"list": []
}
Примеры ошибок
{
"code": -1,
"message": "Error getting clients"
}

whmcs/get_contacts

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

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_contacts
token ✅ string Токен авторизации
email ❌ string Email дополнительного контакта для фильтрации списка контактов клиента.
full ❌ boolean Флаг для получения полного набора данных о контактах.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X GET \
--data "action=get_contacts" \
--data "token=YOUR_TOKEN" \
--data "email=test@example.com" \
--data "full=true"
Пример успешного ответа
{
"permission_contacts_granted": true,
"result": "OK",
"contacts": [
{
"id": 5,
"email": "contact@example.com",
"firstname": "John",
"lastname": "Doe"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "fail to get contacts list"
}

whmcs/get_currencies

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_currencies" \
--data "token=HOSTKEY_TOKEN" \
--data "location=US"
Пример успешного ответа
{
"result": "OK",
"action": "get_currencies",
"data": [
{
"id": 1,
"code": "USD",
"name": "US Dollar"
},
{
"id": 2,
"code": "EUR",
"name": "Euro"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "whmcs_get_currencies: Invalid billing location $location"
}

whmcs/get_emails

Возвращает список email-адресов, связанных с клиентом.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_emails
token ✅ string Токен авторизации
params ❌ array<string> Контейнер с параметрами запроса

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X GET \
--data "action=get_emails" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_emails",
"data": {
"email": "user@example.com"
}
}
Примеры ошибок
{
"code": 400,
"message": "Illegal customer id"
}

whmcs/get_hosting_to_move

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_hosting_to_move
token ✅ string Токен авторизации
location ❌ string Местоположение или локация для переноса хостинга.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_hosting_to_move" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_hosting_to_move",
"data": {
"sec": "token_string",
"url": "https://billing.hostkey.com/..."
}
}
Примеры ошибок
{
"code": -1,
"message": "Server not found or migration unavailable"
}

whmcs/get_invoice

Возвращает данные конкретного инвойса из WHMCS.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_invoice
token ✅ string Токен авторизации
invoice_id ✅ integer Уникальный идентификатор инвойса в WHMCS
userid ✅ string Параметр userid
customer ✅ string Параметр customer
currencycode ✅ string Параметр currencycode
firstname ✅ string Параметр firstname
lastname ✅ string Параметр lastname
location ❌ string Местоположение или серверная площадка для получения данных счета.
load_client_data ❌ integer Флаг загрузки дополнительных данных клиента вместе с информацией о счете.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X GET \
--data "action=get_invoice" \
--data "token=VALUE" \
--data "invoice_id=VALUE" \
--data "userid=VALUE" \
--data "customer=VALUE" \
--data "currencycode=VALUE" \
--data "firstname=VALUE" \
--data "lastname=VALUE"
Пример успешного ответа
{
"result": "OK",
"status": "Paid",
"items": {
"item": [
{
"relid": 123,
"inv_id": -1
}
]
},
"currencycode": "USD",
"billing": "location_name",
"customer": null,
"userid": 123,
"firstname": "John",
"lastname": "Doe"
}
Примеры ошибок
{
"code": -1,
"message": "get_invoice: invalid invoice id [id] at [location]"
}

whmcs/get_invoice_tags

Возвращает список всех тегов, связанных с конкретным инвойсом.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_invoice_tags
token ✅ string Токен авторизации
id ✅ integer ID инвойса
invoice_id ✅ integer Уникальный идентификатор счета для получения связанных с ним тегов.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_invoice_tags" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "invoice_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"tags": [
{
"tag": "string",
"value": "string",
"extra": "string"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Invalid invoice id"
}

whmcs/get_invoices

Возвращает список всех инвойсов клиента.

HTTP-метод: GET

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_invoices
token ✅ string Токен авторизации
totalresults ❌ integer Общее количество найденных инвойсов
numreturned ❌ integer Количество возвращенных инвойсов в текущем ответе
invoices ❌ array Список данных об инвойсах

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X GET \
--data "action=get_invoices" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"totalresults": 5,
"numreturned": 5,
"invoices": {
"invoice": [
{
"id": 101,
"status": "Paid",
"total": 29.99
}
]
}
}
Примеры ошибок
{
"code": -1,
"message": "incorrect billing response, try again."
}

whmcs/get_migration_progress

Возвращает статистику по статусам пользователей в процессе миграции.

HTTP-метод: GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X GET \
--data "action=get_migration_progress" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_migration_progress",
"data": {
"status_name": {
"user_count": 150,
"total_amount": 4500.5
}
}
}
Примеры ошибок
{
"code": -1,
"message": "Not found"
}

whmcs/get_not_delivered_emails

Возвращает список email-сообщений, которые не были доставлены.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_not_delivered_emails
token ✅ string Токен авторизации
location ❌ string Идентификатор или название локации для фильтрации недоставленных писем.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_not_delivered_emails" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"code": "SUCCESS",
"message": [
{
"id": 501,
"recipient": "user@example.com",
"subject": "Test Email",
"error": "SMTP Error: Connection timed out"
}
]
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

whmcs/get_order_to_move

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

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_order_to_move
id ✅ integer ID заказа.
token ✅ string API-токен аутентификации
location ❌ string Идентификатор или название локации для переноса заказа.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_order_to_move" \
--data "id=100" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_order_to_move",
"order": {
"id": 100,
"userid": 50,
"status": "Pending",
"items": [
{
"product": "VPS Plan",
"domain": "example.com"
}
]
},
"top": 123
}
Примеры ошибок
{
"code": -1,
"message": "Order not found"
}

whmcs/get_owners

Возвращает данные о владельцах для списка ID оборудования.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_owners
token ✅ string Токен авторизации
eq_id_list ❌ array<integer> Список идентификаторов оборудования для получения данных о владельцах.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_owners" \
--data "token=HOSTKEY_TOKEN" \
--data "eq_id_list[]=1" \
--data "eq_id_list[]=2"
Пример успешного ответа
{
"result": "OK",
"action": "get_owners",
"owners_list": [
{
"owner": "admin@hostkey.com",
"account_id": 50,
"type_billing": "whmcs_itb",
"server_ip": "1.2.3.4",
"server_status": "active",
"server_preset": "Standard VPS",
"server_id": 1,
"server_location": "NL",
"type": "VPS",
"rack_id": 12,
"rack_owner": "",
"rack_name": "Rack Name"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Permission denied"
}

whmcs/get_product_invoice

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_product_invoice
token ✅ string Токен авторизации
id ✅ integer ID продукта (сервера)
product ✅ string Параметр product
paymentmethod ✅ string Параметр paymentmethod

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_product_invoice" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123" \
--data "product=VALUE" \
--data "paymentmethod=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "get_product_invoice",
"invoices": [
{
"id": 10,
"amount": 50.0,
"status": "Paid",
"billing": "whmcs_ru"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Invalid server id"
}

whmcs/get_products

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_products
token ✅ string Токен авторизации
id ✅ integer ID локации (billing location)
gid ❌ integer ID группы продуктов. По умолчанию 0.
location ❌ string Географическое местоположение или дата-центр для фильтрации доступных продуктов.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_products" \
--data "token=YOUR_TOKEN" \
--data "id=123" \
--data "gid=5" \
--data "location=Amsterdam"
Пример успешного ответа
{
"result": "success",
"products": {
"product": [
{
"id": 1,
"name": "Standard VPS",
"price": {
"EUR": 10.0,
"RUB": 950.0
}
}
]
}
}
Примеры ошибок
{
"code": 400,
"message": "Billing error: {\"result\":\"-1\",\"error\":\"Invalid billing location [location]\"}"
}

whmcs/get_promotions

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_promotions
token ✅ string Токен авторизации
email ❌ string Email клиента для проверки использования промокода
promocode ❌ string Код промокода
location ❌ string Географическое расположение или локация для проверки доступности промокодов.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_promotions" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_promotions",
"list": [
{
"code": "SUMMER2024",
"discount": 15.0,
"description": "Summer Sale"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Invalid promocode or billing error"
}

whmcs/get_refunds

Возвращает список возвратов средств для указанного аккаунта или сервера.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_refunds
clientid ❌ integer ID клиента в WHMCS.
billing ❌ string Локация биллинга (WHMCS location). Допустимые значения: hand, none
server_id ❌ integer ID сервера.
from ❌ string Дата начала периода (YYYY-MM-DD).
to ❌ string Дата окончания периода (YYYY-MM-DD).
token ✅ string API-токен аутентификации
period_from ❌ string Дата начала периода для фильтрации списка возвратов.
period_to ❌ string Дата окончания периода для фильтрации списка возвратов.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_refunds" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"refunds": [
{
"id": 123,
"clientid": 456,
"server_id": 789,
"billing": "hand",
"message": "Refund message",
"created": "2024-01-15 10:00:00",
"amount": 50.0,
"service_price": 55.0,
"currency": "USD",
"email": "test@example.com",
"corporate": "Company Name",
"customer_id": 12345,
"hwconfig": {},
"costEUR": 0.0,
"costRUR": 0.0,
"costUSD": 0.0
}
]
}
Примеры ошибок
{
"code": -1,
"message": "RuntimeException: parse_date_or_datetime error"
}

whmcs/get_refusal_report

Возвращает отчет по отказам (refusals) за указанный период.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_refusal_report
billing ❌ string Тип биллинга. Допустимые значения: hand, none
from ❌ string Дата начала периода.
to ❌ string Дата окончания периода.
order_by ❌ string Поле для сортировки отчета.
token ❌ string Уникальный токен для аутентификации запроса.
location ❌ string Идентификатор или название локации для формирования отчета об отказах.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_refusal_report" \
--data "billing=hand" \
--data "from=2023-01-01" \
--data "to=2023-12-31"
Пример успешного ответа
{
"result": "success",
"report": [],
"query": "",
"values": []
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка формирования отчета"
}

Возвращает список всех инвойсов, привязанных к аккаунту клиента.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_related_invoices" \
--data "token=HOSTKEY_TOKEN" \
--data "account_id=12345" \
--data "invoices=some_value"
Пример успешного ответа
{
"result": "OK",
"action": "get_related_invoices",
"invoices": [
{
"id": 50,
"userid": 123,
"status": "Paid"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "$module/$action: server $id are not linked to the billing"
}

whmcs/get_server_config

Возвращает конфигурационные данные сервера из WHMCS.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_server_config" \
--data "id=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_server_config",
"data": {
"billingLinked": true,
"config": {}
}
}
Примеры ошибок
{
"code": -1,
"message": "WHMCS service is not linked to this server"
}

whmcs/get_service

Возвращает детальную информацию о конкретном сервисе (сервере).

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_service
id ✅ integer ID сервиса.
token ✅ string API-токен аутентификации
hash ✅ string Хеш для проверки прав доступа (auth_check_permission)
location ✅ string Местоположение биллинга (billing location)
product_id ❌ integer Уникальный идентификатор продукта для получения данных сервиса.
user_id ❌ integer Идентификатор пользователя, к которому привязан запрашиваемый сервис.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_service" \
--data "id=123" \
--data "token=YOUR_TOKEN" \
--data "hash=YOUR_HASH" \
--data "location=US"
Пример успешного ответа
{
"result": "-1",
"error": "Invalid billing location $location"
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

whmcs/get_services

Метод помечен как устаревший. Работает через планировщик.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_services"
Пример успешного ответа
{
"result": "OK",
"action": "get_services",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "Endpoint retired"
}

whmcs/get_upgrade_preset_cost

Возвращает список цен на различные конфигурации (пресеты) для улучшения сервера.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_upgrade_preset_cost" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123"
Пример успешного ответа
{
"upgrade_options": [
{
"id": 123,
"name": "Upgrade to 8GB RAM",
"description": "Description of the preset",
"price": 16.5,
"upgrade_price": 5.0,
"web_group": "vm"
}
],
"base_cost": 15.0,
"extra_costs": 2.5,
"taxrate": 0.2,
"ndd": "2023-12-31",
"discount": 1.0,
"current_web_group": "vm",
"current_preset_name": "Standard VM"
}
Примеры ошибок
{
"code": -1,
"message": "Error calculating prices"
}

whmcs/getcredits

Возвращает информацию о доступных средствах (кредитах) на аккаунте клиента.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=getcredits" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"message": {
"result": "success",
"error": null
}
}
Примеры ошибок
{
"code": -1,
"message": "failed to retrive account history at [location], please contact support - [error]"
}

whmcs/getpaymentgw

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: getpaymentgw
token ✅ string Токен авторизации
invoice_id ✅ integer ID инвойса
status ✅ string Параметр status
userid ✅ string Параметр userid

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=getpaymentgw" \
--data "token=VALUE" \
--data "invoice_id=VALUE" \
--data "status=VALUE" \
--data "userid=VALUE"
Пример успешного ответа
{
"result": "OK",
"methods": [
{
"name": "stripe",
"call": "https://invapi.hostkey.com?invoice_id=123"
},
{
"name": "banktransfer",
"call": "<span style='text-align:left'><p data-intl='please_wire_funds_in_favor'>Please wire funds in favor of:&nbsp;</p>...</span>"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "failed to retrive payment gw list: [error_message]"
}

whmcs/mass_pay

Создает один общий инвойс для массовой оплаты нескольких выбранных инвойсов.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: mass_pay
token ✅ string Токен авторизации
invoices ✅ array<integer> Массив ID инвойсов для оплаты. Принимает несколько значений: invoices[]=1&invoices[]=2

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=mass_pay" \
--data "token=YOUR_TOKEN" \
--data "invoices[]=123" \
--data "invoices[]=456"
Пример успешного ответа
{
"result": "OK",
"invoiceid": 12345
}
Примеры ошибок
{
"code": -1,
"message": "mass_pay_requires_2_invoices"
}

whmcs/merge_invoices

Объединяет несколько инвойсов в один.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: merge_invoices
ids ❌ array Массив ID инвойсов для объединения. Принимает несколько значений: ids[]=1&ids[]=2
token ✅ string API-токен аутентификации
location ❌ string Местоположение или локация для объединения счетов.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=merge_invoices" \
--data "ids[]=1" \
--data "ids[]=2" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": -2,
"error": "Invalid hash",
"code": "INVALID_HASH"
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка объединения инвойсов"
}

whmcs/notify_reinstall_issues

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=notify_reinstall_issues" \
--data "id=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "whmcs",
"action": "notify_reinstall_issues"
}
Примеры ошибок
{
"code": -1,
"message": "No server id provided / Server needs to have billing and owner / whmcs_send_custom_email failed"
}

whmcs/notify_resource_overuse

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: notify_resource_overuse
id ✅ integer ID сервера для проверки перерасхода.
cooldown ❌ integer Период задержки уведомлений в днях. По умолчанию 7.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=notify_resource_overuse" \
--data "id=123" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": null,
"data": null
}
Примеры ошибок
{
"code": -1,
"message": "Permission denied"
}

whmcs/payment_to_month_first_day

Настраивает дату платежа сервера на первый день месяца.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: payment_to_month_first_day
token ✅ string Токен авторизации
id ✅ integer ID сервера (equipment ID)

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=payment_to_month_first_day" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345"
Пример успешного ответа
{
"result": "OK",
"action": "payment_to_month_first_day"
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка выполнения операции"
}

whmcs/preview_billing_cycle_change

Выполняет предварительный расчет стоимости и параметров при изменении периода оплаты (например, с ежемесячной на годовую) без сохранения изменений в базе данных.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: preview_billing_cycle_change
token ✅ string Токен авторизации
id ✅ integer ID оборудования (equipment ID)
new_billing_cycle ✅ string Новый цикл оплаты. Допустимые значения: Monthly, Quarterly, Semi-Annually, Annually.
recurring_amount ❌ number Ручная корректировка рекуррентной суммы (override recurring amount).

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=preview_billing_cycle_change" \
--data "token=HOSTKEY_TOKEN" \
--data "id=12345" \
--data "new_billing_cycle=Annually"
Пример успешного ответа
{
"result": "OK",
"new_price": 50.0,
"monthly_price": 4.17,
"current_cycle": "Monthly",
"new_cycle": "Annually",
"currency_code": "USD",
"formula_details": {
"current_cycle": "string",
"current_months": integer,
"current_price": number,
"new_cycle": "string",
"new_months": integer,
"monthly_price": number,
"price_source": "string",
"calculated_price": number,
"currency_code": "string",
"discounts": {
"quarterly": number,
"semi_annually": number,
"annually": number,
"source": "string"
},
"formula_steps": array<string>
},
"addons_count": 2
}
Примеры ошибок
{
"code": -1,
"message": "Error message from calculation engine"
}

whmcs/preview_client_billing_cycle_change

Рассчитывает стоимость и детали при смене платежного цикла клиентом.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=preview_client_billing_cycle_change" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "new_billing_cycle=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "preview_client_billing_cycle_change",
"new_price": 49.99,
"monthly_price": 59.99,
"current_cycle": "monthly",
"new_cycle": "annually",
"currency_code": "USD",
"formula_details": "Calculation details..."
}
Примеры ошибок
{
"code": -1,
"message": "Server not found"
}

whmcs/refund_check

Проверяет, находится ли запрос на возврат в процессе обработки (через статус тикета JIRA).

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=refund_check" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"message": "refund_pending"
}
Примеры ошибок
{
"code": -1,
"message": "Refund request failed"
}

whmcs/refund_check_payment_paygine

Проверяет статус и возможность выполнения возврата через платежный шлюз Paygine.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: refund_check_payment_paygine
params ❌ array Контейнер с параметрами проверки возврата.
token ✅ string API-токен аутентификации
location ❌ string Идентификатор или название локации для проверки возврата платежа.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=refund_check_payment_paygine" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "refund_check_payment_paygine",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка проверки возврата Paygine"
}

whmcs/refund_check_payment_yookassa

Проверяет статус и возможность выполнения возврата через платежный шлюз ЮKassa.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: refund_check_payment_yookassa
params ❌ object Контейнер с параметрами проверки возврата.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=refund_check_payment_yookassa" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "refund_check_payment_yookassa",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка проверки возврата Yookassa"
}

whmcs/refund_payment

Выполняет возврат средств через транзакцию в WHMCS.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: refund_payment
params ❌ object Контейнер с параметрами возврата.
token ✅ string API-токен аутентификации
location ❌ string Местоположение или локация для проведения операции возврата платежа.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=refund_payment" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "refund_payment",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка выполнения возврата WHMCS"
}

whmcs/refund_payment_paygine

Инициирует процесс возврата средств через шлюз Paygine.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: refund_payment_paygine
params ❌ array Контейнер с параметрами возврата.
token ✅ string API-токен аутентификации
location ❌ string Местоположение или локация для обработки возврата платежа.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=refund_payment_paygine" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "refund_payment_paygine",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка обработки возврата Paygine"
}

whmcs/refund_payment_yookassa

Инициирует процесс возврата средств через шлюз ЮKassa.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: refund_payment_yookassa
params ❌ object Контейнер с параметрами возврата.
token ✅ string API-токен аутентификации
location ❌ string Местоположение или локация для проведения операции возврата платежа.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=refund_payment_yookassa" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": -2,
"error": "Invalid hash",
"code": "INVALID_HASH"
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка обработки возврата Yookassa"
}

whmcs/remove_credit

Удаляет кредит (баланс) с аккаунта клиента в WHMCS.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: remove_credit
token ✅ string Токен авторизации
id ❌ integer ID сервера/объекта (если применимо)
date ❌ string Дата операции. По умолчанию текущая дата в формате Y-m-d.
description ❌ string Описание операции по удалению кредита.
amount ❌ number Сумма для удаления.
userid ❌ integer ID пользователя в WHMCS.
params[date] ❌ string Дата операции. По умолчанию текущая дата в формате Y-m-d.
params[description] ❌ string Описание операции по удалению кредита.
params[amount] ❌ number Сумма для удаления.
params[userid] ❌ integer ID пользователя в WHMCS.
location ❌ string Местоположение или локация для проведения операции по удалению кредита.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=remove_credit" \
--data "token=HOSTKEY_TOKEN" \
--data "userid=123" \
--data "amount=50.00" \
--data "description=Manual credit removal"
Пример успешного ответа
{
"result": "success",
"clientid": 123,
"message": "Credit removed successfully"
}
Примеры ошибок
{
"code": -1,
"message": "WHMCS Remove Credit failed: Invalid billing location ..."
}

whmcs/remove_credit_from_invoice

Удаляет сумму кредита, примененную к конкретному счету (инвойсу).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: remove_credit_from_invoice
token ✅ string Токен авторизации
id ❌ integer ID инвойса (invoice_id).
params[amount] ✅ number Сумма кредита для удаления.
credit ❌ string Параметр credit (не используется напрямую в логике обновления)
location ❌ string Местоположение или сервер, на котором размещена информация.
invoice_id ❌ integer Уникальный идентификатор счета для проведения операции.
client_id ❌ integer Идентификатор клиента, на счет которого возвращаются средства.
amount ❌ string Сумма денежных средств для списания со счета в пользу клиента.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=remove_credit_from_invoice" \
--data "token=HOSTKEY_TOKEN" \
--data "params[amount]=10.50"
Пример успешного ответа
{
"result": "success",
"error": null
}
Примеры ошибок
{
"code": -1,
"message": "Enter an amount greater than the Remove Credit balance"
}

whmcs/request_cancellation

Инициирует процесс отмены сервера и проверяет условия (наличие задолженностей, статус лицензий).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: request_cancellation
token ✅ string Токен авторизации
id ✅ integer ID сервера
cancellation_type ❌ string Тип отмены.
cancellation_reason ❌ string Причина отмены. Допустимые значения: RU
invoices ✅ string Параметр invoices
refund ✅ number Сумма возврата средств
currency ✅ string Валюта платежа
service_price ✅ number Стоимость услуги с учетом налогов (если применимо)
refund_message ✅ string Текст сообщения о возврате средств для клиента
refund_message_short ✅ string Краткий текст сообщения о возврате средств
clientid ✅ integer ID клиента в WHMCS
billing ✅ string Локация биллинга (whmcs или другая)
email ✅ string Email клиента для уведомления
refund_message_inv ✅ string Текст сообщения о возврате в инвойсе
invoice_id ✅ integer ID последнего инвойса для возврата
tax ✅ number Сумма налога
vat_extra ✅ boolean Флаг наличия дополнительного НДС (VAT extra)
last_invoice ✅ integer ID последнего инвойса
prev_invoice_id ✅ integer ID предыдущего инвойса
relid ✅ integer Связанный ID (account_id)
withheld_amount ✅ number Удержанная сумма за использование ресурсов
period_start ✅ string Дата начала расчетного периода
vat_msg ✅ string Сообщение о налоге (VAT)
rec_before_tax ✅ number Сумма до вычета налогов
d_deploy_time ✅ string Дата развертывания сервера
d_bill_time ✅ string Время выставления счета
d_reccuring ✅ string Период рекуррентного платежа (billing cycle)
d_period ✅ string Billing cycle (annually, monthly, quarterly, semi-annually, semiannually)
cbp_adjusted ✅ string Сообщение о корректировке периода (CBP adjusted)
user_id ❌ integer Уникальный идентификатор пользователя в системе.
terminate_reason_custom ❌ string Пользовательская причина расторжения услуги, используемая при отсутствии стандартной причины.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=request_cancellation" \
--data "token=VALUE" \
--data "id=VALUE" \
--data "invoices=VALUE" \
--data "refund=VALUE" \
--data "currency=VALUE" \
--data "service_price=VALUE" \
--data "refund_message=VALUE" \
--data "refund_message_short=VALUE" \
--data "clientid=VALUE" \
--data "billing=VALUE" \
--data "email=VALUE" \
--data "refund_message_inv=VALUE" \
--data "invoice_id=VALUE" \
--data "tax=VALUE" \
--data "vat_extra=VALUE" \
--data "last_invoice=VALUE" \
--data "prev_invoice_id=VALUE" \
--data "relid=VALUE" \
--data "withheld_amount=VALUE" \
--data "period_start=VALUE" \
--data "vat_msg=VALUE" \
--data "rec_before_tax=VALUE" \
--data "d_deploy_time=VALUE" \
--data "d_bill_time=VALUE" \
--data "d_reccuring=VALUE" \
--data "d_period=VALUE" \
--data "cbp_adjusted=VALUE"
Пример успешного ответа
{
"result": "OK"
}
Примеры ошибок
{
"code": -1,
"message": "Server are being cancelled at the moment, please wait or contact support"
}

whmcs/request_subscription_cancellation

Запрашивает отмену автоматического продления (подписки) банковской картой.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=request_subscription_cancellation" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE"
Пример успешного ответа
{
"result": "OK",
"ticket": "JIRA-12345"
}
Примеры ошибок
{
"code": -1,
"message": "sub_cancel_not_allowed_billing"
}

whmcs/resend_email

Повторно отправляет письмо, связанное с объектом (например, уведомление о регистрации).

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: resend_email
token ✅ string Токен авторизации
id ❌ integer ID объекта (например, ID клиента или уведомления).
customer ✅ string Идентификатор клиента для получения данных.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=resend_email" \
--data "token=HOSTKEY_TOKEN" \
--data "customer=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "resend_email",
"email": {
"from": "string",
"fromname": "string",
"fromemail": "string"
}
}
Примеры ошибок
{
"code": 400,
"message": "Ошибка при попытке повторной отправки письма или клиент не найден"
}

whmcs/reset_login_failures

Сбрасывает счетчик неудачных попыток входа для всех пользователей.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=reset_login_failures" \
--data "token=YOUR_TOKEN" \
--data "location=your_location"
Пример успешного ответа
{
"result": "OK",
"message": "Login failures successfully reset for location: $location",
"data": {}
}
Примеры ошибок
{
"code": -1,
"message": "Invalid billing location: $location"
}

whmcs/reset_password

Инициирует процесс сброса пароля клиента. Если токен уже использован, позволяет установить новый пароль.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: reset_password
token ✅ string Токен сброса пароля (если не пустой)
email ❌ string Email клиента для отправки ссылки на сброс
location ❌ string Локация биллинга. Допустимые значения: Auto.
pass ❌ string Новый пароль (используется при наличии токена)
code ❌ string Код двухфакторной аутентификации (2FA)
reset_token ❌ string Уникальный токен для сброса пароля пользователя.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=reset_password" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"message": "Password reset link was sent to the registred email."
}
Примеры ошибок
{
"code": -1,
"message": "Invalid password reset token, please try again."
}

whmcs/search_client

Поиск клиентов по имени или email во всех доступных локациях WHMCS.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: search_client
token ✅ string Токен авторизации
search ✅ string Строка поиска (имя или email).
params[search] ❌ string Строка поиска (имя или email).
email ❌ string Электронная почта клиента для поиска в системе.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=search_client" \
--data "token=HOSTKEY_TOKEN" \
--data "search=John Doe"
Пример успешного ответа
{
"result": "OK",
"list": [
{
"id": 123,
"email": "user@example.com",
"name": "John Doe",
"billing": "whmcs_ru",
"account_id": 456,
"status": "Active"
}
]
}
Примеры ошибок
{
"code": 500,
"message": "Empty search data"
}

whmcs/search_invoice

Поиск инвойсов по ID во всех локациях WHMCS.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=search_invoice" \
--data "token=YOUR_TOKEN" \
--data "id=100"
Пример успешного ответа
{
"result": "OK",
"action": "search_invoice",
"invoices": [
{
"invoiceid": 100,
"invoicenum": "INV-100",
"date": "2024-01-01",
"duedate": "2024-02-01",
"total": 50.0,
"status": "Unpaid",
"billing": "whmcs_com",
"customer": {
"id": 1,
"email": "client@example.com",
"invapi_id": 123
}
}
]
}
Примеры ошибок
{
"code": -1,
"message": "Инвойс не найден или ошибка WHMCS"
}

whmcs/send_email

Отправка кастомного письма клиенту.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: send_email
token ✅ string Токен авторизации
customerId ✅ integer ID клиента.
subject ✅ string Тема письма.
message ✅ string Текст сообщения.
messagename ❌ string Имя шаблона (по умолчанию 'general').
fromname ✅ string Параметр fromname
fromemail ✅ string Параметр fromemail
to ✅ string Параметр to
cc ✅ string Параметр cc
bcc ✅ string Параметр bcc
params ✅ string Параметр params

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=send_email" \
--data "token=VALUE" \
--data "customerId=VALUE" \
--data "subject=VALUE" \
--data "message=VALUE" \
--data "fromname=VALUE" \
--data "fromemail=VALUE" \
--data "to=VALUE" \
--data "cc=VALUE" \
--data "bcc=VALUE" \
--data "params=VALUE"
Пример успешного ответа
{
"result": 1
}
Примеры ошибок
{
"code": -1,
"message": "whmcs_send_custom_email failed on try 3: Invalid billing location"
}

whmcs/send_notifications_to_list

Отправляет кастомные email-уведомления выбранному списку клиентов через WHMCS или SMTP.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: send_notifications_to_list
clients[] ✅ array Список данных клиентов для рассылки. Каждый элемент содержит email и ID клиента через разделитель '
billing ❌ string Метод отправки (WHMCS или SMTP). Допустимые значения: hand, none.
custom_subject ❌ string Тема письма
custom_body ❌ string Текст сообщения
open_jira ❌ boolean Создать ли тикет в Jira для клиента.
token ✅ string API-токен аутентификации
clients ✅ string Параметр clients
location ❌ string Местоположение или локация для отправки уведомлений.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=send_notifications_to_list" \
--data "clients[]=email1|id1" \
--data "clients[]=email2|id2" \
--data "billing=hand" \
--data "custom_subject=Hello" \
--data "custom_body=World" \
--data "open_jira=true" \
--data "token=YOUR_TOKEN" \
--data "clients=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "send_notifications_to_list"
}
Примеры ошибок
{
"code": -1,
"message": "Permission denied"
}

whmcs/split_invoice

Разделяет существующий инвойс на несколько частей по указанным ID позиций.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: split_invoice
ids[] ✅ array Массив ID позиций для разделения. Принимает несколько значений: ids[]=1&ids[]=2
invoice_id ✅ integer ID инвойса для разделения.
token ✅ string API-токен аутентификации
ids ✅ string Параметр ids
location ❌ string Местоположение или локация для разделения счета.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=split_invoice" \
--data "ids[]=1" \
--data "ids[]=2" \
--data "invoice_id=123" \
--data "token=YOUR_TOKEN" \
--data "ids=some_value"
Пример успешного ответа
{
"result": "OK",
"action": "split_invoice"
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка при разделении инвойса"
}

whmcs/toggle_billing_lock

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: toggle_billing_lock
id ✅ integer ID сервера.
lock ❌ boolean Включить блокировку (true) или снять (false).
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=toggle_billing_lock" \
--data "id=123" \
--data "lock=true" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "toggle_billing_lock",
"lock": true
}
Примеры ошибок
{
"code": -1,
"message": "Server not found"
}

whmcs/transactions

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: transactions
transaction_id ❌ string ID конкретной транзакции
token ✅ string API-токен аутентификации
invoice_id ❌ integer Идентификатор счета для фильтрации транзакций.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=transactions" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"transactions": [
{
"id": 123,
"amount": 50.0,
"date": "2024-01-01T10:00:00Z",
"description": "Payment for invoice #1"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "transactions: failed to retrive transactions - error_message"
}

whmcs/trustpilot_mail

Отправляет специальное письмо для запроса отзыва на Trustpilot.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: trustpilot_mail
order_id ❌ integer ID заказа для получения данных клиента.
recipientName ❌ string Имя получателя.
recipientEmail ❌ string Email получателя.
referenceId ❌ integer Reference ID для Trustpilot.
token ✅ string API-token аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=trustpilot_mail" \
--data "order_id=12345" \
--data "recipientEmail=user@example.com" \
--data "token=YOUR_API_TOKEN"
Пример успешного ответа
{
"result": "OK",
"debug": "smtp_res_data"
}
Примеры ошибок
{
"code": -1,
"message": "failed to send email"
}

Поиск по всем сущностям: сервера, клиенты, инвойсы, VAT.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: unified_search
query ✅ string Поисковый запрос.
category ❌ string Категория поиска. Допустимые значения: servers, customers, invoices, vat.
token ✅ string API-токен аутентификации
location ❌ string Название или идентификатор локации для фильтрации результатов поиска.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=unified_search" \
--data "query=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "unified_search",
"results": {
"customers": [],
"invoices": [],
"vat": []
},
"totals": {
"total": 0,
"customers": 0,
"invoices": 0,
"vat": 0
},
"category": null,
"limited": {
"customers": false,
"invoices": false,
"vat": false
}
}
Примеры ошибок
{
"code": -1,
"message": "Missing search query"
}

whmcs/unpaidinvoices

Запускает процесс обхода неоплаченных инвойсов в WHMCS для отправки напоминаний клиентам.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: unpaidinvoices
period ✅ integer Период в днях (от 0 до 5). Обязательный параметр.
status ❌ string Статус инвойса. По умолчанию: Unpaid.
notify_client ❌ boolean Отправлять ли напоминание клиенту через email.
token ❌ string Уникальный токен для аутентификации запроса.
location ❌ string Локация или дата-центр для обработки неоплаченных счетов.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=unpaidinvoices" \
--data "period=3" \
--data "status=Unpaid" \
--data "notify_client=true"
Пример успешного ответа
{
"result": -1,
"message": "5 invoices failed in a row, stopped at {id}"
}
Примеры ошибок
{
"code": -1,
"message": "5 invoices failed in a row, stopped at invoice {id}: {error}"
}

whmcs/update_client

Обновление данных профиля клиента в WHMCS и локальной базе.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: update_client
profile_data[email] ❌ string Email клиента (используется для сравнения и проверки уникальности)
profile_data[contact_id] ❌ integer ID контакта
profile_data[firstname] ❌ string Имя клиента (billing_firstname)
profile_data[lastname] ❌ string Фамилия клиента (billing_lastname)
profile_data[billing_email] ❌ string Email для биллинга
profile_data[co_smsnum] ❌ string Номер телефона (SMS number)
profile_data[tg_username] ❌ string Имя пользователя Telegram
profile_data[co_secret] ❌ string Секретное слово для верификации
profile_data[ips] ❌ string Список IP-адресов для ACL
token ✅ string API-токен аутентификации
email ❌ string Электронная почта пользователя для связи.
message ❌ string Текстовое сообщение или комментарий к обновлению данных.
profile_data ❌ array<string> Массив с данными профиля клиента для обновления.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=update_client" \
--data "token=YOUR_TOKEN" \
--data "profile_data[email]=test@example.com" \
--data "profile_data[firstname]=John"
Пример успешного ответа
{
"result": "success",
"billing_email": "example@mail.com",
"message": "Profile settings updated successfully"
}
Примеры ошибок
{
"code": -1,
"message": "invalid email"
}

whmcs/update_client_note

Обновляет существующую заметку в профиле клиента.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: update_client_note
customer ✅ integer ID клиента.
noteid ✅ string ID заметки для обновления.
note ✅ string Текст новой заметки.
sticky ❌ boolean Сделать заметку закрепленной.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=update_client_note" \
--data "customer=123" \
--data "noteid=abc-456" \
--data "note=Updated note text" \
--data "sticky=true" \
--data "token=YOUR_API_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "update_client_note"
}
Примеры ошибок
{
"code": -1,
"message": "Empty note"
}

whmcs/update_contact

Обновление данных дополнительного контакта клиента.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: update_contact
profile_data[email] ✅ string Email контакта (обязательно)
profile_data[contact_id] ✅ integer ID контакта
profile_data[firstname] ❌ string Имя контакта. Если не указано, поле остается без изменений.
profile_data[lastname] ❌ string Фамилия контакта. Если не указано, поле остается без изменений.
profile_data[phonenumber] ❌ string Номер телефона контакта в международном формате.
profile_data[password1] ❌ string Первая часть пароля для проверки соответствия.
profile_data[password2] ❌ string Вторая часть пароля для подтверждения смены данных.
token ✅ string API-токен аутентификации
email ✅ string Электронная почта контактного лица для обновления данных.
client_id ❌ integer Идентификатор клиента в системе WHMCS.
profile_data ✅ array<string> Массив данных профиля контактного лица для обновления.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=update_contact" \
--data "profile_data[email]=example@mail.com" \
--data "profile_data[contact_id]=123" \
--data "token=YOUR_TOKEN" \
--data "email=user@example.com" \
--data "client_id=456" \
--data "profile_data[]=some_value" \
--data "profile_data[]=another_value"
Пример успешного ответа
{
"result": "success",
"contactid": 123
}
Примеры ошибок
{
"code": -1,
"message": "fill_required_fields"
}

whmcs/update_credit_item

Обновляет данные конкретной записи о кредите (сумма, описание) для клиента.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: update_credit_item
userid ✅ integer ID пользователя.
id ✅ integer ID кредитной записи.
date ❌ string Дата изменения (YYYY-MM-DD). По умолчанию текущая в формате YYYY-DD-mm.
description ❌ string Описание изменений.
token ✅ string API-токен аутентификации
location ❌ string Местоположение или локация кредитной позиции.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=update_credit_item" \
--data "userid=123" \
--data "id=456" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "success",
"error": null
}
Примеры ошибок
{
"code": -1,
"message": "WHMCS Add Credit failed: Invalid billing location"
}

whmcs/update_invoice

Обновляет данные существующего инвойса в WHMCS, включая возможность удаления строк (items).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: update_invoice
id ✅ integer ID инвойса для обновления.
params[deletelineids] ❌ array<integer> Массив ID строк инвойса, которые необходимо удалить. Принимает несколько значений: deletelineids[]=1&deletelineids[]=2
params ✅ string Контейнер для параметров обновления инвойса
token ✅ string API-токен аутентификации
deletelineids ✅ string Параметр deletelineids
location ❌ string Местоположение или локация для обновления счета.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=update_invoice" \
--data "id=123" \
--data "params[deletelineids][]=1" \
--data "params[deletelineids][]=2" \
--data "params=some_payload" \
--data "token=YOUR_TOKEN" \
--data "deletelineids=VALUE"
Пример успешного ответа
{
"result": "success",
"excess_returned": 0.0,
"invoice_gross": 0.0,
"transid": "string"
}
Примеры ошибок
{
"code": -2,
"message": "Invalid hash"
}

whmcs/update_product

Обновление параметров сервера (статус, дата продления, домен и т.д.).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: update_product
element ✅ string Поле для обновления. Допустимые значения: domain, dedicatedip, subscriptionid, due_date, overidesuspenduntil, billing_status, serviceusername, servicepassword, ns1, ns2, assignedips, notes, suspendreason, billing_cycle.
data ✅ string Новое значение поля
token ✅ string API-токен аутентификации
reason ❌ string Причина приостановки или разблокировки сервиса
amount ❌ number Сумма для обновления при изменении цикла оплаты
autosuspend ❌ string Управление автоматической приостановкой обслуживания при отсутствии оплаты.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=update_product" \
--data "element=domain" \
--data "data=example.com" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "success",
"inv_id": 123,
"serviceid": 456
}
Примеры ошибок
{
"code": -1,
"message": "invalid server's billing account id"
}

whmcs/update_traffic

Обновляет параметры биллинга трафика для сервера (лимиты, периоды и стоимость).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: update_traffic
id ✅ integer ID сервера.
trafficPlan ❌ integer ID тарифного плана трафика. Если > 0, устанавливает план целиком.
new_limit_traffic ❌ integer Новый лимит трафика.
trafficPeriodOut ❌ integer Конец периода трафика (timestamp).
trafficPeriodIn ❌ integer Начало периода трафика (timestamp).
trafficPeriodOutBilling ❌ integer Конец периода в биллинге.
trafficPeriodInBilling ❌ integer Начало периода в биллинге.
datePeriod ❌ integer Период трафика (trafficPeriod).
limit_trafficIN ❌ number Лимит входящего трафика.
cost_trafficIN ❌ number Стоимость входящего трафика.
limit_traffic ❌ number Общий лимит трафика.
cost_traffic ❌ number Стоимость трафика.
limit_bands ❌ integer Лимит полосы пропускания.
IsShape ❌ integer Флаг формы (shape).
params[trafficPlan] ❌ integer ID тарифного плана трафика. Если > 0, устанавливает план целиком.
params[new_limit_traffic] ❌ integer Новый лимит трафика.
params[trafficPeriodOut] ❌ integer Конец периода трафика (timestamp).
params[trafficPeriodIn] ❌ integer Начало периода трафика (timestamp).
params[trafficPeriodOutBilling] ❌ integer Конец периода в биллинге.
params[trafficPeriodInBilling] ❌ integer Начало периода в биллинге.
params[limit_trafficIN] ❌ integer Лимит трафика (входящий).
params[cost_trafficIN] ❌ number Стоимость входящего трафика.
params[limit_traffic] ❌ integer Общий лимит трафика.
params[cost_traffic] ❌ number Стоимость трафика.
params[limit_bands] ❌ integer Лимит полосы пропускания.
params[IsShape] ❌ integer Флаг формы (shape).
trafficPeriod ❌ string Дата или период действия трафика для биллинга.
token ❌ string Уникальный токен авторизации для выполнения запроса.
traffic_plan ❌ integer Идентификатор выбранного тарифного плана трафика.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=update_traffic" \
--data "id=123" \
--data "trafficPlan=5" \
--data "token=your_token_here"
Пример успешного ответа
{
"result": "OK",
"id": 123,
"message": "Traffic billing data updated"
}
Примеры ошибок
{
"code": -1,
"message": "Traffic billing data update fail: error_message"
}

whmcs/updatevat

Запускает процесс обновления налоговых данных в WHMCS.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=updatevat"
Пример успешного ответа
{
"result": "OK",
"code": "VAT_UPDATED, NO_CHANGE_REQUIRED, NOT_ALLOWED_YET, CONNECTION_ERROR, INTERNAL_ERROR, UNKNOWN_ERROR"
}
Примеры ошибок
{
"code": -1,
"message": "Error during VAT update"
}

whmcs/vat_report

Возвращает отчет по налогам (VAT) за указанный период.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: vat_report
params[CC] ❌ string Дополнительный параметр CC для запроса в WHMCS.
params[CC_not_in] ❌ string Список исключений CC для запроса в WHMCS.
params[report_type] ❌ integer Тип отчета. Значение 4 преобразуется в тип 21.
params[period_from] ❌ string Дата начала периода (YYYY-MM-DD).
params[period_to] ❌ string Дата окончания периода (YYYY-MM-DD).
token ✅ string API-токен аутентификации
location ❌ string Географическое местоположение или дата-центр для формирования отчета.
report_type ❌ integer Тип налога или формат налогового отчета.
period_from ❌ string Дата начала отчетного периода.
period_to ❌ string Дата окончания отчетного периода.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=vat_report" \
--data "token=HOSTKEY_TOKEN" \
--data "params[period_from]=2024-01-01" \
--data "params[period_to]=2024-01-31"
Пример успешного ответа
{
"result": "OK",
"data": [
{
"period_start": "2024-01-01",
"period_stop": "2024-01-31",
"subtotal": 100.0,
"tax": 20.0,
"tax2": 0.0,
"total": 120.0,
"description": "Service payment",
"invoice_id": "12345"
}
]
}
Примеры ошибок
{
"code": -1,
"message": "failed to request whmcs_vatreport - {data[message]}"
}

whmcs/verify_email

Проверяет корректность email-адреса и отправляет код верификации или подтверждает изменение почты.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: verify_email
token ✅ string Токен авторизации запроса.
email ✅ string Email адрес для верификации или новый email клиента.
data ❌ string Код подтверждения (для завершения процесса верификации).

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=verify_email" \
--data "token=VALUE" \
--data "email=VALUE" \
--data "data=VALUE"
Пример успешного ответа
{
"result": "OK",
"state": "verified",
"status": "Email address is verified."
}
Примеры ошибок
{
"code": -1,
"message": "Email verification failed: incorrect code"
}

whmcs/verify_address

Проверяет адрес клиента через Google Maps API для подтверждения его корректности.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: verify_address
token ✅ string Токен авторизации запроса.
location ❌ string Географическое положение или локация клиента для проверки адреса.
client_id ❌ integer Уникальный идентификатор клиента в системе.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=verify_address" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"state": "verified",
"status": "Address is correct: [formatted_address]"
}
Примеры ошибок
{
"code": -1,
"message": "Адрес не найден или некорректен"
}

whmcs/request_refund

Инициирует процесс возврата неиспользованных денежных средств с баланса клиента. Проверяет наличие открытых тикетов в JIRA и лимиты кредитного баланса в WHMCS.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: request_refund
token ✅ string Токен авторизации
id ✅ integer ID клиента или сущности
amount ✅ number Сумма возврата. Должна быть больше 0 и не превышать доступный кредит в WHMCS.

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=request_refund" \
--data "token=HOSTKEY_TOKEN" \
--data "id=VALUE" \
--data "amount=VALUE"
Пример успешного ответа
{
"result": "OK",
"ticket": "JIRA-12345"
}
Примеры ошибок
{
"code": -1,
"message": "refund_fail_invalid_amount"
}

whmcs/welcome_code

Генерирует MD5 хеш на основе email клиента для верификации.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: welcome_code
email ✅ string Email клиента для генерации кода.
token ✅ string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=welcome_code" \
--data "email=user@example.com" \
--data "token=YOUR_API_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "welcome_code",
"data": "md5_hash_string"
}
Примеры ошибок
{
"code": -1,
"message": "Invalid email format or invalid token"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×