package api import ( "crypto/tls" "resty.dev/v3" ) type Client struct { token string device string resty *resty.Client apiBaseURL string fiscalEndpoint string } func NewClient(token string) *Client { return &Client{ token: token, resty: resty.New(), apiBaseURL: "https://kasa.vchasno.ua/api/v3", fiscalEndpoint: "/fiscal/execute", } } func NewDMClient(token, dmURL, device string) *Client { restyClient := resty.New() restyClient.SetTLSClientConfig(&tls.Config{ MinVersion: tls.VersionTLS12, CipherSuites: []uint16{ tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, tls.TLS_RSA_WITH_AES_256_GCM_SHA384, tls.TLS_RSA_WITH_AES_128_GCM_SHA256, }, }) return &Client{ token: token, device: device, resty: restyClient, apiBaseURL: dmURL, fiscalEndpoint: "/dm/execute", } }