cloudloyalty_client

package module
v1.0.5 Latest Latest
Warning

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

Go to latest
Published: May 14, 2020 License: MIT Imports: 10 Imported by: 0

README

CloudLoyalty Client

Usage:

import "github.com/cloudloyalty/client-go"

client := cloudloyalty_client.New(&cloudloyalty_client.Config{
    BaseURL:       config.CLBaseUrl,
    ProcessingKey: "your key",
})

clientQuery := &cloudloyalty_client.GetBalanceQuery{
    PhoneNumber: "phone number",
    Card:        "card",
}

resp, err := client.GetBalance(ctx, clientQuery)
if resp != nil {
    // resp.Client.FullName
}

See www.cloudloyalty.ru.

Documentation

Index

Constants

View Source
const (
	ErrGeneralError            = 1
	ErrMalformedRequest        = 2
	ErrClientNotFound          = 3
	ErrClientSuspended         = 4
	ErrShopNotFound            = 5
	ErrIncorrectBonusAmount    = 6
	ErrIncorrectReturnItem     = 10
	ErrIncorrectReturnAmount   = 11
	ErrAlreadyProcessed        = 17
	ErrIncorrectPhone          = 20
	ErrPurchaseNotFound        = 21
	ErrDuplicatingPhone        = 24
	ErrDuplicatingCard         = 25
	ErrTooManyCodeRequests     = 28
	ErrEmptyPhone              = 29
	ErrDuplicatingExternalID   = 30
	ErrOrderNotFound           = 31
	ErrOrderAlreadyProcessed   = 32
	ErrPromocodeNotFound       = 33
	ErrPromocodeNotApplicable  = 34
	ErrPromocodeAlreadyUsed    = 35
	ErrPromocodeExpired        = 36
	ErrPromocodeRequiresClient = 37
)
View Source
const (
	LoyaltyActionNone         = "none"
	LoyaltyActionApply        = "apply"
	LoyaltyActionCollect      = "collect"
	LoyaltyActionApplyCollect = "apply-collect"
)
View Source
const (
	GenderUnknown = 0
	GenderMale    = 1
	GenderFemale  = 2
)
View Source
const ContextValueXProcessingKey = "X-Processing-Key"

Variables

This section is empty.

Functions

func BoolPtr

func BoolPtr(a bool) *bool

func Float64Ptr

func Float64Ptr(a float64) *float64

func FormatDateTime

func FormatDateTime(t time.Time) string

func IntPtr

func IntPtr(a int) *int

func ParseDateTime

func ParseDateTime(in string) (*time.Time, error)

func RussianDescription

func RussianDescription(code int) string

func StringPtr

func StringPtr(a string) *string

Types

type AdjustBalanceQuery

type AdjustBalanceQuery struct {
	Client            ClientQuery            `json:"client"`
	BalanceAdjustment BalanceAdjustmentQuery `json:"balanceAdjustment"`
}

type AdjustBalanceReply

type AdjustBalanceReply struct {
	ClientBonuses ClientBonusesReply `json:"clientBonuses"`
}

type ApplyPurchaseQuery

type ApplyPurchaseQuery struct {
	Transaction ApplyPurchaseTransaction `json:"transaction"`
}

type ApplyPurchaseReply

type ApplyPurchaseReply struct {
	Confirmation ApplyPurchaseReplyConfirmation `json:"confirmation"`
}

type ApplyPurchaseReplyBonuses

type ApplyPurchaseReplyBonuses struct {
	Applied   int `json:"applied"`
	Collected int `json:"collected"`
	Pending   int `json:"pending"`
	Available int `json:"available"`
}

type ApplyPurchaseReplyConfirmation

type ApplyPurchaseReplyConfirmation struct {
	PhoneNumber string                    `json:"phoneNumber"`
	PurchaseID  string                    `json:"purchaseId"`
	TotalAmount float64                   `json:"totalAmount"`
	PaidAmount  float64                   `json:"paidAmount"`
	Bonuses     ApplyPurchaseReplyBonuses `json:"bonuses"`
}

type ApplyPurchaseTransaction

type ApplyPurchaseTransaction struct {
	PhoneNumber                string                             `json:"phoneNumber,omitempty"`
	Card                       string                             `json:"card,omitempty"`
	ExternalID                 string                             `json:"externalId,omitempty"`
	IsAnonymousClient          bool                               `json:"isAnonymousClient,omitempty"`
	ID                         string                             `json:"id"`
	ExecutedAt                 string                             `json:"executedAt"`
	ReceiptID                  IntOrString                        `json:"receiptId,omitempty"`
	SessionID                  IntOrString                        `json:"sessionId,omitempty"`
	ShopCode                   string                             `json:"shopCode"`
	ShopName                   string                             `json:"shopName"`
	Cashier                    string                             `json:"cashier,omitempty"`
	CashierID                  string                             `json:"cashierId,omitempty"`
	LoyaltyAction              string                             `json:"loyaltyAction"`
	TotalAmount                float64                            `json:"totalAmount"`
	ApplyingAmount             *float64                           `json:"applyingAmount,omitempty"`
	CollectingAmount           *float64                           `json:"collectingAmount,omitempty"`
	ApplyBonuses               int                                `json:"applyBonuses"`
	CollectBonuses             *int                               `json:"collectBonuses,omitempty"`
	Promocode                  *ApplyPurchaseTransactionPromocode `json:"promocode,omitempty"`
	Items                      []Item                             `json:"items,omitempty"`
	IsConfirmationCodeRequired bool                               `json:"isConfirmationCodeRequired,omitempty"`
	ConfirmationCode           string                             `json:"confirmationCode,omitempty"`
}

type ApplyPurchaseTransactionPromocode

type ApplyPurchaseTransactionPromocode struct {
	Promocode         string  `json:"promocode"`
	PromocodeDiscount float64 `json:"promocodeDiscount"`
}

type ApplyReturnQuery

type ApplyReturnQuery struct {
	Transaction ApplyReturnTransaction `json:"transaction"`
}

ApplyReturnQuery is a request model for /apply-return API

type ApplyReturnReply

type ApplyReturnReply struct {
	Confirmation ApplyReturnReplyConfirmation `json:"confirmation"`
}

ApplyReturnReply is a response model for /apply-return API

type ApplyReturnReplyConfirmation

type ApplyReturnReplyConfirmation struct {
	PhoneNumber      string  `json:"phoneNumber"` // deprecated
	RefundID         string  `json:"refundId"`
	RefundAmount     float64 `json:"refundAmount"`
	RecoveredBonuses int     `json:"recoveredBonuses"`
	CancelledBonuses int     `json:"cancelledBonuses"`
}

ApplyReturnReplyConfirmation holds results for apply return

type ApplyReturnTransaction

type ApplyReturnTransaction struct {
	PhoneNumber       string  `json:"phoneNumber,omitempty"`
	Card              string  `json:"card,omitempty"`
	ExternalID        string  `json:"externalId,omitempty"`
	IsAnonymousClient bool    `json:"isAnonymousClient,omitempty"`
	ID                string  `json:"id"`
	ExecutedAt        string  `json:"executedAt"`
	PurchaseID        string  `json:"purchaseId"`
	ReceiptID         int     `json:"receiptId,omitempty"`
	SessionID         int     `json:"sessionId,omitempty"`
	ShopCode          string  `json:"shopCode"`
	ShopName          string  `json:"shopName"`
	Cashier           string  `json:"cashier,omitempty"`
	CashierID         string  `json:"cashierId,omitempty"`
	RefundAmount      float64 `json:"refundAmount"`
	Items             []Item  `json:"items,omitempty"`
}

ApplyReturnTransaction holds info for apply return

type BalanceAdjustmentQuery

type BalanceAdjustmentQuery struct {
	AmountDelta          int    `json:"amountDelta"`
	ExpirationPeriodDays int    `json:"expirationPeriodDays,omitempty"`
	Comment              string `json:"comment,omitempty"`
	Notify               bool   `json:"notify,omitempty"`
}

type CalculatePurchaseQuery

type CalculatePurchaseQuery struct {
	Calculate CalculatePurchaseQueryCalculate `json:"calculate"`
}

type CalculatePurchaseQueryCalculate

type CalculatePurchaseQueryCalculate struct {
	PhoneNumber       string          `json:"phoneNumber,omitempty"`
	Card              string          `json:"card,omitempty"`
	ExternalID        string          `json:"externalId,omitempty"`
	IsAnonymousClient bool            `json:"isAnonymousClient,omitempty"`
	LoyaltyAction     string          `json:"loyaltyAction,omitempty"`
	TotalAmount       float64         `json:"totalAmount"`
	ApplyingAmount    *float64        `json:"applyingAmount,omitempty"`
	CollectingAmount  *float64        `json:"collectingAmount,omitempty"`
	ApplyBonuses      *int            `json:"applyBonuses,omitempty"`
	CollectBonuses    *int            `json:"collectBonuses,omitempty"`
	Promocode         string          `json:"promocode,omitempty"`
	Units             map[string]Unit `json:"units,omitempty"`
	OrderID           string          `json:"orderId,omitempty"`
	ExecutedAt        *time.Time      `json:"executedAt,omitempty"`
	DoApplyBonuses    *bool           `json:"doApplyBonuses,omitempty"`   // obsolete
	DoCollectBonuses  *bool           `json:"doCollectBonuses,omitempty"` // obsolete
}

type CalculatePurchaseReply

type CalculatePurchaseReply struct {
	Calculation     CalculatePurchaseReplyCalculate `json:"calculation"`
	CalculatedUnits map[string]CalculatedUnit       `json:"calculatedUnits"`
	ClientBonuses   ClientBonusesReply              `json:"clientBonuses"`
}

type CalculatePurchaseReplyCalculate

type CalculatePurchaseReplyCalculate struct {
	AppliedBonuses     int     `json:"appliedBonuses"`
	CollectedBonuses   int     `json:"collectedBonuses"`
	AppliableBonuses   int     `json:"appliableBonuses"`   // obsolete
	CollectableBonuses int     `json:"collectableBonuses"` // obsolete
	MaxBonuses         int     `json:"maxBonuses"`
	PromocodeDiscount  float64 `json:"promocodeDiscount"`
	BonusesDiscount    float64 `json:"bonusesDiscount"`
	TotalDiscount      float64 `json:"totalDiscount"`
	TotalAmount        float64 `json:"totalAmount"` // obsolete
	RemainingAmount    float64 `json:"remainingAmount"`
	PhoneNumber        string  `json:"phoneNumber,omitempty"` // obsolete`
}

type CalculateReturnQuery

type CalculateReturnQuery struct {
	Calculate CalculateReturnQueryCalculate `json:"calculate"`
}

CalculateReturnQuery is a request model for /calculate-return API

type CalculateReturnQueryCalculate

type CalculateReturnQueryCalculate struct {
	PhoneNumber  string  `json:"phoneNumber,omitempty"`
	Card         string  `json:"card,omitempty"`
	ExternalID   string  `json:"externalId,omitempty"`
	PurchaseID   string  `json:"purchaseId"`
	RefundAmount float64 `json:"refundAmount"`
	Items        []Item  `json:"items,omitempty"`
}

CalculateReturnQueryCalculate holds info for return calculation

type CalculateReturnReply

type CalculateReturnReply struct {
	Calculation CalculateReturnReplyCalculate `json:"calculation"`
}

CalculateReturnReply is a response model for /calculate-return API

type CalculateReturnReplyCalculate

type CalculateReturnReplyCalculate struct {
	PurchaseID       string  `json:"purchaseId"`
	RefundAmount     float64 `json:"refundAmount"`
	RecoveredBonuses int     `json:"recoveredBonuses"`
	CancelledBonuses int     `json:"cancelledBonuses"`
}

CalculateReturnReplyCalculate holds results of return calculation

type CalculatedUnit

type CalculatedUnit struct {
	IsPromocodeApplicable bool    `json:"isPromocodeApplicable"`
	PromocodeDiscount     float64 `json:"promocodeDiscount"`
	BonusesDiscount       float64 `json:"bonusesDiscount"`
	TotalDiscount         float64 `json:"totalDiscount"`
	OriginalPrice         float64 `json:"originalPrice"`
	OriginalAmount        float64 `json:"originalAmount"`
	CalculatedAmount      float64 `json:"calculatedAmount"`
}

type CancelOrderQuery

type CancelOrderQuery struct {
	OrderID    string     `json:"orderId"`
	ExecutedAt *time.Time `json:"executedAt,omitempty"`
}

type CancelOrderReply

type CancelOrderReply struct {
	OperationResult SetOrderOperationResult `json:"operationResult"`
	ClientBonuses   ClientBonusesReply      `json:"clientBonuses"`
}

type CashierQuery

type CashierQuery struct {
	Code string `json:"code"`
	Name string `json:"name"`
}

type Child

type Child struct {
	Name      string `json:"name,omitempty"`
	Birthdate string `json:"birthdate,omitempty"`
	Gender    int    `json:"gender"`
}

type Client

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

func (*Client) AdjustBalance

func (c *Client) AdjustBalance(ctx context.Context, req *AdjustBalanceQuery) (*AdjustBalanceReply, error)

func (*Client) ApplyPurchase

func (c *Client) ApplyPurchase(ctx context.Context, req *ApplyPurchaseQuery) (*ApplyPurchaseReply, error)

func (*Client) ApplyReturn

func (c *Client) ApplyReturn(ctx context.Context, req *ApplyReturnQuery) (*ApplyReturnReply, error)

func (*Client) CalculatePurchase

func (c *Client) CalculatePurchase(ctx context.Context, req *CalculatePurchaseQuery) (*CalculatePurchaseReply, error)

func (*Client) CalculateReturn

func (c *Client) CalculateReturn(ctx context.Context, req *CalculateReturnQuery) (*CalculateReturnReply, error)

func (*Client) CancelOrder

func (c *Client) CancelOrder(ctx context.Context, req *CancelOrderQuery) (*CancelOrderReply, error)

func (*Client) ConfirmOrder

func (c *Client) ConfirmOrder(ctx context.Context, req *ConfirmOrderQuery) (*ConfirmOrderReply, error)

func (*Client) GetBalance

func (c *Client) GetBalance(ctx context.Context, req *GetBalanceQuery) (*GetBalanceReply, error)

func (*Client) NewClient

func (c *Client) NewClient(ctx context.Context, req *NewClientQuery) (*NewClientReply, error)

func (*Client) SendConfirmationCode

func (c *Client) SendConfirmationCode(ctx context.Context, req *SendConfirmationCodeQuery) (*SendConfirmationCodeReply, error)

func (*Client) SetOrder

func (c *Client) SetOrder(ctx context.Context, req *SetOrderQuery) (*SetOrderReply, error)

func (*Client) UpdateClient

func (c *Client) UpdateClient(ctx context.Context, req *UpdateClientQuery) (*UpdateClientReply, error)

type ClientBonusesReply

type ClientBonusesReply struct {
	Available int `json:"available"`
	Pending   int `json:"pending"`
	Reserved  int `json:"reserved"`
	Total     int `json:"total,omitempty"`
}

type ClientInterface

type ClientInterface interface {
	GetBalance(ctx context.Context, req *GetBalanceQuery) (*GetBalanceReply, error)
	NewClient(ctx context.Context, req *NewClientQuery) (*NewClientReply, error)
	UpdateClient(ctx context.Context, req *UpdateClientQuery) (*UpdateClientReply, error)
	CalculatePurchase(ctx context.Context, req *CalculatePurchaseQuery) (*CalculatePurchaseReply, error)
	ApplyPurchase(ctx context.Context, req *ApplyPurchaseQuery) (*ApplyPurchaseReply, error)
	CalculateReturn(ctx context.Context, req *CalculateReturnQuery) (*CalculateReturnReply, error)
	ApplyReturn(ctx context.Context, req *ApplyReturnQuery) (*ApplyReturnReply, error)
	SetOrder(ctx context.Context, req *SetOrderQuery) (*SetOrderReply, error)
	ConfirmOrder(ctx context.Context, req *ConfirmOrderQuery) (*ConfirmOrderReply, error)
	CancelOrder(ctx context.Context, req *CancelOrderQuery) (*CancelOrderReply, error)
	AdjustBalance(ctx context.Context, req *AdjustBalanceQuery) (*AdjustBalanceReply, error)
	SendConfirmationCode(ctx context.Context, req *SendConfirmationCodeQuery) (*SendConfirmationCodeReply, error)
}

func New

func New(config *Config) ClientInterface

type ClientQuery

type ClientQuery struct {
	PhoneNumber string `json:"phoneNumber,omitempty"`
	Card        string `json:"card,omitempty"`
	ExternalID  string `json:"externalId,omitempty"`
}

type Config

type Config struct {
	HttpClient    *http.Client
	BaseURL       string
	ProcessingKey string
	OnQuery       func(req *http.Request, body []byte)
	OnReply       func(res *http.Response, body []byte)
}

type ConfirmOrderQuery

type ConfirmOrderQuery struct {
	OrderID    string     `json:"orderId"`
	ExecutedAt *time.Time `json:"executedAt,omitempty"`
}

type ConfirmOrderReply

type ConfirmOrderReply struct {
	OperationResult SetOrderOperationResult `json:"operationResult"`
	ClientBonuses   ClientBonusesReply      `json:"clientBonuses"`
}

type ErrorReply

type ErrorReply struct {
	ErrorCode   int    `json:"errorCode"`
	Description string `json:"description"`
	Hint        string `json:"hint,omitempty"`
}

type GetBalanceQuery

type GetBalanceQuery struct {
	PhoneNumber string `json:"phoneNumber,omitempty"`
	Card        string `json:"card,omitempty"`
	ExternalID  string `json:"externalId,omitempty"`
}

type GetBalanceReply

type GetBalanceReply struct {
	Client      GetBalanceReplyClient  `json:"client"`
	Bonuses     []GetBalanceReplyBonus `json:"bonuses"`
	WalletsLink string                 `json:"walletsLink,omitempty"`
}

type GetBalanceReplyBonus

type GetBalanceReplyBonus struct {
	ExpireAt string `json:"expireAt,omitempty"`
	Amount   int    `json:"amount"`
}

type GetBalanceReplyClient

type GetBalanceReplyClient struct {
	PhoneNumber       string            `json:"phoneNumber,omitempty"`
	Card              int64             `json:"card,omitempty"`
	CardString        string            `json:"cardString,omitempty"`
	ExternalID        string            `json:"externalId,omitempty"`
	Surname           string            `json:"surname,omitempty"`
	Name              string            `json:"name,omitempty"`
	PatronymicName    string            `json:"patronymicName,omitempty"`
	FullName          string            `json:"fullName,omitempty"`
	Gender            int               `json:"gender"`
	Birthdate         string            `json:"birthdate,omitempty"`
	Email             string            `json:"email,omitempty"`
	Level             int               `json:"level"`
	IsEmailSubscribed bool              `json:"isEmailSubscribed"`
	IsPhoneSubscribed bool              `json:"isPhoneSubscribed"`
	ExtraFields       map[string]string `json:"extraFields,omitempty"`
	Bonuses           int               `json:"bonuses"`
	PendingBonuses    int               `json:"pendingBonuses"`
	Children          []Child           `json:"children,omitempty"`
}

type IntOrString

type IntOrString int

func (*IntOrString) UnmarshalJSON

func (i *IntOrString) UnmarshalJSON(b []byte) error

type Item

type Item struct {
	ExternalID         string   `json:"externalId,omitempty"`
	SKU                string   `json:"sku"`
	ItemTitle          string   `json:"itemTitle"`
	ItemCount          float64  `json:"itemCount"`
	BuyingPrice        *float64 `json:"buyingPrice,omitempty"`
	Price              float64  `json:"price"`
	Amount             *float64 `json:"amount,omitempty"`
	Category           string   `json:"category,omitempty"`
	CategoryExternalID string   `json:"categoryExternalID,omitempty"`
	MinPrice           float64  `json:"minPrice,omitempty"`
}

type NewClientClient

type NewClientClient struct {
	PhoneNumber       string            `json:"phoneNumber,omitempty"`
	Card              string            `json:"card,omitempty"`
	ExternalID        string            `json:"externalId,omitempty"`
	Surname           string            `json:"surname,omitempty"`
	Name              string            `json:"name,omitempty"`
	PatronymicName    string            `json:"patronymicName,omitempty"`
	FullName          string            `json:"fullName,omitempty"`
	Gender            int               `json:"gender,omitempty"`
	Birthdate         string            `json:"birthdate,omitempty"`
	Email             string            `json:"email,omitempty"`
	Level             int               `json:"level,omitempty"`
	IsEmailSubscribed *bool             `json:"isEmailSubscribed,omitempty"`
	IsPhoneSubscribed *bool             `json:"isPhoneSubscribed,omitempty"`
	ExtraFields       map[string]string `json:"extraFields,omitempty"`
	Children          []Child           `json:"children,omitempty"`
}

type NewClientQuery

type NewClientQuery struct {
	Client  NewClientClient `json:"client"`
	Shop    *ShopQuery      `json:"shop,omitempty"`
	Cashier *CashierQuery   `json:"cashier,omitempty"`
}

type NewClientReply

type NewClientReply struct {
	Client      GetBalanceReplyClient  `json:"client"`
	Bonuses     []GetBalanceReplyBonus `json:"bonuses"`
	WalletsLink string                 `json:"walletsLink,omitempty"`
}

type OrderQuery

type OrderQuery struct {
	ID          string           `json:"id"`
	ExecutedAt  *time.Time       `json:"executedAt,omitempty"`
	ShopCode    string           `json:"shopCode"`
	ShopName    string           `json:"shopName"`
	TotalAmount float64          `json:"totalAmount"`
	Loyalty     *SetOrderLoyalty `json:"loyalty,omitempty"`
	Promocode   string           `json:"promocode,omitempty"`
	Items       []Item           `json:"items,omitempty"`
}

type ProcessingError

type ProcessingError struct {
	Code int
	// contains filtered or unexported fields
}

type SendConfirmationCodeQuery

type SendConfirmationCodeQuery struct {
	PhoneNumber       string `json:"phoneNumber,omitempty"`
	Card              string `json:"card,omitempty"`
	ExternalID        string `json:"externalId,omitempty"`
	IsAnonymousClient bool   `json:"isAnonymousClient"`
	To                string `json:"to,omitempty"`
}

send-confirmation-code

type SendConfirmationCodeReply

type SendConfirmationCodeReply struct {
	Code      string    `json:"code"`
	MsgID     string    `json:"msgid"`
	ExpiresAt time.Time `json:"expiresAt"`
}

type SetOrderLoyalty

type SetOrderLoyalty struct {
	Action                     string       `json:"action"`
	ApplyingAmount             *float64     `json:"applyingAmount,omitempty"`
	CollectingAmount           *float64     `json:"collectingAmount,omitempty"`
	ApplyBonuses               *IntOrString `json:"applyBonuses"`
	CollectBonuses             *int         `json:"collectBonuses,omitempty"`
	IsConfirmationCodeRequired bool         `json:"isConfirmationCodeRequired,omitempty"`
	ConfirmationCode           string       `json:"confirmationCode,omitempty"`
}

type SetOrderOperationResult

type SetOrderOperationResult struct {
	AppliedBonuses   int     `json:"appliedBonuses"`
	CollectedBonuses int     `json:"collectedBonuses"`
	RemainingAmount  float64 `json:"remainingAmount"`
}

type SetOrderQuery

type SetOrderQuery struct {
	Client ClientQuery `json:"client"`
	Order  OrderQuery  `json:"order"`
}

type SetOrderReply

type SetOrderReply struct {
	OperationResult SetOrderOperationResult `json:"operationResult"`
	ClientBonuses   ClientBonusesReply      `json:"clientBonuses"`
}

type ShopQuery

type ShopQuery struct {
	Code string `json:"code"`
	Name string `json:"name"`
}

type Unit

type Unit struct {
	ExternalID         string   `json:"externalId,omitempty"`
	Sku                string   `json:"sku"`
	ItemTitle          string   `json:"itemTitle"`
	ItemCount          *float64 `json:"itemCount,omitempty"`
	BuyingPrice        *float64 `json:"buyingPrice,omitempty"`
	Price              float64  `json:"price"`
	Category           string   `json:"category,omitempty"`
	CategoryExternalID string   `json:"categoryExternalID,omitempty"`
	Amount             *float64 `json:"amount,omitempty"`
	MinPrice           float64  `json:"minPrice,omitempty"`
}

type UpdateClientQuery

type UpdateClientQuery struct {
	PhoneNumber string          `json:"phoneNumber,omitempty"`
	Card        string          `json:"card,omitempty"`
	ExternalID  string          `json:"externalId,omitempty"`
	Client      NewClientClient `json:"client"`
}

type UpdateClientReply

type UpdateClientReply struct {
	Client      GetBalanceReplyClient  `json:"client"`
	Bonuses     []GetBalanceReplyBonus `json:"bonuses"`
	WalletsLink string                 `json:"walletsLink,omitempty"`
}

Jump to

Keyboard shortcuts

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