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

whmcs.php

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

Методы API

Метод Действие Описание
add_contact добавление контакта Добавляет дополнительного контактного пользователя для клиента в WHMCS. Если тип запроса не указан, создается случайный контакт с рандомным email.
apply_credit применение кредита к инвойсу Применяет доступный баланс (кредит) клиента для оплаты конкретного неоплаченного инвойса. Если оплата проходит успешно, статус инвойса меняется на Paid.
create_addfunds создание инвойса на пополнение баланса Создает инвойс в WHMCS для пополнения баланса клиента (Add Funds). Поддерживает автоматическую подписку при минимальной сумме.
delete_cancellation_request удаление запроса на отмену Удаляет существующий запрос на отмену услуги для конкретного сервера, позволяя восстановить статус оплаты или сгенерировать новый счет.
delete_contact удаление контакта Удаляет дополнительный контакт клиента из системы WHMCS и очищает связанные данные в локальной базе данных.
download_invoice скачивание инвойса Возвращает PDF-файл инвойса в формате base64. Позволяет просматривать инвойс (inline) или скачивать его как файл.
generate_due_invoice генерация счета на оплату Генерирует следующий приходящий счет (due invoice) для сервера в WHMCS, учитывая текущие аддоны и статус оплаты предыдущих счетов.
get_billing_data получение данных о биллинге сервера Возвращает подробную информацию о биллинговых данных конкретного сервера, включая данные из WHMCS, статус 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 withdrawal). При наличии задолженностей по трафику сумма возврата корректируется.
request_subscription_cancellation запрос на отмену подписки Инициирует процесс отмены банковской подписки для сервера. Проверяет наличие активной подписки, статус оплаты и создает тикет в JIRA.
reset_password сброс пароля Позволяет сбросить пароль клиента. Если токен не предоставлен, отправляется ссылка на почту. Если токен валиден, выполняется проверка 2FA и смена пароля.
transactions получение транзакций клиента Возвращает список финансовых транзакций пользователя, связанных с его аккаунтом в WHMCS.
update_client обновление данных клиента Обновляет профиль клиента в WHMCS, включая персональные данные (имя, email), контактную информацию и кастомные поля. Поддерживает проверку уникальности email и валидацию телефонных номеров.
update_contact обновление контакта Обновляет данные дополнительного контакта (имя, фамилия, email, телефон) для существующего клиента в WHMCS.

whmcs/add_contact

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: add_contact
type integer Тип запроса (0 - создание случайного контакта, 1 - добавление существующего)
profile_data[firstname] string Имя контакта (обязательно для RU и при добавлении существующего)
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"
}
Примеры ошибок

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

```

whmcs/apply_credit

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: apply_credit
invoice_id int ID инвойса для оплаты
amount float Сумма кредита для применения
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",
"invoiceid": 12345,
"amount": 50.0
}
Примеры ошибок

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

```

whmcs/create_addfunds

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
amount number Сумма пополнения
description string Описание платежа
subscribe boolean Включить автоматическое продление (подписку), если сумма минимальна
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,
"currency": "USD",
"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 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",
"action": "delete_cancellation_request",
"data": {
"result": "success"
}
}
Примеры ошибок

``` { "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 контакта для удаления
location string Локация (billing 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": 12345,
"status": "success"
}
}
Примеры ошибок

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

```

whmcs/download_invoice

Возвращает PDF-файл инвойса в формате base64. Позволяет просматривать инвойс (inline) или скачивать его как файл.

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: download_invoice
token string Токен авторизации
id int ID инвойса
invoice_id int Альтернативный ID инвойса (используется в функции)
proforma_invoice int Флаг использования проформы-инвойса
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 "id=12345"
Пример успешного ответа
{
"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 сервера (eq_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": 49.99,
"currency": "USD",
"status": "Unpaid"
}
]
}
Примеры ошибок

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

```

whmcs/get_billing_data

Возвращает подробную информацию о биллинговых данных конкретного сервера, включая данные из WHMCS, статус 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",
"customer_name": "John Doe",
"eu_b2c": 0,
"eu_withdrawal": 0,
"eu_withdrawal_licenses": [
{
"name": "Windows License",
"amount": 15.0,
"currency": "EUR"
}
]
}
Примеры ошибок

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

```

whmcs/get_cancellation_requests

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_cancellation_requests
id int ID сервера для получения запросов по конкретному оборудованию. Если не указан, поиск идет по пользователю.
user_id int ID пользователя для получения всех его запросов на отмену.
location string Локация биллинга (например, whmcs, COM, RU).
period_from string Дата начала периода фильтрации.
period_to string Дата окончания периода фильтрации.
cancellation_type string Тип отмены для фильтрации (например, 'End of Billing Period').
billing_status string Статус биллинга для фильтрации.
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-20",
"account_id": 55,
"billing": "whmcs_ru",
"corporate": "N",
"customer_id": 10,
"status": "Active"
}
]
}
Примеры ошибок

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

```

whmcs/get_client

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_client
token string Токен авторизации
full boolean Если true, возвращает расширенный набор данных (включая контактные данные и группы)
client string Параметр client (обнаружен в коде)
billing_location string Параметр billing_location (обнаружен в коде)
groupdata string Параметр groupdata (обнаружен в коде)
internal string Параметр internal (обнаружен в коде)

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST|GET \
--data "action=get_client" \
--data "token=HOSTKEY_TOKEN" \
--data "client=VALUE" \
--data "billing_location=VALUE" \
--data "groupdata=VALUE" \
--data "internal=VALUE"
Пример успешного ответа
{
"result": "OK",
"action": "get_client",
"client": {
"id": 12345,
"firstname": "John",
"lastname": "Doe",
"email": "user@example.com",
"companyname": "Example Corp",
"status": "Active",
"currency_code": "USD",
"countrycode": "US",
"phonenumber": "+1234567890",
"address1": "Main St 1",
"city": "New York",
"state": "NY",
"postcode": "10001",
"country": "United States",
"groupid": 1,
"corporate": 0
},
"billing_location": "whmcs_com",
"internal": {
"id": 12345,
"email": "user@example.com",
"active_since": "2023-01-15"
},
"groupdata": null
}
Примеры ошибок

``` { "code": -1, "message": "Request failed for 12345@whmcs_com: client not found" }

```

whmcs/get_clientgroups

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

HTTP-метод: POST|GET

Параметры:

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

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

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": "Retail Customers"
},
{
"id": 2,
"groupname": "Resellers"
}
]
}
}
Примеры ошибок

``` { "code": -1, "message": "Invalid token or access denied" }

```

whmcs/get_contacts

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

HTTP-метод: POST|GET

Параметры:

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

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

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

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_invoice
token string Токен авторизации
invoice_id integer ID счета
load_client_data boolean Загрузить данные клиента вместе со счетом

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

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

``` { "result": "-1", "error": "Invalid invoice id 456 at whmcs", "code": -1 }

```

whmcs/get_invoices

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

HTTP-метод: POST|GET

Параметры:

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

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

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

``` { "result": "-1", "message": "Invalid client id or billing location error" }

```

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: get_related_invoices
id int ID сервера (relid)
account_id int ID аккаунта клиента в WHMCS
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": 678,
"status": "Paid",
"total": 50.0,
"date": "2024-05-20"
}
]
}
Примеры ошибок

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

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

```

whmcs/getpaymentgw

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

HTTP-метод: POST|GET

Параметры:

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

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

curl -s "https://invapi.hostkey.ru/whmcs.php" -X POST \
--data "action=getpaymentgw" \
--data "id=123" \
--data "token=YOUR_TOKEN"
Пример успешного ответа
{
"result": "OK",
"methods": {
"stripe": {
"call": "<span style='text-align:left'><p data-intl='please_wire_funds_in_favor'>Please wire funds in favor of:&nbsp;</p>https://invapi.hostkey.com?invoice_id=123"
},
"banktransfer": {
"call": "<span style='text-align:left'><p data-intl='please_wire_funds_in_favor'>Please wire funds in favor of:&nbsp;</p>https://billing.hostkey.com/viewinvoice.php?id=123"
}
}
}
Примеры ошибок

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

```

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

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

```

whmcs/request_cancellation

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

HTTP-метод: POST

Параметры:

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

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

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

``` { "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_no_active_subscription" }

```

whmcs/reset_password

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
action string Идентификатор метода: reset_password
token string Токен для авторизации запроса
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.",
"2fa": 1,
"code": "string"
}
Примеры ошибок

``` { "code": -1, "message": "Invalid password reset token, please try again." }

```

whmcs/transactions

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

HTTP-метод: POST|GET

Параметры:

Параметр Обязательный Тип Описание
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,
"currency": "USD",
"date": "2024-05-20T10:30:00Z",
"description": "Payment for invoice #12345",
"status": "Completed"
}
]
}
Примеры ошибок

``` { "code": -1, "message": "\(module/\)action: failed to retrive transactions - error_details" }

```

whmcs/update_client

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

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_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[form_id] string ID формы для определения обязательных полей

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

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

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

```

whmcs/update_contact

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

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]=67890" \
--data "params[email]=user@example.com" \
--data "params[firstname]=Ivan" \
--data "token=YOUR_API_TOKEN"
Пример успешного ответа
{
"result": "OK",
"clientid": 12345,
"location": "whmcs_ru",
"contact_id": 67890,
"billing_email": "user@example.com"
}
Примеры ошибок

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

```

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