| All Verbs | /qry/integrations/wallet/ssd |
|---|
# frozen_string_literal: true
# encoding: utf-8
require 'json'
require 'servicestack'
module DeviceUserInterface
TABLET = 0
KIOSK = 1
DEFAULT = 2
UNKNOWN = -1
end
class Ref
include ServiceStack::DTO
# @return [String]
attr_accessor :id
# @return [String]
attr_accessor :val
def self.properties
{
id: { name: 'id' },
val: { name: 'val' },
}
end
end
class GPSCoordinates
include ServiceStack::DTO
# @return [Float]
attr_accessor :lat
# @return [Float]
attr_accessor :lng
def self.properties
{
lat: { name: 'lat' },
lng: { name: 'lng' },
}
end
end
class Address
include ServiceStack::DTO
# @return [String]
attr_accessor :street
# @return [String]
attr_accessor :city
# @return [String]
attr_accessor :state
# @return [String]
attr_accessor :postal_code
# @return [Ref]
attr_accessor :country
# @return [GPSCoordinates]
attr_accessor :gps
# @return [RecordDictionary]
attr_accessor :data
def self.properties
{
street: { name: 'street' },
city: { name: 'city' },
state: { name: 'state' },
postal_code: { name: 'postalCode' },
country: { name: 'country', type: Ref },
gps: { name: 'gps', type: GPSCoordinates },
data: { name: 'data', type: RecordDictionary },
}
end
end
class DeviceLocation
include ServiceStack::DTO
# @return [String]
attr_accessor :id
# @return [String]
attr_accessor :name
# @return [Address]
attr_accessor :address
# @return [RecordDictionary]
attr_accessor :data
# @return [String]
attr_accessor :taxation_authority_id
def self.properties
{
id: { name: 'id' },
name: { name: 'name' },
address: { name: 'address', type: Address },
data: { name: 'data', type: RecordDictionary },
taxation_authority_id: { name: 'taxationAuthorityId' },
}
end
end
class SSDWalletProfile
include ServiceStack::DTO
# @return [String]
attr_accessor :id
# @return [Ref]
attr_accessor :device
# @return [DeviceUserInterface]
attr_accessor :device_user_interface
# @return [DeviceLocation]
attr_accessor :location
def self.properties
{
id: { name: 'id' },
device: { name: 'device', type: Ref },
device_user_interface: { name: 'deviceUserInterface' },
location: { name: 'location', type: DeviceLocation },
}
end
end
class GetSSDWalletProfile
include ServiceStack::DTO
# @return [String]
attr_accessor :device_id
# @return [String]
attr_accessor :session_id
# @return [String]
attr_accessor :organization_id
# @return [RecordDictionary]
attr_accessor :data
def self.properties
{
device_id: { name: 'deviceId' },
session_id: { name: 'sessionId' },
organization_id: { name: 'organizationId' },
data: { name: 'data', type: RecordDictionary },
}
end
def response_type() = SSDWalletProfile
def get_type_name() = 'GetSSDWalletProfile'
end
class RecordDictionary < Hash
end
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /qry/integrations/wallet/ssd HTTP/1.1
Host: api.bettor.webhop.biz
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"deviceId":"String","sessionId":"String","organizationId":"String","data":{"String":"String"}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"id":"String","device":{"id":"String","val":"String"},"deviceUserInterface":0,"location":{"id":"String","name":"String","address":{"street":"String","city":"String","state":"String","postalCode":"String","country":{"id":"String","val":"String"},"gps":{"lat":0,"lng":0},"data":{"String":"String"}},"data":{"String":"String"},"taxationAuthorityId":"String"}}