| All Verbs | /qry/configurations/productInstances |
|---|
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Betting.WebApi.ServiceModel;
using Betting.Common;
using Starnet.Common;
using Betting.ReadModel.ProductDelivery;
namespace Betting.Common
{
public partial class BettingApp
{
public virtual string? Name { get; set; }
public virtual string? Version { get; set; }
}
public partial class BettingPolicies
{
public virtual RecordList<PayinConstraint>? PayinConstraints { get; set; }
public virtual string? PayinTaxationPolicyId { get; set; }
public virtual RecordList<WinningsCap>? WinningsCaps { get; set; }
public virtual string? WinningsTaxationPolicyId { get; set; }
}
public partial class Origin
{
public virtual BettingApp? Application { get; set; }
public virtual string? IP { get; set; }
public virtual RefEx? Organization { get; set; }
public virtual Ref? Region { get; set; }
public virtual Ref? LocationGroup { get; set; }
public virtual RefEx? Location { get; set; }
public virtual RefEx? Device { get; set; }
public virtual Ref? Clerk { get; set; }
}
public partial class PayinConstraint
{
public virtual PayinConstraintType Type { get; set; }
public virtual Money? Min { get; set; }
public virtual Money? Default { get; set; }
public virtual Money? WarningThreshold { get; set; }
public virtual Money? Max { get; set; }
}
public enum PayinConstraintType
{
SingleBet = 0,
MultiBet = 1,
SystemBet = 2,
}
public partial class WinningsCap
{
public virtual WinningsCapType Type { get; set; }
public virtual Money? Cap { get; set; }
}
public enum WinningsCapType
{
SingleBet = 0,
MultiBet = 1,
SystemBet = 2,
}
}
namespace Betting.ReadModel.ProductDelivery
{
public partial class ProductInstanceConfiguration
{
public virtual string? Id { get; set; }
public virtual BettingPolicies? BettingPolicies { get; set; }
public virtual string? ApiUrl { get; set; }
public virtual Dictionary<string, string>? Settings { get; set; }
}
}
namespace Betting.WebApi.ServiceModel
{
public partial class GetProductInstanceConfiguration
{
public virtual string? Id { get; set; }
public virtual Origin? Origin { get; set; }
}
}
namespace Starnet.Common
{
public partial class Money
{
public virtual decimal Amount { get; set; }
public virtual string Currency { get; set; }
}
public partial class RecordDictionary<TKey, TVal>
: Dictionary<TKey, TVal>
{
}
public partial class RecordList<T>
: List<T>
{
}
public partial class Ref
{
public virtual string Id { get; set; }
public virtual string Val { get; set; }
}
public partial class RefEx
: Ref
{
public virtual RecordDictionary<string, string> Data { get; set; }
}
}
C# GetProductInstanceConfiguration DTOs
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 /qry/configurations/productInstances HTTP/1.1
Host: api.bettor.webhop.biz
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
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
}
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
id: String,
bettingPolicies:
{
payinConstraints:
[
{
type: 0,
min:
{
amount: 0,
currency: String
},
default:
{
amount: 0,
currency: String
},
warningThreshold:
{
amount: 0,
currency: String
},
max:
{
amount: 0,
currency: String
}
}
],
payinTaxationPolicyId: String,
winningsCaps:
[
{
type: 0,
cap:
{
amount: 0,
currency: String
}
}
],
winningsTaxationPolicyId: String
},
apiUrl: String,
settings:
{
String: String
}
}