Documentation
¶
Index ¶
- Constants
- func BoolPtr(a bool) *bool
- func Float64Ptr(a float64) *float64
- func FormatDateTime(t time.Time) string
- func IntPtr(a int) *int
- func ParseDateTime(in string) (*time.Time, error)
- func RussianDescription(code int) string
- func StringPtr(a string) *string
- type AdjustBalanceQuery
- type AdjustBalanceReply
- type ApplyPurchaseQuery
- type ApplyPurchaseReply
- type ApplyPurchaseReplyBonuses
- type ApplyPurchaseReplyConfirmation
- type ApplyPurchaseTransaction
- type ApplyPurchaseTransactionPromocode
- type ApplyReturnQuery
- type ApplyReturnReply
- type ApplyReturnReplyConfirmation
- type ApplyReturnTransaction
- type BalanceAdjustmentQuery
- type CalculatePurchaseQuery
- type CalculatePurchaseQueryCalculate
- type CalculatePurchaseReply
- type CalculatePurchaseReplyCalculate
- type CalculateReturnQuery
- type CalculateReturnQueryCalculate
- type CalculateReturnReply
- type CalculateReturnReplyCalculate
- type CalculatedUnit
- type CancelOrderQuery
- type CancelOrderReply
- type CashierQuery
- type Child
- type Client
- func (c *Client) AdjustBalance(ctx context.Context, req *AdjustBalanceQuery) (*AdjustBalanceReply, error)
- func (c *Client) ApplyPurchase(ctx context.Context, req *ApplyPurchaseQuery) (*ApplyPurchaseReply, error)
- func (c *Client) ApplyReturn(ctx context.Context, req *ApplyReturnQuery) (*ApplyReturnReply, error)
- func (c *Client) CalculatePurchase(ctx context.Context, req *CalculatePurchaseQuery) (*CalculatePurchaseReply, error)
- func (c *Client) CalculateReturn(ctx context.Context, req *CalculateReturnQuery) (*CalculateReturnReply, error)
- func (c *Client) CancelOrder(ctx context.Context, req *CancelOrderQuery) (*CancelOrderReply, error)
- func (c *Client) ConfirmOrder(ctx context.Context, req *ConfirmOrderQuery) (*ConfirmOrderReply, error)
- func (c *Client) GetBalance(ctx context.Context, req *GetBalanceQuery) (*GetBalanceReply, error)
- func (c *Client) NewClient(ctx context.Context, req *NewClientQuery) (*NewClientReply, error)
- func (c *Client) SendConfirmationCode(ctx context.Context, req *SendConfirmationCodeQuery) (*SendConfirmationCodeReply, error)
- func (c *Client) SetOrder(ctx context.Context, req *SetOrderQuery) (*SetOrderReply, error)
- func (c *Client) UpdateClient(ctx context.Context, req *UpdateClientQuery) (*UpdateClientReply, error)
- type ClientBonusesReply
- type ClientInterface
- type ClientQuery
- type Config
- type ConfirmOrderQuery
- type ConfirmOrderReply
- type ErrorReply
- type GetBalanceQuery
- type GetBalanceReply
- type GetBalanceReplyBonus
- type GetBalanceReplyClient
- type IntOrString
- type Item
- type NewClientClient
- type NewClientQuery
- type NewClientReply
- type OrderQuery
- type ProcessingError
- type SendConfirmationCodeQuery
- type SendConfirmationCodeReply
- type SetOrderLoyalty
- type SetOrderOperationResult
- type SetOrderQuery
- type SetOrderReply
- type ShopQuery
- type Unit
- type UpdateClientQuery
- type UpdateClientReply
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 Float64Ptr ¶
func FormatDateTime ¶
func RussianDescription ¶
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 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 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 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 CancelOrderReply ¶
type CancelOrderReply struct {
OperationResult SetOrderOperationResult `json:"operationResult"`
ClientBonuses ClientBonusesReply `json:"clientBonuses"`
}
type CashierQuery ¶
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 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 ConfirmOrderQuery ¶
type ConfirmOrderReply ¶
type ConfirmOrderReply struct {
OperationResult SetOrderOperationResult `json:"operationResult"`
ClientBonuses ClientBonusesReply `json:"clientBonuses"`
}
type ErrorReply ¶
type GetBalanceQuery ¶
type GetBalanceReply ¶
type GetBalanceReply struct {
Client GetBalanceReplyClient `json:"client"`
Bonuses []GetBalanceReplyBonus `json:"bonuses"`
WalletsLink string `json:"walletsLink,omitempty"`
}
type GetBalanceReplyBonus ¶
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 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 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 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"`
}
Click to show internal directories.
Click to hide internal directories.