| POST | /cmd/products/instances |
|---|
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;
namespace Betting.Common
{
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 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 ProductReference
{
public virtual string Id { get; set; }
public virtual string Value { get; set; }
public virtual string Category { get; set; }
public virtual Ref ProductProvider { get; set; }
}
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.WebApi.ServiceModel
{
public partial class InstallProductInstance
{
public virtual string Id { get; set; }
public virtual string Name { get; set; }
public virtual string Title { get; set; }
public virtual ProductReference Product { get; set; }
public virtual Ref Currency { get; set; }
public virtual BettingPolicies BettingPolicies { get; set; }
public virtual string ApiUrl { get; set; }
public virtual string BackOfficeUrl { get; set; }
public virtual string InstanceUrl { get; set; }
public virtual string FeedPlayerUrl { get; set; }
}
}
namespace Starnet.Common
{
public partial class Money
{
public virtual decimal Amount { get; set; }
public virtual string Currency { get; set; }
}
public partial class RecordList<T>
: List<T>
{
}
public partial class Ref
{
public virtual string Id { get; set; }
public virtual string Val { get; set; }
}
}
C# InstallProductInstance 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 /cmd/products/instances HTTP/1.1
Host: api.sbbet.ath.cx
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
id: String,
name: String,
title: String,
product:
{
id: String,
value: String,
category: String,
productProvider:
{
id: String,
val: String
}
},
currency:
{
id: String,
val: 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,
backOfficeUrl: String,
instanceUrl: String,
feedPlayerUrl: String
}
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
}
}