| 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.bettor.webhop.biz
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
}
}