Betting.WebApi

<back to all web services

NotifyFrontend

The following routes are available for this service:
All Verbs/cmd/notify/frontend/
namespace Betting.WebApi.ServiceModel

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type BettingApp() = 
        member val Name:String = null with get,set
        member val Version:String = null with get,set

    [<AllowNullLiteral>]
    type Ref() = 
        member val Id:String = null with get,set
        member val Val:String = null with get,set

    [<AllowNullLiteral>]
    type RefEx() = 
        inherit Ref()
        member val Data:RecordDictionary<String, String> = null with get,set

    [<AllowNullLiteral>]
    type Origin() = 
        member val Application:BettingApp = null with get,set
        member val IP:String = null with get,set
        member val Organization:RefEx = null with get,set
        member val Region:Ref = null with get,set
        member val LocationGroup:Ref = null with get,set
        member val Location:RefEx = null with get,set
        member val Device:RefEx = null with get,set
        member val Clerk:Ref = null with get,set

    type SlipSubmissionStatus =
        | Pending = 0
        | Accepted = 2
        | Rejected = 3
        | Failed = 4

    [<AllowNullLiteral>]
    type AcceptedSlipInfo() = 
        member val Id:String = null with get,set
        member val Origin:Origin = null with get,set
        member val Bettor:Ref = null with get,set
        member val SlipSubmissionStatus:SlipSubmissionStatus = new SlipSubmissionStatus() with get,set

    [<AllowNullLiteral>]
    type ErrorInfo() = 
        member val Origin:Origin = null with get,set
        member val ErrorCode:String = null with get,set
        member val ErrorDescription:String = null with get,set
        member val Payload:Dictionary<String, String> = null with get,set

    [<AllowNullLiteral>]
    type ConfirmationInfo() = 
        member val Bettor:Ref = null with get,set
        member val Origin:Origin = null with get,set
        member val ConfirmationCode:String = null with get,set
        member val ConfirmationDescription:String = null with get,set
        member val Payload:Dictionary<String, String> = null with get,set

    [<AllowNullLiteral>]
    type WalletTransactionInfo() = 
        member val Reason:String = null with get,set

    [<AllowNullLiteral>]
    type WalletUpdateInfo() = 
        member val Bettor:Ref = null with get,set
        member val Origin:Origin = null with get,set
        member val TransactionInfo:WalletTransactionInfo = null with get,set

    [<AllowNullLiteral>]
    type UserNotificationsUpdatedInfo() = 
        member val Id:String = null with get,set

    [<AllowNullLiteral>]
    type ApplicationEventsUpdated() = 
        class end

    [<AllowNullLiteral>]
    type SlipDeliveryIssueRefundRequestUpdated() = 
        class end

    [<AllowNullLiteral>]
    type NotifyFrontend() = 
        member val AcceptedSlipInfo:AcceptedSlipInfo = null with get,set
        member val ErrorInfo:ErrorInfo = null with get,set
        member val ConfirmationInfo:ConfirmationInfo = null with get,set
        member val SlipCancellationId:String = null with get,set
        member val WalletUpdatedInfo:WalletUpdateInfo = null with get,set
        member val UserNotificationsUpdated:UserNotificationsUpdatedInfo = null with get,set
        member val ApplicationEventsUpdated:ApplicationEventsUpdated = null with get,set
        member val SlipDeliveryIssueRefundRequestUpdated:SlipDeliveryIssueRefundRequestUpdated = null with get,set

    [<AllowNullLiteral>]
    type RecordDictionary<TKey, TVal>() = 
        inherit Dictionary<TKey, TVal>()

F# NotifyFrontend DTOs

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

HTTP + 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.sbbet.ath.cx 
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
	},
	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
	}
}