FBiHBetting.Aggregator.WebApi

<back to all web services

ReportBetPayouts

The following routes are available for this service:
POST/bets/payout
import Foundation
import ServiceStack

public class ReportBetPayouts : Codable
{
    public var betPayouts:[BetPayout]

    required public init(){}
}

public class BetPayout : Codable
{
    public var id:String
    public var origin:Origin
    public var betPaidOutAt:Date
    public var payload:[String:String]
    public var paymentOrigin:PaymentOrigin
    public var payoutRecap:PayoutRecap

    required public init(){}
}

public class Origin : Codable
{
    public var device:Reference
    public var location:Reference
    public var locationGroup:Reference
    public var organization:Reference
    public var productInstance:ProductInstanceRef

    required public init(){}
}

public class Reference : Codable
{
    public var id:String
    public var value:String

    required public init(){}
}

public class ProductInstanceRef : Codable
{
    public var id:String
    public var name:String
    public var product:ProductReference

    required public init(){}
}

public class ProductReference : Codable
{
    public var id:String
    public var value:String
    public var category:ProductCategory
    public var productProvider:Reference

    required public init(){}
}

public enum ProductCategory : Int, Codable
{
    case Sportsbook = 0
    case RNG = 1
}

public enum PaymentOrigin : Int, Codable
{
    case POS = 0
    case SMS = 1
    case Internet = 2
}

public class PayoutRecap : Codable
{
    public var winnings:Double
    public var taxAmount:Double
    public var payout:Double

    required public init(){}
}


Swift ReportBetPayouts 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 /bets/payout HTTP/1.1 
Host: fbihtaapi.bettor.webhop.biz 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	betPayouts: 
	[
		{
			id: String,
			origin: 
			{
				device: 
				{
					id: String,
					value: String
				},
				location: 
				{
					id: String,
					value: String
				},
				locationGroup: 
				{
					id: String,
					value: String
				},
				organization: 
				{
					id: String,
					value: String
				},
				productInstance: 
				{
					id: String,
					name: String,
					product: 
					{
						id: String,
						value: String,
						category: 0,
						productProvider: 
						{
							id: String,
							value: String
						}
					}
				}
			},
			betPaidOutAt: 0001-01-01,
			payload: 
			{
				String: String
			},
			paymentOrigin: 0,
			payoutRecap: 
			{
				winnings: 0,
				taxAmount: 0,
				payout: 0
			}
		}
	]
}
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
	}
}