API позволяет использовать возможности LBX, чтобы обмениваться данными с другими вашими системами. Например, синхронизировать между биллингом и другой системой сведения о ваших клиентах и услугах, которыми они пользуются.
В этом руководстве рассмотрим аутентификацию для использования API и минимальный сценарий подключения подписки для нового клиента, а также изменение подписки.
Для работы с подписками LBX необходимо представлять, как между собой связаны основные сущности системы:
То есть для создания подписки необходимо указать:
На схеме условно показана связь между основными объектами системы.

LBX рассчитывает списания по каждой подписке и списывает средства с договора. Подробнее о том, как выполняются списания.
Обратите внимание: в описанных примерах запросов:
GET /tariffs — получение списка тарифов,GET /tariffs/{tar_id}/periods — получение списка доступных на тарифе периодов,GET /tariffs/{tar_id}/services — получение списка услуг тарифа.Получите токен, используя basicAuth:
curl -X GET 'https://demo.lbxbilling.ru/api/rest/v1/auth' \
-H "Authorization: Basic BASE64_STRING "
Ответ при успешном выполнении запроса:
{
"code": 200,
"response":
{
"expires_in": 600,
"token": "YOUR_API_TOKEN"
}
}
Для аутентификации запроса передайте заголовок с полученным токеном в формате Authorization: Bearer YOUR_API_TOKEN.
При успешном создании объекта API обычно возвращает код 201 Created или 200 OK, а также ID созданного объекта.
Создайте нового клиента через endpoint POST /users.
Данные о клиенте в этом примере:
type — тип клиента: юридическое или физическое лицо (в примере: type = 1 — юридическое лицо),organization — название организации (в примере: “Test organization”),email — в примере: “support@lbxbilling.ru”.Пример запроса на создание клиента:
curl -X POST 'https://demo.lbxbilling.ru/api/rest/v1/users'
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-d '{
"type": 1,
"organization": "Test organization",
"email": "support@lbxbilling.ru"
}'
Ответ при успешном выполнении запроса:
{
"code": 201,
"response": {
"user_id": 6
}
}
Создайте договор через endpoint POST /agreements.
В теле запроса передайте:
user_id — ID клиента (в примере: user_id = 6 — идентификатор клиента, созданного на предыдущем шаге),is_offer — признак договора оферты (в примере: is_offer = false — не является договором оферты),agreement_number — номер договора (в примере: “doc_agrm”). Номер не требуется для договоров оферты,create_date — дату заключения договора.Пример запроса на создание договора:
curl -X POST 'https://demo.lbxbilling.ru/api/rest/v1/agreements' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_TOKEN ' \
-d '{
"user_id": 6,
"is_offer": false,
"agreement_number": "doc_agrm",
"create_date": "2026-03-01"
}'
Ответ при успешном выполнении запроса:
{
"code": 200,
"response": {
"agreement_id": 6
}
}
В примере используется тариф, уже настроенный на демостенде, а также услуги, входящие в этот тариф.
Создайте подписку через endpoint POST /subscriptions.
В теле запроса передайте:
agreement_id — ID договора, к которому будет привязана подписка (в примере: agreement_id = 6 — идентификатор договора, созданного на предыдущем шаге),tariff_id — ID тарифа (в примере: tariff_id = 1)period_id — ID периода тарификации (в примере: period_id = 1. Длина данного периода составляет 1 месяц).Услуги, которые будут назначены в подписке, передаются в массиве services. В нём необходимо указать:
tariff_service_id — ID услуги из тарифа (в примере: tariff_service_id = 1)multiplicator — количество услуги в подписке (в примере: multiplicator = 1.0)Пример запроса на создание подписки с одной услугой:
curl -X POST 'https://demo.lbxbilling.ru/api/rest/v1/subscriptions' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-d '{
"agreement_id": 6,
"description": "Название подписки №1",
"subscription_start_date": "2026-03-01 00:00:00",
"period_id": 1,
"tariff_id":1,
"services": [
{
"tariff_service_id": 1,
"multiplicator": 1.0
}
]
}'
Ответ при успешном выполнении запроса:
{
"code": 200,
"response": {
"subscription_id": 1
}
}
Подписка создана. LBX будет рассчитывать стоимость услуг с заданной периодичностью (согласно настройкам тарифа) и списывать средства с баланса на договоре.
Со временем условия подписки могут меняться. Например, может потребоваться изменить тариф, подключить или отключить услуги, изменить количество предоставляемых услуг. Подобное изменение условий подписки происходит через создание новой версии подписки.
В LBX изменение условий подписки обычно выполняется через создание новой версии подписки (PATCH), чтобы сохранить историю тарификации. Подробнее о том, как устроены версии подписок.
Создайте новую версии подписки через endpoint PATCH /subscriptions/{subscr_id}.
subscr_id — ID подписки, для которой хотите запланировать изменение (в примере: subscr_id = 1 — идентификатор подписки, созданной в предыдущем шаге).change_start_date — дата, с которой вступит в силу новая версия подписки. Тарификация и списания будут происходить уже по изменённым условиям.В примере запроса на создание новой версии подписки:
Пример запроса на создание новой версии подписки:
curl -X PATCH 'https://demo.lbxbilling.ru/api/rest/v1/subscriptions/1' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_API_TOKEN' \
-d '{
"description": "Новое название подписки",
"change_start_date": "2026-04-01 00:00:00",
"period_id": 1,
"tariff_id": 1,
"services": [
{
"tariff_service_id": 1,
"multiplicator": 2,
"modifier": {
"new_price": 150
}
},
{
"multiplicator": 1.000000,
"tariff_service_id": 2
}
]
}'
Полный список методов — в Swagger API LBX.
У вас есть вопросы по этой статье? Пожалуйста, напишите нам