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

whmcs.php

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

Методы API

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

whmcs/add_contact

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

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=add_contact" \
--data "profile_data[firstname]=VALUE" \
--data "profile_data[email]=VALUE" \
--data "profile_data[password1]=VALUE" \
--data "profile_data[password2]=VALUE" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"clientid": 12345,
"firstname": "John",
"lastname": "Doe",
"email": "john.doe@example.com",
"status": "success"
}
Примеры ошибок

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

```

whmcs/apply_credit

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

HTTP-метод: POST

Параметры:

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

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

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

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

```

whmcs/create_addfunds

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

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" \
--data "description=Top up balance" \
--data "subscribe=true"
Пример успешного ответа
{
"result": "OK",
"action": "create_addfunds",
"invoice": {
"id": 12345,
"total": 50.0,
"status": "Unpaid",
"currency": "USD"
},
"message": "Invoice 12345 created"
}
Примеры ошибок

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

```

whmcs/delete_cancellation_request

Удаляет существующий запрос на отмену услуги (cancellation request) для конкретного сервера, что позволяет восстановить процесс или очистить статус ожидания.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: delete_cancellation_request
id integer ID сервера (relid), для которого нужно удалить запрос на отмену
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",
"message": "Cancellation request removed"
}
Примеры ошибок

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

```

whmcs/delete_contact

Удаляет дополнительный контакт клиента из системы WHMCS и очищает связанные данные в InvAPI.

HTTP-метод: POST

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=delete_contact" \
--data "token=HOSTKEY_TOKEN" \
--data "contact_id=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "delete_contact",
"data": {
"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=VALUE"
Пример успешного ответа
{
"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 сервера (entity 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": 12345,
"amount": 29.99,
"currency": "USD",
"status": "Unpaid"
}
]
}
Примеры ошибок

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

```

whmcs/get_billing_data

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

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",
"module": "whmcs",
"action": "get_billing_data",
"customer": {
"id": 1,
"email": "example@test.com",
"firstname": "John",
"lastname": "Doe",
"companyname": "Company",
"address1": "Address",
"address2": "",
"city": "City",
"state": "State",
"countrycode": "RU",
"postcode": "123456",
"phonenumber": "79001234567",
"clientid": 1,
"account_id": 1,
"billing": "whmcs_ru",
"corporate": 0,
"currency": "RUB",
"email_verified": "verified"
},
"location": "RU",
"customer_name": "John Doe",
"eu_withdrawal": 1
}
Примеры ошибок

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

```

whmcs/get_cancellation_requests

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

HTTP-метод: POST

Параметры:

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

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

```

whmcs/get_client

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

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|success",
"client": {
"id": 123,
"firstname": "John",
"lastname": "Doe",
"email": "user@example.com",
"companyname": "Example Corp",
"countrycode": "US",
"currency_code": "USD",
"status": "Active",
"corporate": 0,
"inn": "",
"contractnum": ""
},
"billing_location": "whmcs_itb",
"internal": {
"id": 123,
"email": "user@example.com",
"corporate": 0,
"active_since": "2024-01-15"
},
"groupdata": {
"id": 1,
"groupname": "Premium Customers"
}
}
Примеры ошибок

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

```

whmcs/get_clientgroups

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_clientgroups
location string Локация (billing location) для получения групп
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",
"description": "Premium support group"
},
{
"id": 2,
"groupname": "Standard",
"description": "Default billing group"
}
]
}
}
Примеры ошибок

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

```

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": [
{
"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|GET

Параметры:

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

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

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
}
]
},
"currencycode": "USD",
"billing": "whmcs",
"userid": 12345,
"client": {
"firstname": "John",
"lastname": "Doe"
}
}
Примеры ошибок

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

```

whmcs/get_invoices

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

HTTP-метод: POST|GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST|GET \
--data "action=get_invoices" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"totalresults": 10,
"numreturned": 5,
"invoices": {
"invoice": [
{
"id": 12345,
"userid": 10,
"status": "Paid",
"date": "2024-01-01",
"total": 50.0,
"currency_code": "USD"
}
]
}
}
Примеры ошибок

``` { "result": -1, "error": "Invalid client id" }

```

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_related_invoices
account_id int ID аккаунта в WHMCS. Если не указан, определяется автоматически по 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": [
{
"id": 123,
"userid": 45,
"status": "Paid",
"total": 50.0,
"currency": "USD",
"date": "2024-01-01"
}
]
}
Примеры ошибок

``` { "code": -1, "message": "server $id are not linked to the billing" }

```

whmcs/getcredits

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

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

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

```

whmcs/getpaymentgw

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
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": "<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\" />"
}
}
}
Примеры ошибок

``` { "code": -1, "message": "failed to retrive payment gw list: error message" }

```

whmcs/mass_pay

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: mass_pay
invoices[] array Массив ID инвойсов для оплаты. Минимум 2 значения.
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": 12345
}
Примеры ошибок

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

```

whmcs/request_cancellation

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
id int ID сервера для отмены
cancellation_type string Тип отмены (1 - немедленная)
cancellation_reason string Причина отмены
refund number Сумма возврата
currency string Валюта возврата
service_price number Стоимость услуги для расчета
refund_message string Сообщение о возврате (RU/EN)
refund_message_short string Краткое сообщение о возврате
last_invoice int ID последней инвойс-позиции для расчета
prev_invoice_id int ID предыдущего инвойса
relid int Связанный ID (account_id)
vat_extra boolean Включен ли НДС в сумме возврата
rec_before_tax number Сумма до налогов
d_deploy_time string Дата развертывания (для расчета)
d_reccuring string Периодичность оплаты
cbp_adjusted string Сообщение о корректировке CBP
token string API-token аутентификации

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "id=123" \
--data "last_invoice=456" \
--data "relid=789" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"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",
"message": "object (array)",
"data": "object (array)"
}
Примеры ошибок

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

```

whmcs/reset_password

Позволяет сбросить пароль клиента. Если токен не предоставлен, отправляется ссылка на почту. Если токен известен, выполняется проверка 2FA и смена пароля.

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Имя действия (reset_password)
token string Токен для сброса пароля
email string Email пользователя
location string Локация биллинга (по умолчанию Auto)
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.",
"2fa": 1,
"code": "string"
}
Примеры ошибок

``` { "code": -1, "message": "Invalid request or password reset failed" }

```

whmcs/transactions

Возвращает список финансовых транзакций пользователя по указанному 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:00:00Z",
"status": "Completed",
"description": "Payment for invoice #123"
}
]
}
Примеры ошибок

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

```

whmcs/update_client

Обновляет персональные данные клиента (имя, email, телефон), настройки 2FA, информацию о компании и кастомные поля в WHMCS.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
token string Токен авторизации
profile_data[client_id] integer ID клиента в WHMCS
profile_data[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 Номер телефона для SMS-верификации
profile_data[ips] string Список IP-адресов (через разделитель) для ACL
profile_data[co_secret] string Секретное слово профиля
profile_data[billing_twofaenabled] boolean Включена ли двухфакторная аутентификация
profile_data[co_customertype] string Тип клиента (Individual/Company)

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

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

``` { "code": -1, "message": "invalid profile data: billing_firstname 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 Номер телефона (проходит верификацию через twilio)
profile_data[password1] string Новый пароль контакта
profile_data[password2] string Подтверждение пароля
token string API-токен аутентификации

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

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

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

```

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