Betting.WebApi

<back to all web services

NotifyFrontend

The following routes are available for this service:
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

Go NotifyFrontend DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

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/csv
Content-Type: text/csv
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/csv
Content-Length: length

{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}