| All Verbs | /cmd/notify/frontend/ |
|---|
package dtos
type BettingApp struct {
Name *string `json:"name,omitempty"`
Version *string `json:"version,omitempty"`
}
type Ref struct {
Id string `json:"id"`
Val string `json:"val"`
}
type RefEx struct {
Ref
Data RecordDictionary[string, string] `json:"data"`
}
type Origin struct {
Application *BettingApp `json:"application,omitempty"`
Ip *string `json:"ip,omitempty"`
Organization *RefEx `json:"organization,omitempty"`
Region *Ref `json:"region,omitempty"`
LocationGroup *Ref `json:"locationGroup,omitempty"`
Location *RefEx `json:"location,omitempty"`
Device *RefEx `json:"device,omitempty"`
Clerk *Ref `json:"clerk,omitempty"`
}
type SlipSubmissionStatus int
const (
SlipSubmissionStatusPending SlipSubmissionStatus = 0
SlipSubmissionStatusAccepted SlipSubmissionStatus = 2
SlipSubmissionStatusRejected SlipSubmissionStatus = 3
SlipSubmissionStatusFailed SlipSubmissionStatus = 4
)
type AcceptedSlipInfo struct {
Id *string `json:"id,omitempty"`
Origin *Origin `json:"origin,omitempty"`
Bettor *Ref `json:"bettor,omitempty"`
SlipSubmissionStatus SlipSubmissionStatus `json:"slipSubmissionStatus,omitempty"`
Payload *RecordDictionary[string, string] `json:"payload,omitempty"`
}
type ErrorInfo struct {
Origin *Origin `json:"origin,omitempty"`
ErrorCode *string `json:"errorCode,omitempty"`
ErrorDescription *string `json:"errorDescription,omitempty"`
Payload map[string]string `json:"payload,omitempty"`
}
type ConfirmationInfo struct {
Bettor *Ref `json:"bettor,omitempty"`
Origin *Origin `json:"origin,omitempty"`
ConfirmationCode *string `json:"confirmationCode,omitempty"`
ConfirmationDescription *string `json:"confirmationDescription,omitempty"`
Payload map[string]string `json:"payload,omitempty"`
}
type WalletTransactionInfo struct {
Reason *string `json:"reason,omitempty"`
}
type WalletUpdateInfo struct {
Bettor *Ref `json:"bettor,omitempty"`
Origin *Origin `json:"origin,omitempty"`
TransactionInfo *WalletTransactionInfo `json:"transactionInfo,omitempty"`
}
type UserNotificationsUpdatedInfo struct {
Id *string `json:"id,omitempty"`
}
type ApplicationEventsUpdated struct {
}
type SlipDeliveryIssueRefundRequestUpdated struct {
}
type NotifyFrontend struct {
AcceptedSlipInfo *AcceptedSlipInfo `json:"acceptedSlipInfo,omitempty"`
ErrorInfo *ErrorInfo `json:"errorInfo,omitempty"`
ConfirmationInfo *ConfirmationInfo `json:"confirmationInfo,omitempty"`
SlipCancellationId *string `json:"slipCancellationId,omitempty"`
WalletUpdatedInfo *WalletUpdateInfo `json:"walletUpdatedInfo,omitempty"`
UserNotificationsUpdated *UserNotificationsUpdatedInfo `json:"userNotificationsUpdated,omitempty"`
ApplicationEventsUpdated *ApplicationEventsUpdated `json:"applicationEventsUpdated,omitempty"`
SlipDeliveryIssueRefundRequestUpdated *SlipDeliveryIssueRefundRequestUpdated `json:"slipDeliveryIssueRefundRequestUpdated,omitempty"`
}
type RecordDictionary[TKey any, TVal any] map[TKey]TVal
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /cmd/notify/frontend/ HTTP/1.1
Host: api.bettor.webhop.biz
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
acceptedSlipInfo:
{
id: String,
origin:
{
application:
{
name: String,
version: String
},
ip: String,
organization:
{
data:
{
String: String
},
id: String,
val: String
},
region:
{
id: String,
val: String
},
locationGroup:
{
id: String,
val: String
},
location:
{
data:
{
String: String
},
id: String,
val: String
},
device:
{
data:
{
String: String
},
id: String,
val: String
},
clerk:
{
id: String,
val: String
}
},
bettor:
{
id: String,
val: String
},
slipSubmissionStatus: 0,
payload:
{
String: String
}
},
errorInfo:
{
origin:
{
application:
{
name: String,
version: String
},
ip: String,
organization:
{
data:
{
String: String
},
id: String,
val: String
},
region:
{
id: String,
val: String
},
locationGroup:
{
id: String,
val: String
},
location:
{
data:
{
String: String
},
id: String,
val: String
},
device:
{
data:
{
String: String
},
id: String,
val: String
},
clerk:
{
id: String,
val: String
}
},
errorCode: String,
errorDescription: String,
payload:
{
String: String
}
},
confirmationInfo:
{
bettor:
{
id: String,
val: String
},
origin:
{
application:
{
name: String,
version: String
},
ip: String,
organization:
{
data:
{
String: String
},
id: String,
val: String
},
region:
{
id: String,
val: String
},
locationGroup:
{
id: String,
val: String
},
location:
{
data:
{
String: String
},
id: String,
val: String
},
device:
{
data:
{
String: String
},
id: String,
val: String
},
clerk:
{
id: String,
val: String
}
},
confirmationCode: String,
confirmationDescription: String,
payload:
{
String: String
}
},
slipCancellationId: String,
walletUpdatedInfo:
{
bettor:
{
id: String,
val: String
},
origin:
{
application:
{
name: String,
version: String
},
ip: String,
organization:
{
data:
{
String: String
},
id: String,
val: String
},
region:
{
id: String,
val: String
},
locationGroup:
{
id: String,
val: String
},
location:
{
data:
{
String: String
},
id: String,
val: String
},
device:
{
data:
{
String: String
},
id: String,
val: String
},
clerk:
{
id: String,
val: String
}
},
transactionInfo:
{
reason: String
}
},
userNotificationsUpdated:
{
id: String
},
applicationEventsUpdated: {},
slipDeliveryIssueRefundRequestUpdated: {}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}