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

whmcs.php

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

Методы API

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

whmcs/add_contact

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
type integer Тип операции (0 - создание случайного контакта)
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 Номер телефона контакта (проходит верификацию)
token string API-токен аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "type=0" \
--data "profile_data[firstname]=Иван" \
--data "profile_data[lastname]=Иванов" \
--data "profile_data[email]=ivan@example.com" \
--data "profile_data[password1]=StrongPass123!" \
--data "profile_data[password2]=StrongPass123!" \
--data "token=YOUR_API_TOKEN"
Пример успешного ответа
{
"result": "OK",
"contactid": 12345,
"clientid": 12345
}
Примеры ошибок

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

```

whmcs/apply_credit

Применяет доступный баланс (кредит) клиента для оплаты выбранного инвойса. Если сумма кредита больше суммы инвойса, применяется только необходимая часть.

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 "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "success",
"invoiceid": 123,
"amount": 50.0,
"status": "Paid"
}
Примеры ошибок

``` { "code": -1, "message": "WHMCS ApplyCredit failed: {\"result\":\"error\",\"error\":\"...\"}" }

```

whmcs/create_addfunds

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

whmcs/delete_cancellation_request

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

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"
Пример успешного ответа
{
"result": "OK",
"message": "Cancellation request removed"
}
Примеры ошибок

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

```

whmcs/delete_contact

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: delete_contact
contact_id int ID контакта для удаления
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",
"clientid": 12345
}
Примеры ошибок

``` { "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=12345"
Пример успешного ответа
{
"result": "success",
"message": "base64_encoded_pdf_content"
}
Примеры ошибок

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

```

whmcs/generate_due_invoice

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: generate_due_invoice
id int ID сервера
serviceids[] int[] Массив ID сервисов для генерации счетов.
addonids[] int[] Массив ID аддонов для включения в счет.
token string API-токен аутентификации

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

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

``` { "next_invoice_blocked_by_upgrade": { "code": -1, "message": "next_invoice_blocked_by_upgrade" }, "next_invoice_blocked_by_due_date": { "code": -1, "message": "next_invoice_blocked_by_due_date" }, "next_invoice_unpaid_exists": { "code": -1, "message": "next_invoice_unpaid_exists" } }

```

whmcs/get_billing_data

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=get_billing_data" \
--data "id=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"client": {
"id": 12345,
"email": "user@example.com",
"firstname": "John",
"lastname": "Doe",
"countrycode": "US",
"currency_code": "USD"
},
"location": "COM",
"eu_b2c": 0,
"eu_withdrawal": 0,
"eu_withdrawal_licenses": []
}
Примеры ошибок

``` { "code": -1, "message": "invalid request" }

```

whmcs/get_cancellation_requests

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_cancellation_requests
id int ID сервера для получения запросов по конкретному ресурсу. Если не указан, поиск идет по пользователю.
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": 12345,
"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",
"billing": "whmcs_ru",
"account_id": 55,
"status": "Active",
"corporate": "N"
}
]
}
Примеры ошибок

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

```

whmcs/get_client

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
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",
"status": "Active",
"corporate": 0,
"currency_code": "USD",
"countrycode": "US",
"billing_location": "whmcs_itb",
"groupdata": {
"id": 1,
"groupname": "Premium Users"
},
"internal": {
"id": 123,
"email": "user@example.com",
"corporate": 0
}
}
}
Примеры ошибок

``` { "code": -1, "message": "whmcs_get_client: Invalid request clientid@location" }

```

whmcs/get_clientgroups

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

HTTP-метод: POST|GET

Параметры:

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

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

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

``` { "code": -1, "message": "Billing error: WHMCS connection failed" }

```

whmcs/get_contacts

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

whmcs/get_invoice

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

HTTP-метод: POST

Параметры:

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

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

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

``` { "code": -1, "message": "invalid invoice id 123 at whmcs" }

```

whmcs/get_invoices

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

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

HTTP-метод: POST|GET

Параметры:

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

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

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

``` { "result": -1, "action": "get_related_invoices", "error": "server $id are not linked to the billing" }

```

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",
"message": 150.5
}
Примеры ошибок

``` { "code": -1, "message": "failed to retrive account history at LOC, please contact support - error_details" }

```

whmcs/getpaymentgw

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

HTTP-метод: POST|GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=getpaymentgw" \
--data "token=YOUR_TOKEN" \
--data "invoice_id=123"
Пример успешного ответа
{
"result": "OK",
"methods": {
"stripe": {
"call": "https://invapi.hostkey.com?invoice_id=123&action=pay"
},
"paypalcheckout": {
"call": "<span style='text-align:left'><p data-intl='please_wire_funds_in_favor'>Please wire funds in favor of:&nbsp;</p><a href=\"https://invapi.hostkey.com?invoice_id=123\">Pay Now</a></span>"
},
"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
invoices[] array<int> Массив ID инвойсов для оплаты. Принимает несколько значений: invoices[]=1&invoices[]=2
token string API-токен аутентификации

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

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

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

```

whmcs/request_cancellation

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: request_cancellation
id int ID сервера для отмены
cancellation_type int Тип отмены (например, 1 для немедленной)
cancellation_reason string Причина отмены заказа
token string Токен авторизации
billing string Местоположение биллинга (location)
clientid int ID клиента в WHMCS
email string Email пользователя
refund float Сумма возврата
currency string Валюта возврата
service_price float Цена услуги
refund_message string Текст сообщения о возврате
refund_message_short string Краткий текст сообщения о возврате
last_invoice int ID последней инвойс-позиции (last_inv_id)
prev_invoice_id int ID предыдущего инвойса для учета перерасхода
relid int Account ID (service_relid)
tax float Сумма налога
vat_extra boolean Флаг наличия VAT extra
rec_before_tax float Сумма до налогов
d_deploy_time string Дата деплоя (deploy_date)
d_bill_time string Текущее время запроса
d_reccuring float Рекуррентный платеж (rec)
d_period string Billing cycle
cbp_adjusted string Сообщение о корректировке CBP

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

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

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

```

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=123" \
--data "token=YOUR_API_TOKEN"
Пример успешного ответа
{
"result": "OK",
"ticket": "JIRA-12345"
}
Примеры ошибок

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

```

whmcs/reset_password

Инициирует процесс сброса пароля. Если токен не предоставлен, отправляет ссылку на email. Если токен валиден, проверяет 2FA и обновляет пароль.

HTTP-метод: POST

Параметры:

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

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

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

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

```

whmcs/transactions

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

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",
"action": "transactions",
"transactions": [
{
"id": 12345,
"amount": 50.0,
"date": "2024-05-20T10:30:00Z",
"description": "Payment for invoice #123",
"status": "Completed"
}
]
}
Примеры ошибок

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

```

whmcs/update_client

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

HTTP-метод: POST

Параметры:

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

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

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

``` { "code": -1, "message": "invalid profile data: billing_email can't be empty" }

```

whmcs/update_contact

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

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