| 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.beto2.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
}
}