| All Verbs | /qry/users/notifications |
|---|
# frozen_string_literal: true
# encoding: utf-8
require 'json'
require 'servicestack'
module Severity
SUCCESS = 0
INFO = 1
WARNING = 2
ERROR = 3
end
module NotificationType
DEFAULT = 0
SLIP_DELIVERY_CONFIRMATION_REQUEST = 1
SLIP_DELIVERY_ISSUE_RESOLVED = 2
end
class Notification
include ServiceStack::DTO
# @return [Severity]
attr_accessor :severity
# @return [NotificationType]
attr_accessor :type
# @return [RecordDictionary]
attr_accessor :data
def self.properties
{
severity: { name: 'severity' },
type: { name: 'type' },
data: { name: 'data', type: RecordDictionary },
}
end
end
class UserNotification
include ServiceStack::DTO
# @return [String]
attr_accessor :id
# @return [Notification]
attr_accessor :notification
# @return [DateTime]
attr_accessor :dispatched_at
def self.properties
{
id: { name: 'id' },
notification: { name: 'notification', type: Notification },
dispatched_at: { name: 'dispatchedAt', type: DateTime },
}
end
end
class UserNotifications
include ServiceStack::DTO
# @return [TrueClass]
attr_accessor :is_overflown
# @return [String]
attr_accessor :id
# @return [Integer]
attr_accessor :n
# @return [Integer]
attr_accessor :s
# @return [Integer]
attr_accessor :i
# @return [Integer]
attr_accessor :w
# @return [Integer]
attr_accessor :e
# @return [Dictionary]
attr_accessor :notifications
def self.properties
{
is_overflown: { name: 'isOverflown' },
id: { name: 'id' },
n: { name: 'n' },
s: { name: 's' },
i: { name: 'i' },
w: { name: 'w' },
e: { name: 'e' },
notifications: { name: 'notifications', type: { String => UserNotification } },
}
end
end
class GetUserNotifications
include ServiceStack::DTO
# @return [String]
attr_accessor :id
def self.properties
{
id: { name: 'id' },
}
end
def response_type() = UserNotifications
def get_type_name() = 'GetUserNotifications'
end
class RecordDictionary < Hash
end
Ruby GetUserNotifications DTOs
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/users/notifications HTTP/1.1
Host: api.bettor.webhop.biz
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"id":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"isOverflown":false,"id":"String","n":1,"s":1,"i":0,"w":0,"e":0,"notifications":{"String":{"id":"String","notification":{"severity":0,"type":0,"data":{"String":"String"}},"dispatchedAt":"0001-01-01T00:00:00.0000000Z"}}}