lbapi

package module
v0.32.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 21, 2026 License: MIT Imports: 11 Imported by: 0

README

en ru

license PkgGoDev GitHub Workflow Status Go Report Card Go version FOSSA Status FOSSA Status

LBApi

Implementation of interaction with the LANBilling billing system via the JSON-RPC protocol. This protocol is used by the system to communicate between agents/administrative interface and the system core. Tested on LANBilling 2.0 build 2.0.39.

Requirements

To work with the API, you need to create a manager on whose behalf you will log in to the system and add the host from which you will connect to the core to "trusted hosts" in the tab Options -> Trusted hosts and restart LBcore.

API connection

The client configuration is specified by the ClientConfig structure:

	config := lbapi.ClientConfig{
		Address:         "127.0.0.1:1502", // Core endpoint IP and Port
		Username:        "admin",          // User name
		Password:        "",               // Password
		MaxFails:        5,                // Maximal allowed ping misses before reconnection
		Timeout:         5 * time.Second,  // Connection timeout
		ReconnectPeriod: 10 * time.Second, // Periodical ping and reconnect period
	}

MaxFails, Timeout, ReconnectPeriod are used to maintain connection with the billing. If ReconnectPeriod is set, a periodic request for the server version is launched and if the server does not respond within TimeOut, it is considered unavailable. If the number of times the server was unavailable exceeds MaxFails, the connection will be automatically re-established. If successful, Login will be performed automatically and the events the client was subscribed to will be re-subscribed. This is done for cases when the core was suddenly restarted, but we do not want to "drop" the entire service and lose events.

    log := slog.New(slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{
		Level:       slog.LevelDebug,
	}))

    lb = lbapi.NewClient(config, log)


    err = lb.ConnectAndLogin(ctx)

    if err != nil {
        panic(err)
    }

    defer lb.Close()

Once connected, you can make requests to the API as follows:

	options, err := lb.GetSyncOptions(context.Background(), lbapi.GetSyncOptionsRequest{
		AgentID: 1,
	})

	if err != nil {
		panic(err)
	}

Events subscription

When simulating the agent's work, you can subscribe to "events":

    // Subscribe to specified events
    ok, err := lb.Subscribe(context.Background(), []events.LBEvent{events.ChangeAgentEvent, events.BlockVgEvent})
	if err != nil {
		panic(err)
	}

	if !ok {
        // Server was unable to subscibe
    }

    // Obtain the events channel
    ch := lb.GetEventsChannel()

    for {
        e := <-ch:
        spew.Dump(e)
    }

Events arrive in the channel obtained via the GetEventsChannel method. For testing purposes, all events known to me are added to events.AllLBEvents

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotConnected = errors.New("not connected to LANBilling")
)

Functions

func IPv4MaskString

func IPv4MaskString(m []byte) string

Types

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(cfg ClientConfig, log *slog.Logger, opts ...ClientOption) *Client

NewClient creates a new LanBilling API client

func (*Client) Call

func (api *Client) Call(ctx context.Context, req types.LanbillingRequest, res interface{}) error

Call the LanBilling api

func (*Client) Close

func (api *Client) Close() error

Close all connections to server and clear subscriptions

func (*Client) CloseAgreement

func (api *Client) CloseAgreement(ctx context.Context, request CloseAgreementRequest) (bool, error)

CloseAgreement — закрыть договор.

func (*Client) ConnectAndLogin

func (api *Client) ConnectAndLogin(ctx context.Context) error

ConnectAndLogin - connects to LanBilling server and tries to log in

func (*Client) DelAccount

func (api *Client) DelAccount(ctx context.Context, uid int) (bool, error)

DelAccount — удалить пользователя.

func (*Client) DelRadiusSessions

func (api *Client) DelRadiusSessions(ctx context.Context, request DelRadiusSessionsRequest) (interface{}, error)

DelRadiusSessions - удалить сессии радиуса до того, как агент не синхронизируется

func (*Client) DelVgMacAddr

func (api *Client) DelVgMacAddr(ctx context.Context, recordID int) (bool, error)

DelVgMacAddr — удалить MAC-адрес учётной записи.

func (*Client) DelVgNetwork

func (api *Client) DelVgNetwork(ctx context.Context, recordID int) (bool, error)

DelVgNetwork — удалить сеть учётной записи.

func (*Client) DhcpAcctStart

func (api *Client) DhcpAcctStart(ctx context.Context, request DhcpAcctStartRequest) (bool, error)

DhcpAcctStart — сообщить серверу о старте DHCP-сессии.

func (*Client) DhcpAcctStop

func (api *Client) DhcpAcctStop(ctx context.Context, request DhcpAcctStopRequest) (bool, error)

DhcpAcctStop — сообщить серверу об остановке DHCP-сессии.

func (*Client) GetAccount

func (api *Client) GetAccount(ctx context.Context, uid int) (*types.LBAccountFull, error)

GetAccount — получить полную информацию о пользователе.

func (*Client) GetAccountAddons

func (api *Client) GetAccountAddons(ctx context.Context, uid int) ([]types.AccountAddon, error)

GetAccountAddons Возвращает список дополнительных полей аккаунта

func (*Client) GetAccounts

func (api *Client) GetAccounts(ctx context.Context, filter GetAccountsFilter) ([]types.LBAccount, error)

func (*Client) GetAccountsAddonsSet

func (api *Client) GetAccountsAddonsSet(ctx context.Context, params GetAccountsAddonsSetParams) ([]types.AccountsAddonsSet, error)

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

func (*Client) GetAccountsCount

func (api *Client) GetAccountsCount(ctx context.Context, filter GetAccountsFilter) (int, error)

func (*Client) GetAccountsForRadius

func (api *Client) GetAccountsForRadius(ctx context.Context, request GetAccountsForRadiusRequest) ([]types.AccountForRadius, error)

func (*Client) GetAgent

func (api *Client) GetAgent(ctx context.Context, agentID int) (*types.LBAgentFull, error)

GetAgent — получить полную информацию об агенте.

func (*Client) GetAgentOptions

func (api *Client) GetAgentOptions(ctx context.Context, request GetAgentOptionsRequest) ([]types.AgentOption, error)

func (*Client) GetAgents

func (api *Client) GetAgents(ctx context.Context, request GetAgentsRequest) ([]types.LBAgent, error)

func (*Client) GetAgreements

func (api *Client) GetAgreements(ctx context.Context, request GetAgreementsRequest) (*GetAgreementsResponse, error)

GetAgreements — получить список договоров пользователя.

func (*Client) GetBillDeliveryMethods

func (api *Client) GetBillDeliveryMethods(ctx context.Context, request GetBillDeliveryMethodsRequest) (*GetBillDeliveryMethodsResponse, error)

GetBillDeliveryMethods — получить список способов доставки счетов.

func (*Client) GetCategoryModifiers

func (api *Client) GetCategoryModifiers(ctx context.Context, request GetCategoryModifiersRequest) ([]types.CategoryModifier, error)

func (*Client) GetCurrencies

func (api *Client) GetCurrencies(ctx context.Context) ([]types.LBCurrency, error)

GetCurrencies — получить список валют.

func (*Client) GetDeviceGroups

func (api *Client) GetDeviceGroups(ctx context.Context, request GetDeviceGroupsRequest) ([]types.LBDeviceGroup, error)

GetDeviceGroups Возвращает информацию о группах операторского оборудования

func (*Client) GetDictionary

func (api *Client) GetDictionary(ctx context.Context, request GetDictionaryRequest) ([]types.Dictionary, error)

func (*Client) GetEpsAgreementsParams

func (api *Client) GetEpsAgreementsParams(ctx context.Context, agrmID int) ([]types.LBEpsAgreementParam, error)

GetEpsAgreementsParams — получить параметры договора для ЕПС.

func (*Client) GetEventsChannel

func (api *Client) GetEventsChannel() events.Channel

GetEventsChannel returns EventsChannel which will receive notifications to subscribed events

func (*Client) GetFreeNetworksCount

func (api *Client) GetFreeNetworksCount(ctx context.Context, request GetFreeNetworksRequest) (int, error)

GetFreeNetworksCount — получить количество свободных подсетей.

func (*Client) GetGPONPorts

func (api *Client) GetGPONPorts(ctx context.Context, request GetGPONPortsRequest) ([]types.GPONPort, error)

func (*Client) GetGroupsExt

func (api *Client) GetGroupsExt(ctx context.Context, request GetGroupsExtRequest) (*GetGroupsExtResponse, error)

GetGroupsExt — получить список групп учётных записей с расширенной информацией.

func (*Client) GetGroupsStaff

func (api *Client) GetGroupsStaff(ctx context.Context, request GetGroupsStaffRequest) ([]types.GroupStaff, error)

GetGroupsStaff - получить принадлежность учетной записи группам учетных записей

func (*Client) GetJAPIVersion

func (api *Client) GetJAPIVersion(ctx context.Context) (*GetJAPIVersionResponse, error)

func (*Client) GetLicense

func (api *Client) GetLicense(ctx context.Context) (*types.LBLicense, error)

func (*Client) GetOption

func (api *Client) GetOption(ctx context.Context, name string) (*types.LBOption, error)

GetOption — получить значение опции по имени.

func (*Client) GetPassTemplates

func (api *Client) GetPassTemplates(ctx context.Context, objectType string) ([]types.LBPassTemplate, error)

GetPassTemplates — получить список шаблонов паролей.

func (*Client) GetPayCards

func (api *Client) GetPayCards(ctx context.Context, request GetPayCardsRequest) ([]types.PayCard, error)

func (*Client) GetPayments

func (api *Client) GetPayments(ctx context.Context, params GetPaymentsRequestParams) ([]types.Payment, error)

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

func (*Client) GetPorts

func (api *Client) GetPorts(ctx context.Context, searchParams GetPortsRequest) ([]PortInfo, error)

func (*Client) GetPromisePaymentsCount

func (api *Client) GetPromisePaymentsCount(ctx context.Context, agrmID int) (int, error)

GetPromisePaymentsCount — получить количество обещанных платежей по договору.

func (*Client) GetRNas

func (api *Client) GetRNas(ctx context.Context, request GetRNasRequest) ([]types.RNas, error)

func (*Client) GetRNasOptions

func (api *Client) GetRNasOptions(ctx context.Context, request GetRNasOptionsRequest) ([]types.LBRNasOption, error)

func (*Client) GetRadiusAttrs

func (api *Client) GetRadiusAttrs(ctx context.Context, request GetRadiusAttrsRequest) ([]types.RadiusAttrs, error)

func (*Client) GetReservedIpAddresses

func (api *Client) GetReservedIpAddresses(ctx context.Context, request GetReservedIpAddressesRequest) ([]types.LBReservedIP, error)

GetReservedIpAddresses — получить список зарезервированных IP-адресов агента.

func (*Client) GetSegments

func (api *Client) GetSegments(ctx context.Context, request GetSegmentsRequest) ([]types.Segment, error)

func (*Client) GetStatus

func (api *Client) GetStatus(ctx context.Context) (*types.LBStatus, error)

GetStatus — получить статус сервера (количество аккаунтов, агентов, договоров и т.д.).

func (*Client) GetSyncAgreements

func (api *Client) GetSyncAgreements(ctx context.Context, request GetSyncAgreementsRequest) ([]types.SyncAgreement, error)

GetSyncAgreements - получение данных договоров для синхронизации

func (*Client) GetSyncAgreementsExt

func (api *Client) GetSyncAgreementsExt(ctx context.Context, request GetSyncAgreementsExtRequest) ([]types.SyncAgreementExt, error)

GetSyncAgreementsExt - получение дополнительных полей для договоров

func (*Client) GetSyncBlockVGroups

func (api *Client) GetSyncBlockVGroups(ctx context.Context, request GetSyncBlockVGroupsRequest) ([]types.LBSyncBlockVgroup, error)

GetSyncBlockVGroups - Получить данные об истории блокировок учетных записей

func (*Client) GetSyncEquipment

func (api *Client) GetSyncEquipment(ctx context.Context, request GetSyncEquipmentRequest) ([]types.LBSyncEquipment, error)

GetSyncEquipment — получить список оборудования агента для синхронизации.

func (*Client) GetSyncOptions

func (api *Client) GetSyncOptions(ctx context.Context, request GetSyncOptionsRequest) ([]types.LBSyncOption, error)

GetSyncOptions - Получить все опции для агента для синхронизации

func (*Client) GetSyncStaff

func (api *Client) GetSyncStaff(ctx context.Context, request GetSyncStaffRequest) ([]types.LBSyncStaff, error)

GetSyncStaff - получить статические IP для агента для синхронизации

func (*Client) GetSyncTarCategory

func (api *Client) GetSyncTarCategory(ctx context.Context, request GetSyncTarCategoryRequest) (interface{}, error)

GetSyncTarCategory - получить категории радиус-агента для синхронизации

func (*Client) GetSyncTarShapePolicy

func (api *Client) GetSyncTarShapePolicy(ctx context.Context, request GetSyncTarShapePolicyRequest) (interface{}, error)

GetSyncTarShapePolicy - Получить правила ограничения скорости для агента для синхронизации

func (*Client) GetSyncTurboShapes

func (api *Client) GetSyncTurboShapes(ctx context.Context, request GetSyncTurboShapesRequest) (interface{}, error)

GetSyncTurboShapes - получить информацию о турбо-кнопке для синхронизации

func (*Client) GetSyncVGroups

func (api *Client) GetSyncVGroups(ctx context.Context, request GetSyncVGroupsRequest) ([]types.LBSyncVGroup, error)

GetSyncVGroups Получение данных учетных записей для синхронизации

func (*Client) GetSyncVGroupsAccessOverrides

func (api *Client) GetSyncVGroupsAccessOverrides(ctx context.Context, request GetSyncVGroupsAccessOverridesRequest) (interface{}, error)

GetSyncVGroupsAccessOverrides - получить особые условия доступа для учетных записей в блоке для синхронизации

func (*Client) GetTarCatSizeDiscounts

func (api *Client) GetTarCatSizeDiscounts(ctx context.Context, request GetTarCatSizeDiscountsRequest) ([]types.TarCatSizeDiscount, error)

GetTarCatSizeDiscounts - Получить скидки по объему тарифной категории

func (*Client) GetTarCatTimeDiscounts

func (api *Client) GetTarCatTimeDiscounts(ctx context.Context, request GetTarCatTimeDiscountsRequest) ([]types.TarCatTimeDiscount, error)

GetTarCatTimeDiscounts - Получить скидки по объему тарифной категории

func (*Client) GetTarSizeShapes

func (api *Client) GetTarSizeShapes(ctx context.Context, request GetTarSizeShapesRequest) ([]types.TarSizeShape, error)

GetTarSizeShapes - Получить настройки полосы пропускания тарифа в зависимости от объема

func (*Client) GetTarTimeShapes

func (api *Client) GetTarTimeShapes(ctx context.Context, request GetTarTimeShapesRequest) ([]types.TarTimeShape, error)

GetTarTimeShapes Получить настройки полосы пропускания тарифа в зависимости от времени

func (*Client) GetTariffs

func (api *Client) GetTariffs(ctx context.Context, request GetTariffsRequest) ([]types.Tariff, error)

func (*Client) GetTelClasses

func (api *Client) GetTelClasses(ctx context.Context) ([]types.LBTelClass, error)

GetTelClasses — получить список телефонных классов (ВТС, МГ, МН и т.д.).

func (*Client) GetTrusted

func (api *Client) GetTrusted(ctx context.Context, request GetTrustedRequest) (*GetTrustedResponse, error)

GetTrusted — получить список доверенных сетей (IP-адреса, с которых разрешён доступ).

func (*Client) GetUserBlockTemplate

func (api *Client) GetUserBlockTemplate(ctx context.Context, vgID int) ([]types.LBUserBlockTemplate, error)

GetUserBlockTemplate — получить шаблоны блокировок учётной записи.

func (*Client) GetVGroups

func (api *Client) GetVGroups(ctx context.Context, request GetVGroupsRequest) ([]types.VGroupRecord, error)

func (*Client) GetVgBlockList

func (api *Client) GetVgBlockList(ctx context.Context, request GetVgBlockListRequest) (*GetVgBlockListResponse, error)

GetVgBlockList — получить историю блокировок учётной записи.

func (*Client) GetVgMacAddrHistory

func (api *Client) GetVgMacAddrHistory(ctx context.Context, request GetVgMacAddrHistoryRequest) (*GetVgMacAddrHistoryResponse, error)

GetVgMacAddrHistory — получить историю изменения MAC-адресов учётной записи.

func (*Client) GetVgMacAddrs

func (api *Client) GetVgMacAddrs(ctx context.Context, request GetVgMacAddrsRequest) ([]types.LBMacRecord, error)

func (*Client) GetVgNetworks

func (api *Client) GetVgNetworks(ctx context.Context, request GetVgNetworksRequest) (*GetVgNetworksResponse, error)

GetVgNetworks — получить список сетей учётной записи.

func (*Client) GetVgNetworksHistory

func (api *Client) GetVgNetworksHistory(ctx context.Context, request GetVgNetworksHistoryRequest) (*GetVgNetworksHistoryResponse, error)

GetVgNetworksHistory — получить историю изменения сетей учётной записи.

func (*Client) GetVgroupExt

func (api *Client) GetVgroupExt(ctx context.Context, vgID int) (*types.LBVgroupExt, error)

GetVgroupExt — получить расширенную информацию об учётной записи.

func (*Client) GetVlans

func (api *Client) GetVlans(ctx context.Context, request GetVlansRequest) (vlans *[]types.VlanRecord, err error)

func (*Client) GetWeekends

func (api *Client) GetWeekends(ctx context.Context, request GetWeekendsRequest) ([]types.Weekend, error)

func (*Client) Login

func (api *Client) Login(ctx context.Context, request LoginRequest) (bool, error)

func (*Client) Payment

func (api *Client) Payment(ctx context.Context, request PaymentRequest) (*PaymentResponse, error)

func (*Client) PutRadiusStat

func (api *Client) PutRadiusStat(ctx context.Context, request PutRadiusStatRequest) (bool, error)

PutRadiusStat - Отправить статистику радиуса

func (*Client) RadStartSessions

func (api *Client) RadStartSessions(ctx context.Context, request RadStartSessionsRequest) error

RadStartSessions — сообщить серверу о старте Radius-сессий.

func (*Client) RadStopSessionsPacket

func (api *Client) RadStopSessionsPacket(ctx context.Context, request RadStopSessionsPacketRequest) error

RadStopSessionsPacket — сообщить серверу об остановке Radius-сессий.

func (*Client) SetAccountFull

func (api *Client) SetAccountFull(ctx context.Context, request SetAccountFullRequest) (int, error)

SetAccountFull — создать или обновить пользователя. Возвращает uid.

func (*Client) SetAddress

func (api *Client) SetAddress(ctx context.Context, code string, addrType int, uid int) (bool, error)

SetAddress — установить адрес пользователя.

func (*Client) SetAgentActive

func (api *Client) SetAgentActive(ctx context.Context, request SetAgentActiveRequest) (bool, error)

SetAgentActive — сообщить серверу об активности агента.

func (*Client) SetLastContact

func (api *Client) SetLastContact(ctx context.Context, request SetLastContactRequest) (bool, error)

func (*Client) SetNewMacForVG

func (api *Client) SetNewMacForVG(ctx context.Context, request SetNewMacForVGRequest) (interface{}, error)

SetNewMacForVG - установить новый мак-адрес для учетной записи

func (*Client) SetPort

func (api *Client) SetPort(ctx context.Context, params SetPortRequest) (int, error)

func (*Client) SetVgBlockSchedule

func (api *Client) SetVgBlockSchedule(ctx context.Context, request SetVgBlockScheduleRequest) (int, error)

SetVgBlockSchedule — запланировать изменение статуса блокировки УЗ. Возвращает record_id.

func (*Client) SetVgMacAddr

func (api *Client) SetVgMacAddr(ctx context.Context, request SetVgMacAddrRequest) (int, error)

SetVgMacAddr — добавить MAC-адрес учётной записи. Возвращает record_id.

func (*Client) SetVgNetwork

func (api *Client) SetVgNetwork(ctx context.Context, request SetVgNetworkRequest) (int, error)

SetVgNetwork — добавить или изменить сеть учётной записи. Возвращает record_id.

func (*Client) SetVgroupState

func (api *Client) SetVgroupState(ctx context.Context, request SetVgroupStateRequest) (bool, error)

SetVgroupState — установить статус учетной записи.

func (*Client) SetVlan

func (api *Client) SetVlan(ctx context.Context, params types.VlanRecord) (int, error)

SetVlan sets vlan information, returns vlan ID

func (*Client) Subscribe

func (api *Client) Subscribe(ctx context.Context, eventsList []events.LBEvent) (result bool, err error)

Subscribe to LanBilling events, use GetEventsChannel to obtain notifications channel

func (*Client) SystemCheckMessages

func (api *Client) SystemCheckMessages(ctx context.Context, request SystemCheckMessagesRequest) (bool, error)

func (*Client) SystemSubscribe

func (api *Client) SystemSubscribe(ctx context.Context, request SystemSubscribeRequest) (bool, error)

func (*Client) SystemSubscribeMultiple

func (api *Client) SystemSubscribeMultiple(ctx context.Context, request SystemSubscribeMultipleRequest) (bool, error)

func (*Client) Version

func (api *Client) Version(ctx context.Context) (*VersionInfo, error)

Version — получить версию сервера LANBilling.

type ClientConfig

type ClientConfig struct {
	Address  string `env:"LB_API_ADDRESS" yaml:"address" usage:"LANBilling API address"`     // LanBilling server address
	Username string `env:"LB_API_USERNAME" yaml:"username" usage:"LANBilling API username "` // Agent username
	Password string `env:"LB_API_PASSWORD" yaml:"password" usage:"LANBilling API password"`  // Agent password

	Debug    bool          `env:"LB_API_DEBUG" yaml:"debug"`                     // Log all JSON-RPC traffic
	MaxFails int           `env:"LB_API_MAX_FAILS" yaml:"max_fails" default:"5"` // Maximum reconnect fails before reconnect
	Timeout  time.Duration `env:"LB_API_TIMEOUT" yaml:"timeout" default:"5s"`    // (re)Connect timeout

	// Periodic ping interval to check if server is reachable.
	ReconnectPeriod time.Duration `env:"LB_API_RECONNECT_PERIOD" yaml:"reconnect_period" default:"10s"`

	// Reconnect backoff configuration.
	// After a failed reconnect, period is multiplied by BackoffFactor up to BackoffMax.
	// On successful reconnect, period resets to ReconnectPeriod.
	ReconnectBackoffMin    time.Duration `env:"LB_API_RECONNECT_BACKOFF_MIN" yaml:"reconnect_backoff_min" default:"10s"`
	ReconnectBackoffMax    time.Duration `env:"LB_API_RECONNECT_BACKOFF_MAX" yaml:"reconnect_backoff_max" default:"5m"`
	ReconnectBackoffFactor float64       `env:"LB_API_RECONNECT_BACKOFF_FACTOR" yaml:"reconnect_backoff_factor" default:"2"`
}

type ClientOption

type ClientOption func(*Client)

func WithOnCallback

func WithOnCallback(handler jrpc2.Handler) ClientOption

func WithOnCancel

func WithOnCancel(handler func(cli *jrpc2.Client, rsp *jrpc2.Response)) ClientOption

func WithOnNotify

func WithOnNotify(handler func(*jrpc2.Request)) ClientOption

func WithOnStop

func WithOnStop(handler func(cli *jrpc2.Client, err error)) ClientOption

type CloseAgreementRequest

type CloseAgreementRequest struct {
	AgrmID    int    `json:"agrm_id"`    // ID договора
	CloseDate string `json:"close_date"` // Дата закрытия (YYYY-MM-DD)
}

CloseAgreementRequest — запрос на закрытие договора.

func (CloseAgreementRequest) Method

func (CloseAgreementRequest) Method() string

type DelAccountRequest

type DelAccountRequest struct {
	UID int `json:"uid"`
}

DelAccountRequest — запрос на удаление пользователя.

func (DelAccountRequest) Method

func (DelAccountRequest) Method() string

type DelRadiusSessionsRequest

type DelRadiusSessionsRequest struct {
}

func (DelRadiusSessionsRequest) Method

type DelVgMacAddrRequest

type DelVgMacAddrRequest struct {
	RecordID int `json:"record_id"`
}

DelVgMacAddrRequest — запрос на удаление MAC-адреса УЗ.

func (DelVgMacAddrRequest) Method

func (DelVgMacAddrRequest) Method() string

type DelVgNetworkRequest

type DelVgNetworkRequest struct {
	RecordID int `json:"record_id"`
}

DelVgNetworkRequest — запрос на удаление сети УЗ.

func (DelVgNetworkRequest) Method

func (DelVgNetworkRequest) Method() string

type DhcpAcctStartRequest

type DhcpAcctStartRequest types.DhcpAcctParams

DhcpAcctStartRequest описывает запрос DHCP-аккаунтинга (старт сессии).

func (DhcpAcctStartRequest) Method

func (DhcpAcctStartRequest) Method() string

type DhcpAcctStopRequest

type DhcpAcctStopRequest types.DhcpAcctParams

DhcpAcctStopRequest описывает запрос DHCP-аккаунтинга (стоп сессии).

func (DhcpAcctStopRequest) Method

func (DhcpAcctStopRequest) Method() string

type GetAccountAddonsRequest

type GetAccountAddonsRequest struct {
	GetAccountsAddonsParams
}

func (GetAccountAddonsRequest) Method

type GetAccountRequest

type GetAccountRequest struct {
	UID int `json:"uid"`
}

GetAccountRequest — запрос информации об одном пользователе.

func (GetAccountRequest) Method

func (GetAccountRequest) Method() string

type GetAccountsAddonsParams

type GetAccountsAddonsParams struct {
	Uid int `json:"uid"`
}

type GetAccountsAddonsSetParams

type GetAccountsAddonsSetParams struct {
	GetFull  bool                     `json:"get_full"` // Получить вместе со значениями выбора
	ShowOnHp bool                     `json:"show_on_hp"`
	Sort     GetAccountsAddonsSetSort `json:"sort"`
}

type GetAccountsAddonsSetRequest

type GetAccountsAddonsSetRequest struct {
	GetAccountsAddonsSetParams
}

func (GetAccountsAddonsSetRequest) Method

type GetAccountsAddonsSetSort

type GetAccountsAddonsSetSort struct {
	Ascdesc int    `json:"ascdesc"`
	Name    string `json:"name"`
}

type GetAccountsFilter

type GetAccountsFilter struct {
	Category            int    `json:"category"`
	IsArchive           int    `json:"is_archive"`
	IsTemplate          int    `json:"is_template"`
	GetFull             bool   `json:"get_full"`
	IncludePreactivated bool   `json:"include_preactivated"`
	AgrmNum             string `json:"agrm_num,omitempty"`
	ManagerID           int    `json:"manager_id,omitempty"`

	Inn  string `json:"inn,omitempty"`
	Name string `json:"name,omitempty"`
	// Addons              GetAccountsFilterAddon `json:"addons,omitempty"`
	IsDefault int `json:"is_default,omitempty"`
	types.Pagination
}

func (GetAccountsFilter) Method

func (GetAccountsFilter) Method() string

type GetAccountsFilterAddon

type GetAccountsFilterAddon struct {
	StrValue string `json:"str_value"`
}

{ "id": 1, "method": "getAccounts", "params": { "category": -1, "count": true, "get_full": true, "include_preactivated": false, "inn": "7703191457", "is_archive": 0, "is_template": 0, "japi": 13, "manager_id": -2, "pg_num": 1, "pg_size": 100 } }

type GetAccountsForRadiusRequest

type GetAccountsForRadiusRequest struct {
	AgentID  int `json:"agent_id"`
	TimeMark int `json:"time_mark"`
	types.Pagination
}

func (GetAccountsForRadiusRequest) Method

type GetAccountsRequest

type GetAccountsRequest struct {
	GetAccountsFilter
	Count bool `json:"count"`
}

type GetAgentOptionsRequest

type GetAgentOptionsRequest struct {
	TimeMarkStart int `json:"time_mark_start"`
	types.Pagination
}

func (GetAgentOptionsRequest) Method

func (GetAgentOptionsRequest) Method() string

type GetAgentRequest

type GetAgentRequest struct {
	AgentID int `json:"agent_id"`
}

GetAgentRequest — запрос информации об одном агенте.

func (GetAgentRequest) Method

func (GetAgentRequest) Method() string

type GetAgentsRequest

type GetAgentsRequest struct {
	AgentID int `json:"agent_id"`
	types.Pagination
}

func (GetAgentsRequest) Method

func (GetAgentsRequest) Method() string

type GetAgreementsRequest

type GetAgreementsRequest struct {
	Count  bool           `json:"count"`
	Japi   int            `json:"japi"`
	PgNum  int            `json:"pg_num"`
	PgSize int            `json:"pg_size"`
	Sort   []types.LBSort `json:"sort,omitempty"`
	UID    int            `json:"uid"`
}

GetAgreementsRequest — запрос списка договоров.

func (GetAgreementsRequest) Method

func (GetAgreementsRequest) Method() string

type GetAgreementsResponse

type GetAgreementsResponse struct {
	Data  []types.LBAgreement `json:"data"`
	Total *int                `json:"total"`
}

GetAgreementsResponse — ответ со списком договоров.

type GetBillDeliveryMethodsRequest

type GetBillDeliveryMethodsRequest struct {
	Japi int `json:"japi"`
}

GetBillDeliveryMethodsRequest — запрос способов доставки счетов.

func (GetBillDeliveryMethodsRequest) Method

type GetBillDeliveryMethodsResponse

type GetBillDeliveryMethodsResponse struct {
	Data  []types.LBBillDeliveryMethod `json:"data"`
	Total *int                         `json:"total"`
}

GetBillDeliveryMethodsResponse — ответ со списком способов доставки.

type GetCategoryModifiersRequest

type GetCategoryModifiersRequest struct {
	RecordID      int `json:"record_id,omitempty"`
	TimeMarkStart int `json:"time_mark_start"`
	types.Pagination
}

func (GetCategoryModifiersRequest) Method

type GetCurrenciesRequest

type GetCurrenciesRequest struct{}

GetCurrenciesRequest — запрос списка валют.

func (GetCurrenciesRequest) Method

func (GetCurrenciesRequest) Method() string

type GetDeviceGroupsRequest

type GetDeviceGroupsRequest struct {
	TimeMarkStart int `json:"time_mark_start"`
	types.Pagination
}

func (GetDeviceGroupsRequest) Method

func (GetDeviceGroupsRequest) Method() string

type GetDictionaryRequest

type GetDictionaryRequest struct {
	TimeMarkStart int `json:"time_mark_start"`
	types.Pagination
}

func (GetDictionaryRequest) Method

func (GetDictionaryRequest) Method() string

type GetEpsAgreementsParamsRequest

type GetEpsAgreementsParamsRequest struct {
	AgrmID      int  `json:"agrm_id"`
	Autopayment bool `json:"autopayment"`
}

GetEpsAgreementsParamsRequest — запрос параметров договора для ЕПС.

func (GetEpsAgreementsParamsRequest) Method

type GetFreeNetworksRequest

type GetFreeNetworksRequest struct {
	AgentID          int                `json:"agent_id"`
	Count            bool               `json:"count"`
	IncludeBroadcast bool               `json:"include_broadcast"`
	IncludeNetaddr   bool               `json:"include_netaddr"`
	Mask             int                `json:"mask"`
	Nodata           bool               `json:"nodata,omitempty"`
	PgNum            int                `json:"pg_num,omitempty"`
	PgSize           int                `json:"pg_size,omitempty"`
	Segment          types.LBSegmentRef `json:"segment"`
	VgID             int                `json:"vg_id"`
}

GetFreeNetworksRequest — запрос поиска свободных подсетей.

func (GetFreeNetworksRequest) Method

func (GetFreeNetworksRequest) Method() string

type GetGPONPortsRequest

type GetGPONPortsRequest struct {
	PortId int `json:"port_id,omitempty"`
	types.Pagination
}

getGponPorts

func (GetGPONPortsRequest) Method

func (GetGPONPortsRequest) Method() string

type GetGroupsExtRequest

type GetGroupsExtRequest struct {
	Count  bool `json:"count"`
	Japi   int  `json:"japi"`
	PgNum  int  `json:"pg_num"`
	PgSize int  `json:"pg_size"`
}

GetGroupsExtRequest — запрос расширенной информации о группах УЗ.

func (GetGroupsExtRequest) Method

func (GetGroupsExtRequest) Method() string

type GetGroupsExtResponse

type GetGroupsExtResponse struct {
	Data  []types.LBGroupExt `json:"data"`
	Total *int               `json:"total"`
}

GetGroupsExtResponse — ответ с расширенной информацией о группах УЗ.

type GetGroupsStaffRequest

type GetGroupsStaffRequest struct {
	VgID int `json:"vg_id,omitempty"`
	types.Pagination
}

func (GetGroupsStaffRequest) Method

func (GetGroupsStaffRequest) Method() string

type GetJAPIVersionRequest

type GetJAPIVersionRequest struct{}

getJAPIVersion

func (GetJAPIVersionRequest) Method

func (GetJAPIVersionRequest) Method() string

type GetJAPIVersionResponse

type GetJAPIVersionResponse struct {
	Major   int    `json:"major"`
	Minor   int    `json:"minor"`
	Patch   int    `json:"patch"`
	Version string `json:"version"`
}

getJAPIVersion

func (GetJAPIVersionResponse) String

func (g GetJAPIVersionResponse) String() string

type GetLicenseRequest

type GetLicenseRequest struct{}

func (GetLicenseRequest) Method

func (GetLicenseRequest) Method() string

type GetOptionRequest

type GetOptionRequest struct {
	Name string `json:"name"` // Имя опции (например, "tax_value")
}

GetOptionRequest — запрос значения одной опции.

func (GetOptionRequest) Method

func (GetOptionRequest) Method() string

type GetPassTemplatesRequest

type GetPassTemplatesRequest struct {
	ObjectType string `json:"object_type"` // Тип объекта: "account"
}

GetPassTemplatesRequest — запрос шаблонов паролей.

func (GetPassTemplatesRequest) Method

type GetPayCardsRequest

type GetPayCardsRequest struct {
	Activated   bool          `json:"is_activated"`
	SetID       int           `json:"set_id"`
	SerNo       string        `json:"ser_no"`
	CardKey     string        `json:"card_key"`
	DtCreated   *types.LBTime `json:"create_date"`
	DtActivated *types.LBTime `json:"activate_date"`
	types.Pagination
}

func (GetPayCardsRequest) Method

func (GetPayCardsRequest) Method() string

type GetPaymentsRequest

type GetPaymentsRequest struct {
	GetPaymentsRequestParams
}

func (GetPaymentsRequest) Method

func (GetPaymentsRequest) Method() string

type GetPaymentsRequestParams

type GetPaymentsRequestParams struct {
	AccType           int           `json:"acc_type,omitempty"`
	AgentId           int           `json:"agent_id,omitempty"`
	AgrmId            int           `json:"agrm_id,omitempty"`
	AgrmNum           string        `json:"agrm_num,omitempty"`
	BankAccountIncome string        `json:"bank_account_income,omitempty"`
	ClassId           int           `json:"class_id,omitempty"`
	Email             string        `json:"email,omitempty"`
	FromAgrmId        int           `json:"from_agrm_id,omitempty"`
	GroupId           int           `json:"group_id,omitempty"`
	HasRegistry       int           `json:"has_registry,omitempty"`
	LastPayment       bool          `json:"last_payment,omitempty"`
	Login             string        `json:"login,omitempty"`
	ModPerson         int           `json:"mod_person,omitempty"`
	Nodata            bool          `json:"nodata,omitempty"`
	Nodetails         bool          `json:"nodetails,omitempty"`
	OperId            int           `json:"oper_id,omitempty"`
	PayDateFrom       string        `json:"pay_date_from,omitempty"`
	PayDateTo         string        `json:"pay_date_to,omitempty"`
	PayHistory        int           `json:"pay_history,omitempty"`
	PgNum             int           `json:"pg_num,omitempty"`
	PgSize            int           `json:"pg_size,omitempty"`
	Phone             string        `json:"phone,omitempty"`
	Receipt           string        `json:"receipt,omitempty"`
	RecordId          int           `json:"record_id,omitempty"`
	SearchTemplate    []interface{} `json:"search_template,omitempty"`
	Sort              []interface{} `json:"sort,omitempty"`
	Uid               int           `json:"uid,omitempty"`
	UserName          string        `json:"user_name,omitempty"`
	UsrGroupId        int           `json:"usr_group_id,omitempty"`
	Uuid              string        `json:"uuid,omitempty"`
	VgId              int           `json:"vg_id,omitempty"`
	VgLogin           string        `json:"vg_login,omitempty"`
}

type GetPortsRequest

type GetPortsRequest struct {
	DeviceId int `json:"device_id,omitempty"`
	PortId   int `json:"port_id,omitempty"`
	VgId     int `json:"vg_id,omitempty"`
}

getPorts

func (GetPortsRequest) Method

func (GetPortsRequest) Method() string

type GetPromisePaymentsRequest

type GetPromisePaymentsRequest struct {
	AgrmID int  `json:"agrm_id"`
	Count  bool `json:"count"`
	Nodata bool `json:"nodata"`
	Payed  int  `json:"payed"`
}

GetPromisePaymentsRequest — запрос количества обещанных платежей.

func (GetPromisePaymentsRequest) Method

type GetRNasOptionsRequest

type GetRNasOptionsRequest struct {
	AgentID       int `json:"agent_id"`
	TimeMarkStart int `json:"time_mark_start"`
	types.Pagination
}

func (GetRNasOptionsRequest) Method

func (GetRNasOptionsRequest) Method() string

type GetRNasRequest

type GetRNasRequest struct {
	AgentID       int `json:"agent_id"`
	TimeMarkStart int `json:"time_mark_start"`

	types.Pagination
}

func (GetRNasRequest) Method

func (GetRNasRequest) Method() string

type GetRadiusAttrsRequest

type GetRadiusAttrsRequest struct {
	AgentID       int `json:"agent_id"`
	TimeMarkStart int `json:"time_mark_start"`

	types.Pagination
}

func (GetRadiusAttrsRequest) Method

func (GetRadiusAttrsRequest) Method() string

type GetReservedIpAddressesRequest

type GetReservedIpAddressesRequest struct {
	AgentID int `json:"agent_id"`
	types.Pagination
}

GetReservedIpAddressesRequest — запрос на получение зарезервированных IP-адресов.

func (GetReservedIpAddressesRequest) Method

type GetSegmentsRequest

type GetSegmentsRequest struct {
	TimeMarkStart int `json:"time_mark_start"`
	types.Pagination
}

func (GetSegmentsRequest) Method

func (GetSegmentsRequest) Method() string

type GetStatusRequest

type GetStatusRequest struct{}

GetStatusRequest — запрос статуса сервера.

func (GetStatusRequest) Method

func (GetStatusRequest) Method() string

type GetSyncAgreementsExtRequest

type GetSyncAgreementsExtRequest struct {
	AgentID       int `json:"agent_id"`
	TimeMarkStart int `json:"time_mark_start"`
	types.Pagination
}

func (GetSyncAgreementsExtRequest) Method

type GetSyncAgreementsRequest

type GetSyncAgreementsRequest struct {
	AgentID       int `json:"agent_id"`
	TimeMarkStart int `json:"time_mark_start"`
	types.Pagination
}

func (GetSyncAgreementsRequest) Method

type GetSyncBlockVGroupsRequest

type GetSyncBlockVGroupsRequest struct {
	AgentID       int   `json:"agent_id"`
	TimeMarkStart int64 `json:"time_mark_start"`
	types.Pagination
}

func (GetSyncBlockVGroupsRequest) Method

type GetSyncEquipmentRequest

type GetSyncEquipmentRequest struct {
	AgentID       int `json:"agent_id"`
	TimeMarkStart int `json:"time_mark_start"`
	types.Pagination
}

GetSyncEquipmentRequest — запрос на синхронизацию оборудования агента.

func (GetSyncEquipmentRequest) Method

type GetSyncOptionsRequest

type GetSyncOptionsRequest struct {
	AgentID       int `json:"agent_id"`
	TimeMarkStart int `json:"time_mark_start"`
	types.Pagination
}

func (GetSyncOptionsRequest) Method

func (GetSyncOptionsRequest) Method() string

type GetSyncStaffRequest

type GetSyncStaffRequest struct {
	AgentID       int   `json:"agent_id"`
	TimeMarkStart int64 `json:"time_mark_start"`
	types.Pagination
}

func (GetSyncStaffRequest) Method

func (GetSyncStaffRequest) Method() string

type GetSyncTarCategoryRequest

type GetSyncTarCategoryRequest struct {
}

func (GetSyncTarCategoryRequest) Method

type GetSyncTarShapePolicyRequest

type GetSyncTarShapePolicyRequest struct {
	AgentID       int `json:"agent_id"`
	TimeMarkStart int `json:"time_mark_start"`
}

func (GetSyncTarShapePolicyRequest) Method

type GetSyncTurboShapesRequest

type GetSyncTurboShapesRequest struct {
}

func (GetSyncTurboShapesRequest) Method

type GetSyncVGroupsAccessOverridesRequest

type GetSyncVGroupsAccessOverridesRequest struct {
	AgentID       int `json:"agent_id"`
	TimeMarkStart int `json:"time_mark_start"`
}

func (GetSyncVGroupsAccessOverridesRequest) Method

type GetSyncVGroupsRequest

type GetSyncVGroupsRequest struct {
	AgentID       int   `json:"agent_id"`
	TimeMarkStart int64 `json:"time_mark_start"`
	types.Pagination
}

func (GetSyncVGroupsRequest) Method

func (GetSyncVGroupsRequest) Method() string

type GetTarCatSizeDiscountsRequest

type GetTarCatSizeDiscountsRequest struct {
	TarID  int `json:"tar_id,omitempty"`
	CatIDX int `json:"cat_idx,omitempty"`

	TimeMarkStart int `json:"time_mark_start"`
	types.Pagination
}

func (GetTarCatSizeDiscountsRequest) Method

type GetTarCatTimeDiscountsRequest

type GetTarCatTimeDiscountsRequest struct {
	TarID  int `json:"tar_id,omitempty"`
	CatIDX int `json:"cat_idx,omitempty"`

	TimeMarkStart int `json:"time_mark_start"`
	types.Pagination
}

func (GetTarCatTimeDiscountsRequest) Method

type GetTarSizeShapesRequest

type GetTarSizeShapesRequest struct {
	TarID int `json:"tar_id"`
}

func (GetTarSizeShapesRequest) Method

type GetTarTimeShapesRequest

type GetTarTimeShapesRequest struct {
	TarID int `json:"tar_id"`
}

func (GetTarTimeShapesRequest) Method

type GetTariffsRequest

type GetTariffsRequest struct {
	AgentID       int   `json:"agent_id"`
	TimeMarkStart int64 `json:"time_mark_start"`
	types.Pagination
}

func (GetTariffsRequest) Method

func (GetTariffsRequest) Method() string

type GetTelClassesRequest

type GetTelClassesRequest struct{}

GetTelClassesRequest — запрос списка телефонных классов.

func (GetTelClassesRequest) Method

func (GetTelClassesRequest) Method() string

type GetTrustedRequest

type GetTrustedRequest struct {
	Count  bool `json:"count"`
	Japi   int  `json:"japi"`
	PgNum  int  `json:"pg_num"`
	PgSize int  `json:"pg_size"`
}

GetTrustedRequest — запрос списка доверенных сетей.

func (GetTrustedRequest) Method

func (GetTrustedRequest) Method() string

type GetTrustedResponse

type GetTrustedResponse struct {
	Data  []types.LBTrustedNetwork `json:"data"`
	Total *int                     `json:"total"`
}

GetTrustedResponse — ответ со списком доверенных сетей.

type GetUserBlockTemplateRequest

type GetUserBlockTemplateRequest struct {
	VgID int `json:"vg_id"`
}

GetUserBlockTemplateRequest — запрос шаблонов блокировок УЗ.

func (GetUserBlockTemplateRequest) Method

type GetVGroupsRequest

type GetVGroupsRequest struct {
	IsTemplate      bool   `json:"is_template"`
	Address         string `json:"address"`
	Name            string `json:"name"`
	AgrmNum         string `json:"agrm_num"`
	SmartCardSerial string `json:"smart_card_serial"`
	Descr           string `json:"descr"`
	EquipChipid     string `json:"equip_chipid"`
	EquipMac        string `json:"equip_mac"`
	EquipSerial     string `json:"equip_serial"`
	IP              string `json:"ip"`
	PayCode         string `json:"pay_code"`
	Phone           string `json:"phone"`

	VgMac      string            `json:"vg_mac"`
	Archive    int               `json:"archive"`
	Blocked    int               `json:"blocked"`
	AgentTypes []types.AgentType `json:"agent_types"`

	GetFullData bool `json:"get_full_data"`
	Count       bool `json:"count"`
	Nodata      bool `json:"nodata"`
	types.Pagination
}

getVGroups

func (GetVGroupsRequest) Method

func (GetVGroupsRequest) Method() string

type GetVgBlockListRequest

type GetVgBlockListRequest struct {
	Count  bool `json:"count"`
	Japi   int  `json:"japi"`
	PgNum  int  `json:"pg_num"`
	PgSize int  `json:"pg_size"`
	VgID   int  `json:"vg_id"`
}

GetVgBlockListRequest — запрос истории блокировок учётной записи.

func (GetVgBlockListRequest) Method

func (GetVgBlockListRequest) Method() string

type GetVgBlockListResponse

type GetVgBlockListResponse struct {
	Data  []types.LBVgBlockRecord `json:"data"`
	Total *int                    `json:"total"`
}

GetVgBlockListResponse — ответ с историей блокировок.

type GetVgMacAddrHistoryRequest

type GetVgMacAddrHistoryRequest struct {
	Count  bool   `json:"count"`
	Japi   int    `json:"japi"`
	PgNum  int    `json:"pg_num"`
	PgSize int    `json:"pg_size"`
	TimeTo string `json:"timeto"`
	VgID   int    `json:"vg_id"`
}

GetVgMacAddrHistoryRequest — запрос истории изменения MAC-адресов УЗ.

func (GetVgMacAddrHistoryRequest) Method

type GetVgMacAddrHistoryResponse

type GetVgMacAddrHistoryResponse struct {
	Data  []types.LBVgMacAddrHistory `json:"data"`
	Total *int                       `json:"total"`
}

GetVgMacAddrHistoryResponse — ответ с историей MAC-адресов.

type GetVgMacAddrsRequest

type GetVgMacAddrsRequest struct {
	AgentID       int   `json:"agent_id"`
	TimeMarkStart int64 `json:"time_mark_start"`
	types.Pagination
}

func (GetVgMacAddrsRequest) Method

func (GetVgMacAddrsRequest) Method() string

type GetVgNetworksHistoryRequest

type GetVgNetworksHistoryRequest struct {
	Count       bool   `json:"count"`
	Japi        int    `json:"japi"`
	PgNum       int    `json:"pg_num"`
	PgSize      int    `json:"pg_size"`
	SegmentType int    `json:"segment_type"`
	TimeTo      string `json:"timeto"`
	VgID        int    `json:"vg_id"`
}

GetVgNetworksHistoryRequest — запрос истории изменения сетей УЗ.

func (GetVgNetworksHistoryRequest) Method

type GetVgNetworksHistoryResponse

type GetVgNetworksHistoryResponse struct {
	Data  []types.LBVgNetworkHistory `json:"data"`
	Total *int                       `json:"total"`
}

GetVgNetworksHistoryResponse — ответ с историей сетей.

type GetVgNetworksRequest

type GetVgNetworksRequest struct {
	Count  bool `json:"count"`
	Japi   int  `json:"japi"`
	PgNum  int  `json:"pg_num"`
	PgSize int  `json:"pg_size"`
	VgID   int  `json:"vg_id"`
}

GetVgNetworksRequest — запрос списка сетей учётной записи.

func (GetVgNetworksRequest) Method

func (GetVgNetworksRequest) Method() string

type GetVgNetworksResponse

type GetVgNetworksResponse struct {
	Data  []types.LBVgNetwork `json:"data"`
	Total *int                `json:"total"`
}

GetVgNetworksResponse — ответ со списком сетей УЗ.

type GetVgroupExtRequest

type GetVgroupExtRequest struct {
	VgID int `json:"vg_id"`
}

GetVgroupExtRequest — запрос расширенной информации об учётной записи.

func (GetVgroupExtRequest) Method

func (GetVgroupExtRequest) Method() string

type GetVlansRequest

type GetVlansRequest struct {
	VlanId    int    `json:"vlan_id"`
	OuterVlan int    `json:"outer_vlan,omitempty"`
	Name      string `json:"name,omitempty"`
}

getVlans

func (GetVlansRequest) Method

func (GetVlansRequest) Method() string

type GetWeekendsRequest

type GetWeekendsRequest struct {
	DateFrom types.DateOnly `json:"date_from,omitempty"`
	DateTo   types.DateOnly `json:"date_to,omitempty"`
	types.Pagination
}

func (GetWeekendsRequest) Method

func (GetWeekendsRequest) Method() string

type LoginRequest

type LoginRequest struct {
	Login    string `json:"login"`
	Password string `json:"password"`
}

Login

func (LoginRequest) Method

func (LoginRequest) Method() string

type PaymentRequest

type PaymentRequest struct {
	AgrmID int     `json:"agrm_id"`
	Amount float64 `json:"amount"`
	/*
		Тип платежа при печати ККМ-чека:
		1 — Наличный
		2 — Безналичный
		3 — Продажа без чека
		4 — Возврат без чека
	*/
	CashCode        int           `json:"cash_code"`
	ClassID         int           `json:"class_id"`
	CurrID          int           `json:"curr_id"`
	FromAgrmID      int           `json:"from_agrm_id"`
	ModPerson       int           `json:"mod_person"`
	PayDate         *types.LBTime `json:"pay_date"`
	PaymentOrderNum string        `json:"payment_order_num"`
	Receipt         string        `json:"receipt"`
	RecordID        int           `json:"record_id"`
	OrderIDs        []int         `json:"order_ids"`
	Comment         string        `json:"comment"`
}

getJAPIVersion

func (PaymentRequest) Method

func (PaymentRequest) Method() string

type PaymentResponse

type PaymentResponse int

getJAPIVersion

type PortInfo

type PortInfo struct {
	Comment     string         `json:"comment,omitempty"`
	DeviceId    int            `json:"device_id,omitempty"`
	Flush       int            `json:"flush,omitempty"`
	InnerVlan   int            `json:"inner_vlan,omitempty"`
	OuterVlan   int            `json:"outer_vlan,omitempty"`
	Login       string         `json:"login,omitempty"`
	Media       string         `json:"media,omitempty"`
	Name        int            `json:"name,omitempty"`
	PolicyId    *int           `json:"policy_id,omitempty"`
	PrototypeId *int           `json:"prototype_id,omitempty"`
	PortId      int            `json:"port_id,omitempty"`
	Speed       string         `json:"speed,omitempty"`
	Status      int            `json:"status"`
	Tpl         int            `json:"tpl,omitempty"`
	VlanId      int            `json:"vlan_id,omitempty"`
	VgId        int            `json:"vg_id,omitempty"`
	TimeMark    *string        `json:"time_mark"`
	Timestamp   int            `json:"timestamp"`
	TreeItem    []PortTreeItem `json:"tree_item"`
}

getPorts

type PortTreeItem

type PortTreeItem struct {
	DeviceId         int    `json:"device_id,omitempty"`
	DeviceName       string `json:"device_name"`
	ParentDeviceId   int    `json:"parent_device_id"`
	ParentDeviceName string `json:"parent_device_name"`
	ParentPortId     int    `json:"parent_port_id"`
	ParentPortName   int    `json:"parent_port_name"`
	PortId           int    `json:"port_id"`
	PortName         int    `json:"port_name"`
}

getPorts

type PutRadiusStatRequest

type PutRadiusStatRequest []types.RadiusStat

func (PutRadiusStatRequest) Method

func (PutRadiusStatRequest) Method() string

type RadStartSessionsRequest

type RadStartSessionsRequest []types.RadSession

RadStartSessionsRequest — запрос на старт Radius-сессий.

func (RadStartSessionsRequest) Method

type RadStopSessionsPacketRequest

type RadStopSessionsPacketRequest []types.RadStopSession

RadStopSessionsPacketRequest — запрос на остановку Radius-сессий (пакетная обработка).

func (RadStopSessionsPacketRequest) Method

type SetAccountFullRequest

type SetAccountFullRequest types.LBAccountFull

SetAccountFullRequest — запрос на создание/обновление пользователя.

func (SetAccountFullRequest) Method

func (SetAccountFullRequest) Method() string

type SetAddressRequest

type SetAddressRequest struct {
	Code string `json:"code"` // Код КЛАДР
	Type int    `json:"type"` // Тип адреса (0=основной, 1=дополнительный)
	UID  int    `json:"uid"`  // ID пользователя
}

SetAddressRequest — запрос на установку адреса пользователя.

func (SetAddressRequest) Method

func (SetAddressRequest) Method() string

type SetAgentActiveRequest

type SetAgentActiveRequest struct {
	AgentID int `json:"agent_id"` // ID агента
}

SetAgentActiveRequest — запрос на отметку агента как активного.

func (SetAgentActiveRequest) Method

func (SetAgentActiveRequest) Method() string

type SetLastContactRequest

type SetLastContactRequest struct {
	AgentId     int           `json:"agent_id"`
	LastContact *types.LBTime `json:"lastcontact"`
}

func (SetLastContactRequest) Method

func (SetLastContactRequest) Method() string

type SetNewMacForVGRequest

type SetNewMacForVGRequest struct {
}

func (SetNewMacForVGRequest) Method

func (SetNewMacForVGRequest) Method() string

type SetPortRequest

type SetPortRequest struct {
	Comment     string `json:"comment,omitempty"`
	DeviceId    int    `json:"device_id,omitempty"`
	Media       string `json:"media,omitempty"`
	Name        int    `json:"name,omitempty"`
	PolicyId    int    `json:"policy_id,omitempty"`
	PortId      int    `json:"port_id,omitempty"`
	PrototypeId int    `json:"prototype_id,omitempty"`
	Speed       string `json:"speed,omitempty"`
	Tpl         int    `json:"tpl,omitempty"`
	VlanId      int    `json:"vlan_id,omitempty"`
	VgId        int    `json:"vg_id,omitempty"`
}

func (SetPortRequest) Method

func (SetPortRequest) Method() string

type SetVgBlockScheduleRequest

type SetVgBlockScheduleRequest struct {
	BlkReq     int    `json:"blk_req"`     // Тип блокировки (0 = разблокировать)
	ChangeTime string `json:"change_time"` // Время изменения (YYYY-MM-DD HH:MM:SS)
	VgID       int    `json:"vg_id"`       // ID учётной записи
}

SetVgBlockScheduleRequest — запрос на планирование блокировки/разблокировки УЗ.

func (SetVgBlockScheduleRequest) Method

type SetVgMacAddrRequest

type SetVgMacAddrRequest struct {
	Mac     string `json:"mac"`     // MAC-адрес
	Network string `json:"network"` // Привязанный IP-адрес
	VgID    int    `json:"vg_id"`   // ID учётной записи
}

SetVgMacAddrRequest — запрос на добавление MAC-адреса УЗ.

func (SetVgMacAddrRequest) Method

func (SetVgMacAddrRequest) Method() string

type SetVgNetworkRequest

type SetVgNetworkRequest struct {
	AsNum     int    `json:"as_num"`     // Номер автономной системы
	Netmask   string `json:"netmask"`    // Маска сети
	Network   string `json:"network"`    // IP-адрес сети
	RecordID  int    `json:"record_id"`  // 0 = создать новую, >0 = изменить существующую
	SegmentID int    `json:"segment_id"` // ID сегмента
	Type      int    `json:"type"`       // Тип сети (0 = обычная)
	VgID      int    `json:"vg_id"`      // ID учётной записи
}

SetVgNetworkRequest — запрос на добавление/изменение сети УЗ.

func (SetVgNetworkRequest) Method

func (SetVgNetworkRequest) Method() string

type SetVgroupStateRequest

type SetVgroupStateRequest struct {
	ID       int `json:"id"`        // Внутренний ID записи
	VgID     int `json:"vg_id"`     // ID виртуальной группы
	Changed  int `json:"changed"`   // Флаг изменений
	TimeMark int `json:"time_mark"` // Временная метка
}

SetVgroupStateRequest — установить статус учетной записи. Вызывается после обработки блокировки/разблокировки УЗ агентом.

func (SetVgroupStateRequest) Method

func (SetVgroupStateRequest) Method() string

type SetVlanRequest

type SetVlanRequest types.VlanRecord

func (SetVlanRequest) Method

func (SetVlanRequest) Method() string

type SystemCheckMessagesRequest

type SystemCheckMessagesRequest struct{}

func (SystemCheckMessagesRequest) Method

type SystemSubscribeMultipleRequest

type SystemSubscribeMultipleRequest []events.LBEvent

func (SystemSubscribeMultipleRequest) Method

type SystemSubscribeRequest

type SystemSubscribeRequest events.LBEvent

func (SystemSubscribeRequest) Method

func (SystemSubscribeRequest) Method() string

type VersionInfo

type VersionInfo struct {
	Build            string `json:"build"`
	ReleaseDate      string `json:"release_date"`
	Revision         string `json:"revision"`
	Version          string `json:"version"`
	VersionSupported bool   `json:"version_supported"`
}

VersionInfo — информация о версии сервера.

type VersionRequest

type VersionRequest struct{}

VersionRequest — запрос версии сервера LANBilling.

func (VersionRequest) Method

func (VersionRequest) Method() string

Source Files

Directories

Path Synopsis
examples
agent command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL