whmcs.php¶
Модуль интеграции с WHMCS для управления услугами, биллингом и клиентами: отмена заказов, управление кредитами, смена тарифных планов и работа с контактами.
Методы API¶
| Метод | Действие | Описание |
|---|---|---|
add_cancel_request | создание запроса на отмену | Создает запрос на отмену услуги (сервера) в системе WHMCS. |
add_contact | добавление контакта | Добавляет дополнительного контактного лица к клиенту. |
add_os_addon | добавление OS аддона | Добавляет лицензию операционной системы как addon к существующему серверу. |
apply_credit | применение кредита | Применяет средства с баланса аккаунта к оплате конкретного инвойса. |
cancel_order | отмена заказа | Отменяет заказ в WHMCS, если он находится в статусе Pending/Unpaid и не содержит активных лицензий. |
change_preset | смена пресета | Инициирует процесс смены конфигурационного пресета сервера. |
client_change_billing_cycle | смена цикла биллинга клиентом | Позволяет клиенту самостоятельно сменить цикл оплаты (например, на более длинный). |
create_addfunds | создание инвойса на пополнение баланса | Создает инвойс для пополнения баланса (Add Funds) в WHMCS. |
create_product_invoice | создание инвойса на продукт | Создает инвойс для конкретного продукта (услуги) в WHMCS. |
delete_cancellation_request | удаление запроса на отмену | Удаляет существующий запрос на отмену услуги (сброс статуса ожидания). |
delete_contact | удаление контакта клиента | Удаляет дополнительный контакт пользователя из WHMCS. |
generate_due_invoice | генерация предстоящего инвойса | Принудительно генерирует следующий инвойс для сервера в WHMCS. |
get_billing_data | получение биллинговых данных сервера | Возвращает подробную информацию о текущем биллинге, включая данные EU B2C и лицензии. |
get_cancellation_requests | получение списка запросов на отмену | Возвращает список активных запросов на отмену для сервера или пользователя. |
get_client | получение информации о клиенте | Возвращает подробную информацию об авторизованном клиенте, включая данные из WHMCS и внутренние теги. |
get_clients | получение списка клиентов | Возвращает список клиентов с фильтрацией по статусу. |
get_contacts | получение контактов клиента | Возвращает список дополнительных контактов для указанного клиента. |
get_emails | получение списка email-адресов клиента | Возвращает список email-адресов, связанных с клиентом. |
get_invoice | получение инвойса | Возвращает данные конкретного инвойса из WHMCS. |
get_invoices | получение списка инвойсов | Возвращает список всех инвойсов клиента. |
get_migration_progress | получение прогресса миграции | Возвращает статистику по статусам пользователей в процессе миграции. |
get_order_to_move | получение данных заказа для миграции | Возвращает данные заказа из WHMCS, подготовленные для процесса миграции. |
get_product_invoice | получение инвойсов продукта | Возвращает список всех инвойсов, связанных с конкретным продуктом (сервером). |
get_products | получение продуктов по группе | Возвращает список доступных продуктов для указанной группы (gid). |
get_related_invoices | получение связанных инвойсов | Возвращает список всех инвойсов, привязанных к аккаунту клиента. |
get_upgrade_preset_cost | получение стоимости апгрейда | Возвращает список цен на различные конфигурации (пресеты) для улучшения сервера. |
getcredits | получение баланса кредитов | Возвращает информацию о доступных средствах (кредитах) на аккаунте клиента. |
getpaymentgw | получение платежных шлюзов | Возвращает список доступных методов оплаты для конкретного инвойса. |
mass_pay | массовая оплата инвойсов | Создает один общий инвойс для массовой оплаты нескольких выбранных инвойсов. |
payment_to_month_first_day | смена даты оплаты на первое число месяца | Настраивает дату платежа сервера на первый день месяца. |
preview_client_billing_cycle_change | превью изменения цикла оплаты для клиента | Рассчитывает стоимость и детали при смене платежного цикла клиентом. |
refund_check | проверка статуса возврата | Проверяет, находится ли запрос на возврат в процессе обработки (через статус тикета JIRA). |
request_cancellation | запрос на отмену услуги | Инициирует процесс отмены сервера и проверяет условия (наличие задолженностей, статус лицензий). |
request_refund | запрос на возврат средств | Инициирует процесс возврата неиспользованных денежных средств с баланса клиента. Проверяет наличие открытых тикетов в JIRA и лимиты кредитного баланса в WHMCS. |
request_subscription_cancellation | запрос отмены подписки | Запрашивает отмену автоматического продления (подписки) банковской картой. |
reset_password | сброс пароля | Инициирует процесс сброса пароля клиента. Если токен уже использован, позволяет установить новый пароль. |
transactions | получение транзакций | Возвращает список финансовых транзакций клиента. |
unpaidinvoices | обработка неоплаченных инвойсов | Запуск процесса обработки (напоминания) по неоплаченным инвойсам за указанный период. |
update_client | обновление клиента | Обновление данных профиля клиента в WHMCS и локальной базе. |
update_contact | обновление контакта | Обновление данных дополнительного контакта клиента. |
update_product | обновление продукта/сервера | Обновление параметров сервера (статус, дата продления, домен и т.д.). |
updatevat | обновление VAT | Обновление данных по налогу (VAT) в системе. |
verify_address | верификация адреса | Проверяет адрес клиента через Google Maps API для подтверждения его корректности. |
verify_email | верификация email | Проверяет корректность email-адреса и отправляет код верификации или подтверждает изменение почты. |
whmcs/add_cancel_request¶
Создает запрос на отмену услуги (сервера) в системе WHMCS.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: add_cancel_request |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера для отмены |
| cancel_type | ❌ | string | Тип отмены. По умолчанию: End of Billing Period |
| reason | ✅ | string | Причина отмены. |
Пример запроса
Пример успешного ответа
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"
Пример успешного ответа
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 |
Пример запроса
whmcs/apply_credit¶
Применяет средства с баланса аккаунта к оплате конкретного инвойса.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: apply_credit |
| token | ✅ | string | Токен авторизации |
| invoice_id | ✅ | integer | ID инвойса для оплаты |
| amount | ✅ | number | Сумма кредита |
Пример запроса
whmcs/cancel_order¶
Отменяет заказ в WHMCS, если он находится в статусе Pending/Unpaid и не содержит активных лицензий.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: cancel_order |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID заказа для отмены (unsigned integer) |
Пример запроса
whmcs/change_preset¶
Инициирует процесс смены конфигурационного пресета сервера.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: change_preset |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера |
| preset_id | ✅ | string | ID нового пресета |
Пример запроса
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. |
Пример запроса
Пример успешного ответа
whmcs/create_addfunds¶
Создает инвойс для пополнения баланса (Add Funds) в WHMCS.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: create_addfunds |
| token | ✅ | string | Токен авторизации |
| amount | ✅ | number | Сумма пополнения. |
| description | ❌ | string | Описание платежа. |
| subscribe | ❌ | boolean | Включить автоматическое списание (автопродление). |
Пример запроса
Пример успешного ответа
whmcs/create_product_invoice¶
Создает инвойс для конкретного продукта (услуги) в WHMCS.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: create_product_invoice |
| token | ✅ | string | Токен авторизации |
| amount | ✅ | number | Сумма инвойса. |
| product_id | ✅ | integer | ID продукта в WHMCS. |
| description | ❌ | string | Описание инвойса. |
Пример запроса
Примеры ошибок
whmcs/delete_cancellation_request¶
Удаляет существующий запрос на отмену услуги (сброс статуса ожидания).
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: delete_cancellation_request |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера. |
| full | ❌ | boolean | Флаг для возврата упрощенного статуса результата операции в ответе. |
Пример запроса
Пример успешного ответа
whmcs/delete_contact¶
Удаляет дополнительный контакт пользователя из WHMCS.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: delete_contact |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера (для проверки прав). |
| contact_id | ✅ | integer | ID контакта для удаления. |
Пример запроса
Пример успешного ответа
whmcs/generate_due_invoice¶
Принудительно генерирует следующий инвойс для сервера в WHMCS.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: generate_due_invoice |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера. |
| addonids | ❌ | array<integer> | Список идентификаторов активных аддонов для генерации инвойса. |
Пример запроса
Пример успешного ответа
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 | Список лицензий для вывода средств ЕС |
Пример запроса
Пример успешного ответа
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 | Флаг для получения расширенного ответа с полным статусом результата. |
Пример запроса
Пример успешного ответа
whmcs/get_client¶
Возвращает подробную информацию об авторизованном клиенте, включая данные из WHMCS и внутренние теги.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_client |
| token | ✅ | string | Токен авторизации |
| ❌ | string | Email клиента для поиска (используется как account_id, если client_id не задан) | |
| client | ✅ | string | Параметр client |
| billing_location | ✅ | string | Параметр billing_location |
| groupdata | ✅ | string | Параметр groupdata |
| internal | ✅ | string | Параметр internal |
| full | ❌ | boolean | Флаг для получения расширенной информации о клиенте. |
Пример запроса
Пример успешного ответа
{
"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"
}
whmcs/get_clients¶
Возвращает список клиентов с фильтрацией по статусу.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_clients |
| token | ✅ | string | Токен авторизации |
| status | ❌ | string | Статус клиента. Допустимые значения: Active (по умолчанию), enable |
| location | ❌ | string | Географическое местоположение или дата-центр для фильтрации клиентов. |
Пример запроса
whmcs/get_contacts¶
Возвращает список дополнительных контактов для указанного клиента.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_contacts |
| token | ✅ | string | Токен авторизации |
| ❌ | string | Email дополнительного контакта для фильтрации списка контактов клиента. | |
| full | ❌ | boolean | Флаг для получения полного набора данных о контактах. |
Пример запроса
Пример успешного ответа
whmcs/get_emails¶
Возвращает список email-адресов, связанных с клиентом.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_emails |
| token | ✅ | string | Токен авторизации |
| params | ❌ | array<string> | Контейнер с параметрами запроса |
Пример запроса
Пример успешного ответа
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 | Флаг загрузки дополнительных данных клиента вместе с информацией о счете. |
Пример запроса
Пример успешного ответа
whmcs/get_invoices¶
Возвращает список всех инвойсов клиента.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_invoices |
| token | ✅ | string | Токен авторизации |
| totalresults | ❌ | integer | Общее количество найденных инвойсов |
| numreturned | ❌ | integer | Количество возвращенных инвойсов в текущем ответе |
| invoices | ❌ | array | Список данных об инвойсах |
Пример запроса
Пример успешного ответа
whmcs/get_migration_progress¶
Возвращает статистику по статусам пользователей в процессе миграции.
HTTP-метод: GET
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_migration_progress |
| token | ✅ | string | Токен авторизации |
Пример запроса
Пример успешного ответа
whmcs/get_order_to_move¶
Возвращает данные заказа из WHMCS, подготовленные для процесса миграции.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_order_to_move |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID заказа для миграции |
| location | ❌ | string | Идентификатор или название локации для переноса заказа. |
Пример запроса
Пример успешного ответа
whmcs/get_product_invoice¶
Возвращает список всех инвойсов, связанных с конкретным продуктом (сервером).
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_product_invoice |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID продукта (сервера) |
| product | ✅ | string | Параметр product |
| paymentmethod | ✅ | string | Параметр paymentmethod |
Пример запроса
Пример успешного ответа
whmcs/get_products¶
Возвращает список доступных продуктов для указанной группы (gid).
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_products |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID локации (billing location) |
| gid | ❌ | integer | ID группы продуктов. По умолчанию 0. |
| location | ❌ | string | Географическое местоположение или дата-центр для фильтрации доступных продуктов. |
Пример запроса
Пример успешного ответа
Примеры ошибок
whmcs/get_related_invoices¶
Возвращает список всех инвойсов, привязанных к аккаунту клиента.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_related_invoices |
| token | ✅ | string | Токен авторизации |
| id | ❌ | integer | ID сервера (если указан, используется его account_id) |
| account_id | ✅ | integer | Идентификатор аккаунта клиента в биллинговой системе |
| invoices | ✅ | string | Параметр invoices |
| user_id | ❌ | integer | Уникальный идентификатор пользователя для фильтрации связанных инвойсов. |
Пример запроса
Пример успешного ответа
Примеры ошибок
whmcs/get_upgrade_preset_cost¶
Возвращает список цен на различные конфигурации (пресеты) для улучшения сервера.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: get_upgrade_preset_cost |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера |
Пример запроса
Пример успешного ответа
{
"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"
}
whmcs/getcredits¶
Возвращает информацию о доступных средствах (кредитах) на аккаунте клиента.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: getcredits |
| token | ✅ | string | Токен авторизации |
Пример запроса
Примеры ошибок
whmcs/getpaymentgw¶
Возвращает список доступных методов оплаты для конкретного инвойса.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: getpaymentgw |
| token | ✅ | string | Токен авторизации |
| invoice_id | ✅ | integer | ID инвойса |
| status | ✅ | string | Параметр status |
| userid | ✅ | string | Параметр userid |
Пример запроса
Пример успешного ответа
whmcs/mass_pay¶
Создает один общий инвойс для массовой оплаты нескольких выбранных инвойсов.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: mass_pay |
| token | ✅ | string | Токен авторизации |
| invoices | ✅ | array<integer> | Массив ID инвойсов для оплаты. Принимает несколько значений: invoices[]=1&invoices[]=2 |
Пример запроса
whmcs/payment_to_month_first_day¶
Настраивает дату платежа сервера на первый день месяца.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: payment_to_month_first_day |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера (equipment ID) |
Пример запроса
whmcs/preview_client_billing_cycle_change¶
Рассчитывает стоимость и детали при смене платежного цикла клиентом.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: preview_client_billing_cycle_change |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера |
| new_billing_cycle | ✅ | string | Новый платежный цикл. |
Пример запроса
Пример успешного ответа
whmcs/refund_check¶
Проверяет, находится ли запрос на возврат в процессе обработки (через статус тикета JIRA).
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: refund_check |
| token | ✅ | string | Токен авторизации |
Пример запроса
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 или другая) |
| ✅ | 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"
Примеры ошибок
whmcs/request_subscription_cancellation¶
Запрашивает отмену автоматического продления (подписки) банковской картой.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: request_subscription_cancellation |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID сервера |
Пример запроса
whmcs/reset_password¶
Инициирует процесс сброса пароля клиента. Если токен уже использован, позволяет установить новый пароль.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: reset_password |
| token | ✅ | string | Токен сброса пароля (если не пустой) |
| ❌ | string | Email клиента для отправки ссылки на сброс | |
| location | ❌ | string | Локация биллинга. Допустимые значения: Auto. |
| pass | ❌ | string | Новый пароль (используется при наличии токена) |
| code | ❌ | string | Код двухфакторной аутентификации (2FA) |
| reset_token | ❌ | string | Уникальный токен для сброса пароля пользователя. |
Пример запроса
Пример успешного ответа
whmcs/transactions¶
Возвращает список финансовых транзакций клиента.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: transactions |
| transaction_id | ❌ | string | ID конкретной транзакции |
| token | ✅ | string | API-токен аутентификации |
| invoice_id | ❌ | integer | Идентификатор счета для фильтрации транзакций. |
Пример запроса
Пример успешного ответа
Примеры ошибок
whmcs/unpaidinvoices¶
Запуск процесса обработки (напоминания) по неоплаченным инвойсам за указанный период.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: unpaidinvoices |
| period | ✅ | integer | Период в днях (от 0 до 5) |
| status | ❌ | string | Статус инвойса. По умолчанию: Unpaid. |
| notify_client | ❌ | boolean | Отправлять ли уведомление клиенту |
| location | ❌ | string | Идентификатор локации для выполнения операции по неоплаченным счетам. |
Пример запроса
Пример успешного ответа
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-токен аутентификации |
| ❌ | string | Электронная почта пользователя для связи. | |
| message | ❌ | string | Текстовое сообщение или комментарий к обновлению данных. |
| profile_data | ❌ | array<string> | Массив с данными профиля клиента для обновления. |
Пример запроса
Пример успешного ответа
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-токен аутентификации |
| ✅ | 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"
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 | Управление автоматической приостановкой обслуживания при отсутствии оплаты. |
Пример запроса
whmcs/updatevat¶
Обновление данных по налогу (VAT) в системе.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: updatevat |
| - | - | - | Других параметров нет |
Пример успешного ответа
whmcs/verify_email¶
Проверяет корректность email-адреса и отправляет код верификации или подтверждает изменение почты.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: verify_email |
| token | ✅ | string | Токен авторизации запроса. |
| ✅ | string | Email адрес для верификации или новый email клиента. | |
| data | ❌ | string | Код подтверждения (для завершения процесса верификации). |
Пример запроса
Пример успешного ответа
whmcs/verify_address¶
Проверяет адрес клиента через Google Maps API для подтверждения его корректности.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: verify_address |
| token | ✅ | string | Токен авторизации запроса. |
| location | ❌ | string | Географическое положение или локация клиента для проверки адреса. |
| client_id | ❌ | integer | Уникальный идентификатор клиента в системе. |
Пример запроса
Пример успешного ответа
whmcs/request_refund¶
Инициирует процесс возврата неиспользованных денежных средств с баланса клиента. Проверяет наличие открытых тикетов в JIRA и лимиты кредитного баланса в WHMCS.
HTTP-метод: POST
Параметры:
| Параметр | Обязательный | Тип | Описание |
|---|---|---|---|
| action | ✅ | string | Идентификатор метода: request_refund |
| token | ✅ | string | Токен авторизации |
| id | ✅ | integer | ID клиента или сущности |
| amount | ✅ | number | Сумма возврата. Должна быть больше 0 и не превышать доступный кредит в WHMCS. |
Пример запроса