Six4Win.WebApi

<back to all web services

RequestPoolTransaction

Requires Authentication
The following routes are available for this service:
POST/cmd/pool-transaction/request
# frozen_string_literal: true
# encoding: utf-8


require 'json'
require 'servicestack'


class PoolRef
    include ServiceStack::DTO

    # @return [Integer]
    attr_accessor :id
    # @return [String]
    attr_accessor :name

    def self.properties
        {
            id: { name: 'id' },
            name: { name: 'name' },
        }
    end

end

class PoolTransaction
    include ServiceStack::DTO

    # @return [PoolRef]
    attr_accessor :source
    # @return [PoolRef]
    attr_accessor :destination
    # @return [BigDecimal]
    attr_accessor :amount

    def self.properties
        {
            source: { name: 'source', type: PoolRef },
            destination: { name: 'destination', type: PoolRef },
            amount: { name: 'amount' },
        }
    end

end

class RequestPoolTransaction
    include ServiceStack::DTO

    # @return [String]
    attr_accessor :id
    # @return [PoolTransaction]
    attr_accessor :transaction

    def self.properties
        {
            id: { name: 'id' },
            transaction: { name: 'transaction', type: PoolTransaction },
        }
    end

    def response_type() = ServiceStack::ResponseStatus
    def get_type_name() = 'RequestPoolTransaction'
end

Ruby RequestPoolTransaction 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 /cmd/pool-transaction/request HTTP/1.1 
Host: s4w2.api.bettor.webhop.biz 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	id: String,
	transaction: 
	{
		source: 
		{
			id: 0,
			name: String
		},
		destination: 
		{
			id: 0,
			name: String
		},
		amount: 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
	}
}