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

whmcs.php

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

Методы API

Метод Действие Описание
add_contact добавление контакта Добавляет нового дополнительного контакта для клиента в WHMCS. Если тип запроса не указан, создается случайный контакт с рандомным email.
apply_credit применение кредита к инвойсу Применяет доступный баланс (кредит) клиента для оплаты выбранного счета в WHMCS. Если счет после оплаты переходит в статус 'Paid', автоматически очищается оверраж трафика.
create_addfunds создание счета для пополнения баланса Создает инвойс в WHMCS для пополнения баланса клиента. Если включена опция subscribe, будет настроено автоматическое продление.
delete_cancellation_request удаление запроса на отмену Удаляет существующий запрос на отмену для конкретного сервера, позволяя восстановить статус инвойса или сгенерировать новый.
delete_contact удаление контакта Удаляет дополнительный контакт, привязанный к клиенту в WHMCS.
download_invoice скачивание инвойса Возвращает PDF-файл инвойса в формате base64 для просмотра или скачивания.
generate_due_invoice генерация счета на оплату Генерирует следующий счет для оплаты (due invoice) в WHMCS. Блокируется, если у клиента есть неоплаченные счета или если текущий цикл оплаты еще не завершен.
get_billing_data получение данных о биллинге сервера Возвращает подробную информацию о биллинговых параметрах конкретного сервера, включая данные для EU B2C (право на возврат) и детализацию лицензий в случае отмены по правилам ЕС.
get_cancellation_requests получение запросов на отмену Возвращает список активных запросов на отмену услуг для конкретного сервера или пользователя с фильтрацией по дате, типу и статусу оплаты.
get_client получение информации о клиенте Возвращает подробную информацию о авторизованном клиенте, включая данные из WHMCS (профиль, группа, валюта) и внутренние данные системы (теги, статус верификации). При параметре full возвращается расширенный набор данных.
get_clientgroups получение групп клиентов Возвращает список доступных групп клиентов из WHMCS для указанной локации.
get_contacts получение контактов клиента Возвращает список дополнительных контактов, привязанных к клиенту в WHMCS. Если указан email subaccount, возвращаются только те контакты, которые имеют соответствующие права доступа.
get_invoice получение данных счета Возвращает детальную информацию о счете из WHMCS, включая данные клиента и список позиций (items).
get_invoices получение списка инвойсов клиента Возвращает список всех инвойсов, связанных с клиентом в WHMCS. Если клиент авторизован, возвращаются только его инвойсы.
get_related_invoices получение связанных инвойсов Возвращает список инвойсов, связанных с конкретным сервером или аккаунтом клиента в WHMCS
getcredits получение баланса (кредитов) Возвращает информацию о доступных кредитах на счету клиента в указанной локации WHMCS.
getpaymentgw получение платежных шлюзов Возвращает список доступных методов оплаты (платежных шлюзов) для конкретного инвойса с поддержкой форматирования ссылок и HTML-кода кнопок.
mass_pay массовая оплата инвойсов Создает один общий инвойс для оплаты нескольких выбранных инвойсов клиента.
request_cancellation запрос на отмену заказа/подписки Инициирует процесс отмены заказа или подписки в WHMCS. Проверяет наличие активных лицензий, статус оплаты инвойсов и возможность возврата средств (включая правила EU B2C). При наличии задолженностей по трафику может рассчитать сумму удержания.
request_subscription_cancellation запрос на отмену подписки Инициирует процесс отмены банковской подписки для сервера, создавая тикет в JIRA и помечая сервер соответствующим тегом.
reset_password сброс пароля Позволяет инициировать процесс сброса пароля (отправка ссылки на email) или завершить его, используя токен восстановления и 2FA код.
transactions получение транзакций клиента Возвращает список финансовых транзакций пользователя из WHMCS по указанному ID или в рамках текущей сессии.
update_client обновление данных клиента Обновляет информацию о клиенте в WHMCS и локальной базе данных, включая контактные данные, настройки 2FA, IP-ACL и кастомные поля (custom fields). При изменении email или телефона может потребоваться повторная верификация.
update_contact обновление контакта Обновляет данные существующего контакта клиента (имя, фамилия, email, телефон) в системе WHMCS. При изменении email или телефона может потребоваться повторная верификация.

whmcs/add_contact

Добавляет нового дополнительного контакта для клиента в WHMCS. Если тип запроса не указан, создается случайный контакт с рандомным email.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: add_contact
token string Токен авторизации
profile_data[firstname] string Имя контакта
profile_data[lastname] string Фамилия контакта
profile_data[email] string Email контакта (должен быть уникальным)
profile_data[password1] string Пароль для нового контакта
profile_data[password2] string Подтверждение пароля
profile_data[phonenumber] string Номер телефона (проходит верификацию)
type integer Тип запроса (0 для создания случайного контакта)

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=add_contact" \
--data "token=HOSTKEY_TOKEN" \
--data "profile_data[firstname]=VALUE" \
--data "profile_data[email]=VALUE" \
--data "profile_data[password1]=VALUE" \
--data "profile_data[password2]=VALUE" \
--data "type=0"
Пример успешного ответа
{
"result": "OK",
"contactid": 67890,
"clientid": 12345
}
Примеры ошибок

``` { "code": -1, "message": "fill_required_fields" }

```

whmcs/apply_credit

Применяет доступный баланс (кредит) клиента для оплаты выбранного счета в WHMCS. Если счет после оплаты переходит в статус 'Paid', автоматически очищается оверраж трафика.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=apply_credit" \
--data "invoice_id=VALUE" \
--data "amount=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "success",
"message": "WHMCS ApplyCredit failed: {\"error\":\"...\"}"
}
Примеры ошибок

``` { "code": -1, "message": "invalid invoice id 123 at whmcs_ru status - Unpaid" }

```

whmcs/create_addfunds

Создает инвойс в WHMCS для пополнения баланса клиента. Если включена опция subscribe, будет настроено автоматическое продление.

HTTP-метод: POST

Параметры:

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

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

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

``` { "code": -1, "message": "minimal payment amount is 10.0" }

```

whmcs/delete_cancellation_request

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

HTTP-метод: POST

Параметры:

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

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

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

``` { "code": -1, "message": "Server doesn't have a relid data" }

```

whmcs/delete_contact

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: delete_contact
contact_id int ID контакта для удаления
location string Локация биллинга (WHMCS location)
token string API-токен аутентификации

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

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

``` { "code": -1, "message": "verification failed, subcontact not found" }

```

whmcs/download_invoice

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: download_invoice
token string Токен авторизации
invoice_id int ID инвойса
proforma_invoice int Флаг проформы (0 или 1)
viewpdf int 1 — открыть в браузере (inline), 0 — скачать как файл (attachment)

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=download_invoice" \
--data "token=HOSTKEY_TOKEN" \
--data "invoice_id=VALUE"
Пример успешного ответа
{
"result": "success",
"message": "base64_encoded_pdf_content"
}
Примеры ошибок

``` { "code": -1, "message": "Invalid invoice id" }

```

whmcs/generate_due_invoice

Генерирует следующий счет для оплаты (due invoice) в WHMCS. Блокируется, если у клиента есть неоплаченные счета или если текущий цикл оплаты еще не завершен.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: generate_due_invoice
id int ID сервера/услуги для генерации счета
token string Токен авторизации

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

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

``` { "next_invoice_blocked_by_upgrade": { "result": -1, "error": "next_invoice_blocked_by_upgrade" }, "next_invoice_blocked_by_due_date": { "result": -1, "error": "next_invoice_blocked_by_due_date" }, "next_invoice_unpaid_exists": { "result": -1, "error": "next_invoice_unpaid_exists" } }

```

whmcs/get_billing_data

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_billing_data
id int ID сервера
token string Токен авторизации
notes string Параметр notes (обнаружен в коде)
groupdata string Параметр groupdata (обнаружен в коде)
customer_name string Параметр customer_name (обнаружен в коде)
eu_b2c string Параметр eu_b2c (обнаружен в коде)
eu_withdrawal string Параметр eu_withdrawal (обнаружен в коде)
billing_cycle string Параметр billing_cycle (обнаружен в коде)
eu_withdrawal_licenses string Параметр eu_withdrawal_licenses (обнаружен в коде)

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST|GET \
--data "action=get_billing_data" \
--data "id=VALUE" \
--data "token=HOSTKEY_TOKEN" \
--data "notes=VALUE" \
--data "groupdata=VALUE" \
--data "customer_name=VALUE" \
--data "eu_b2c=VALUE" \
--data "eu_withdrawal=VALUE" \
--data "billing_cycle=VALUE" \
--data "eu_withdrawal_licenses=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "get_billing_data",
"eu_b2c": 0,
"eu_withdrawal": 1,
"eu_withdrawal_licenses": [
{
"name": "Windows License",
"amount": 49.99,
"currency": "EUR"
}
],
"billing_cycle": "Monthly",
"customer_name": "John Doe"
}
Примеры ошибок

``` { "code": -1, "message": "Server not found" }

```

whmcs/get_cancellation_requests

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_cancellation_requests
id int ID сервера для получения запросов по конкретному ресурсу. Если не указан, поиск идет по пользователю.
user_id int ID пользователя (в контексте customer).
location string Локация биллинга.
period_from string Дата начала периода (формат YYYY-MM-DD).
period_to string Дата окончания периода (формат YYYY-MM-DD).
cancellation_type string Тип отмены для фильтрации.
billing_status string Статус биллинга (например, Paid, Unpaid).
token string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_cancellation_requests" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"message": [
{
"relid": 123,
"cr_date": "2024-05-20 14:30:00",
"cr_reason": "User requested cancellation",
"cr_type": "End of Billing Period",
"name_client": "John Doe",
"due_date": "2024-06-01",
"account_id": 55,
"billing": "whmcs_ru",
"status": "Active",
"corporate": "N"
}
]
}
Примеры ошибок

``` { "code": -1, "message": "Invalid billing location" }

```

whmcs/get_client

Возвращает подробную информацию о авторизованном клиенте, включая данные из WHMCS (профиль, группа, валюта) и внутренние данные системы (теги, статус верификации). При параметре full возвращается расширенный набор данных.

HTTP-метод: POST|GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_client" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"client": {
"id": 123,
"firstname": "John",
"lastname": "Doe",
"email": "user@example.com",
"companyname": "Example Corp",
"countrycode": "US",
"currency_code": "USD",
"groupid": 1,
"corporate": 0,
"active_since": "2023-01-15",
"customfields": {}
},
"billing_location": "whmcs_itb",
"internal": {
"id": 456,
"email": "user@example.com",
"corporate": 0,
"active_since": "2023-01-15"
},
"groupdata": {
"id": 1,
"groupname": "Standard Users"
}
}
Примеры ошибок

``` { "code": -1, "message": "Request failed for client@location: error message" }

```

whmcs/get_clientgroups

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_clientgroups
token string Токен авторизации
location string Локация биллинга (например, whmcs_ru)

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_clientgroups" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_clientgroups",
"data": {
"groups": [
{
"id": 1,
"groupname": "VIP Customers"
},
{
"id": 2,
"groupname": "Test Group"
}
]
}
}
Примеры ошибок

``` { "code": -1, "message": "Invalid request or billing location not found" }

```

whmcs/get_contacts

Возвращает список дополнительных контактов, привязанных к клиенту в WHMCS. Если указан email subaccount, возвращаются только те контакты, которые имеют соответствующие права доступа.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_contacts
token string Токен авторизации
email string Email subaccount для фильтрации контактов (если не указан, возвращаются все контакты клиента)

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_contacts" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"permission_contacts_granted": true,
"contacts": {
"contact": [
{
"id": 123,
"email": "user@example.com",
"firstname": "John",
"lastname": "Doe",
"permissions": "contacts"
}
]
},
"client": {
"id": 456,
"email": "main_user@example.com",
"firstname": "Main",
"lastname": "User"
},
"billing_location": "whmcs_ru"
}
Примеры ошибок

``` { "code": -1, "message": "fail to get contacts list" }

```

whmcs/get_invoice

Возвращает детальную информацию о счете из WHMCS, включая данные клиента и список позиций (items).

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_invoice
invoice_id int ID счета
token string Токен авторизации
load_client_data int Флаг загрузки данных клиента (1 - загружать)

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_invoice" \
--data "invoice_id=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"billing": "whmcs_ru",
"currencycode": "RUB",
"userid": 123,
"status": "Unpaid",
"items": {
"item": [
{
"inv_id": 50,
"type": "Hosting",
"description": "Monthly Subscription",
"amount": 15.0
}
]
},
"customer": {
"client": {
"firstname": "John",
"lastname": "Doe",
"email": "john@example.com"
}
}
}
Примеры ошибок

``` { "code": -1, "message": "invalid invoice id 0 at whmcs_ru" }

```

whmcs/get_invoices

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

HTTP-метод: POST|GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_invoices" \
--data "token=HOSTKEY_TOKEN" \
--data "client_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"invoices": [
{
"invoiceid": 1024,
"invoicenum": "INV-1024",
"date": "2023-10-01",
"total": 29.99,
"status": "Paid"
}
]
}
Примеры ошибок

``` { "code": -1, "message": "Invalid client id" }

```

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_related_invoices
id int ID сервера (product_id)
account_id int ID аккаунта для поиска инвойсов
token string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_related_invoices" \
--data "id=123" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"invoices": [
{
"invoiceid": 12345,
"userid": 678,
"status": "Paid",
"total": 29.99,
"date": "2024-05-20"
}
]
}
Примеры ошибок

``` { "code": -1, "message": "Invalid billing location $location" }

```

whmcs/getcredits

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

HTTP-метод: POST

Параметры:

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

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

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

``` { "code": -1, "message": "failed to retrive account history at WHMCS_LOCATION, please contact support - [error]" }

```

whmcs/getpaymentgw

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
token string Токен авторизации
invoice_id int ID инвойса для получения доступных методов оплаты

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "token=HOSTKEY_TOKEN" \
--data "invoice_id=123"
Пример успешного ответа
{
"result": "OK",
"methods": {
"stripe": {
"call": "<a href=\"https://billing.hostkey.com/viewinvoice.php?id=123\">Pay Now</a>"
},
"paypalcheckout": {
"call": "<input type=\"submit\" class=\"btn btn-xl btn-block btn-outline-dark rounded btn-sm\" value=\"Pay Now\" />"
},
"banktransfer": {
"call": "<span>Please wire funds in favor of:&nbsp;...</span>"
}
}
}
Примеры ошибок

``` { "code": -1, "message": "Invalid billing location or invalid invoice" }

```

whmcs/mass_pay

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: mass_pay
invoices[] array Массив ID инвойсов для оплаты
token string API-токен аутентификации

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

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

``` { "code": -1, "message": "mass_pay_requires_2_invoices" }

```

whmcs/request_cancellation

Инициирует процесс отмены заказа или подписки в WHMCS. Проверяет наличие активных лицензий, статус оплаты инвойсов и возможность возврата средств (включая правила EU B2C). При наличии задолженностей по трафику может рассчитать сумму удержания.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
id integer ID сервера для отмены
cancellation_type integer Тип отмены (1 - немедленная)
cancellation_reason string Причина отмены заказа
token string Токен авторизации
billing string Местоположение биллинга (location)
clientid integer ID клиента в WHMCS
email string Email пользователя для уведомления
refund float Сумма возврата
currency string Валюта возврата
service_price float Цена услуги для расчета
refund_message string Текст сообщения о возврате (EN)
refund_message_short string Краткий текст сообщения о возврате (EN)
refund_message_inv string Текст для инвойса о частичном возврате
last_invoice integer ID последнего инвойса
prev_invoice_id integer ID предыдущего инвойса для учета переплаты
tax float Сумма налога (VAT)
vat_extra boolean Флаг включения VAT в сумму возврата
rec_before_tax float Сумма до налогов для корректного формирования инвойса
d_deploy_time string Дата развертывания (для EU B2C)
d_bill_time string Время биллинга
d_reccuring string Рекуррентный платеж
d_period string Период биллинга
cbp_adjusted boolean Флаг корректировки CBP

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "id=123" \
--data "token=YOUR_TOKEN" \
--data "billing=location_name" \
--data "clientid=456" \
--data "email=user@example.com"
Пример успешного ответа
{
"result": "OK"
}
Примеры ошибок

``` { "code": -3, "message": "whmcs_immediate_cancellation_no_invoices" }

```

whmcs/request_subscription_cancellation

Инициирует процесс отмены банковской подписки для сервера, создавая тикет в JIRA и помечая сервер соответствующим тегом.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: request_subscription_cancellation
id int ID сервера
cancellation_type string Тип отмены (например, 1)
cancellation_reason string Причина отмены
token string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=request_subscription_cancellation" \
--data "id=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"ticket": "JIRA-1234",
"data": {
"account_id": 12345,
"amount": 0.0,
"billing": "whmcs_itb",
"cancellation_reason": "User requested cancellation",
"cancellation_type": "1",
"clientid": 9876,
"created": "2024-01-01 12:00:00",
"currency": "USD",
"customfields": "{}",
"dc_location": "NL",
"description": "Server subscription cancellation",
"displayid": "S12345",
"email": "user@example.com",
"hwconfig": {},
"invoiceid": 0
}
}
Примеры ошибок
{
"code": -1,
"message": "sub_cancel_jira_error",
"details": {
"ticket": "EXISTING_TICKET_ID"
}
}

whmcs/reset_password

Позволяет инициировать процесс сброса пароля (отправка ссылки на email) или завершить его, используя токен восстановления и 2FA код.

HTTP-метод: POST

Параметры:

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

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

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

``` { "code": -1, "message": "invalid request, user@domain.tld is not email" }

```

whmcs/transactions

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

HTTP-метод: POST

Параметры:

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

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

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

``` { "code": -1, "message": "failed to retrive transactions - error_message" }

```

whmcs/update_client

Обновляет информацию о клиенте в WHMCS и локальной базе данных, включая контактные данные, настройки 2FA, IP-ACL и кастомные поля (custom fields). При изменении email или телефона может потребоваться повторная верификация.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: update_client
client_id int ID клиента в локальной базе данных
location string Локация биллинга (например, whmcs_ru)
profile_data[billing_email] string Новый email клиента
profile_data[billing_firstname] string Имя клиента
profile_data[billing_lastname] string Фамилия клиента
profile_data[co_smsnum] string Номер телефона (проходит верификацию)
profile_data[ips] string Список IP-адресов для ACL через запятую или пробел
profile_data[co_customertype] string Тип клиента (Individual/Company)
profile_data[tg_username] string Username в Telegram (@username)
profile_data[co_secret] string Секретное слово для проверки профиля
token string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=update_client" \
--data "client_id=12345" \
--data "location=whmcs_ru" \
--data "profile_data[billing_email]=user@example.com" \
--data "token=YOUR_API_TOKEN"
Пример успешного ответа
{
"result": "OK",
"clientid": 12345,
"location": "whmcs_ru",
"billing_email": "user@example.com",
"firstname": "John",
"lastname": "Doe",
"customfields": "base64_encoded_string"
}
Примеры ошибок

``` { "code": -1, "message": "invalid profile data: first name contain incorrect symbols" }

```

whmcs/update_contact

Обновляет данные существующего контакта клиента (имя, фамилия, email, телефон) в системе WHMCS. При изменении email или телефона может потребоваться повторная верификация.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: update_contact
params[contact_id] int ID контакта для обновления
params[email] string Email пользователя
params[firstname] string Имя контакта
params[lastname] string Фамилия контакта
params[phonenumber] string Номер телефона (автоматически транслитерируется)
params[password1] string Новый пароль
params[password2] string Подтверждение нового пароля
token string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=update_contact" \
--data "params[contact_id]=VALUE" \
--data "params[email]=user@example.com" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"contactid": 123,
"email": "user@example.com",
"firstname": "John",
"lastname": "Doe",
"phonenumber": "+79001234567"
}
Примеры ошибок

``` { "code": -1, "message": "fill_required_fields" }

```

question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×