| GET | /GetCollectibleRequest | Specify ApiLevel=Advanced for additional collectible information. |
|---|
import Foundation
import ServiceStack
/**
* Retrieve collectible(s)
*/
// @Api(Description="Retrieve collectible(s)")
public class GetCollectibleRequest : Codable
{
public var gsId:Int
public var apiLevel:String
required public init(){}
}
public class CollectibleResponse : BaseResponse
{
public var data:[CollectibleDto]
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case data
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
data = try container.decodeIfPresent([CollectibleDto].self, forKey: .data) ?? []
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if data != nil { try container.encode(data, forKey: .data) }
}
}
public class BaseResponse : Codable
{
public var total:Int
public var opCode:Int
public var errorText:String
public var requestTime:String
public var responseTime:String
public var totalExecutionTime:String
public var cachedResponse:Bool
public var permitAccess:Bool
public var accessDeniedMessage:String
required public init(){}
}
public class CollectibleDto : Codable
{
public var gsid:Int
public var uiParentId:Int?
public var name:String
public var pcgsNumber:String
public var friedbergNumber:String
public var coinDate:String
public var denominationShort:String
public var denominationLong:String
public var variety:String
public var variety2:String
public var desg:String
public var other:String
public var `prefix`:String
public var mintMark:String
public var composition:String
public var mintage:String
public var strikeType:String
public var diameter:String
public var fineness:String
public var weightGrams:Double
public var weightOunces:Double
public var designer:String
public var edge:String
public var rarity:String
public var coinShape:String
public var Description:String
public var generalNotes:String
public var generalNotesSource:String
public var generalCoinLettering:String
public var obverseDescription:String
public var obverseDesigner:String
public var obverseLettering:String
public var reverseDescription:String
public var reverseDesigner:String
public var reverseLettering:String
public var bnBNumber:String
public var noteColor:String
public var noteDimension:String
public var pickNumber:String
public var watermark:String
public var printer:String
public var noteSecurityThread:String
public var notePaperType:String
public var bnbSignatureName1:String
public var bnbSignatureName2:String
public var bnbSignatureName3:String
public var obsoleteBankId:String
public var obsoleteStateName:String
public var obsoleteCityName:String
public var obsoleteBankName:String
public var haxbyNumber:String
public var bnbTitle:String
public var issueNumber:String
public var issueMonth:Int
public var issueYear:Int
public var variant:String
public var artComment1:String
public var artComment2:String
public var artComment3:String
public var keyComment1:String
public var keyComment2:String
public var keyComment3:String
public var ngc:String
public var krause:String
public var ebayCategory1:Int
public var featuredImageUrl:String
public var featuredImageAttribution:String
public var isType:Bool
public var isSet:Bool
public var priceLow:Double
public var priceHigh:Double
public var is100GreatestUSCoins:Int
public var is100GreatestUSPaperMoney:Int
public var is100GreatestWorldPaperMoney:Int
public var is100GreatestModernUsCoins:Int
public var isRedbook:Bool
public var isCherryPicker:Bool
public var rootNode_Id:Int
public var parentNode_Id:Int
public var parentNodeName:String
public var sortingPosition:Int
public var catalogPath:[NodeDto]
required public init(){}
}
public class NodeDto : Codable
{
public var id:Int
public var name:String
public var Description:String
public var featuredImageUrl:String
public var featuredImageAttribution:String
public var flagCode:String
public var countryName:String
public var sortingPosition:Int
public var nodeChildrenCountLive:Int
public var collectibleChildrenCountLive:Int
public var parentNode_Id:Int?
public var rootNode_Id:Int?
public var childNodes:[NodeDto]
required public init(){}
}
Swift GetCollectibleRequest 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.
GET /GetCollectibleRequest HTTP/1.1 Host: cpgpublicapiv2dev.greysheet.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Data:
[
{
Gsid: 0,
UiParentId: 0,
Name: String,
PcgsNumber: String,
FriedbergNumber: String,
CoinDate: String,
DenominationShort: String,
DenominationLong: String,
Variety: String,
Variety2: String,
Desg: String,
Other: String,
Prefix: String,
MintMark: String,
Composition: String,
Mintage: String,
StrikeType: String,
Diameter: String,
Fineness: String,
WeightGrams: 0,
WeightOunces: 0,
Designer: String,
Edge: String,
Rarity: String,
CoinShape: String,
Description: String,
GeneralNotes: String,
GeneralNotesSource: String,
GeneralCoinLettering: String,
ObverseDescription: String,
ObverseDesigner: String,
ObverseLettering: String,
ReverseDescription: String,
ReverseDesigner: String,
ReverseLettering: String,
BnBNumber: String,
NoteColor: String,
NoteDimension: String,
PickNumber: String,
Watermark: String,
Printer: String,
NoteSecurityThread: String,
NotePaperType: String,
BnbSignatureName1: String,
BnbSignatureName2: String,
BnbSignatureName3: String,
ObsoleteBankId: String,
ObsoleteStateName: String,
ObsoleteCityName: String,
ObsoleteBankName: String,
HaxbyNumber: String,
BnbTitle: String,
IssueNumber: String,
IssueMonth: 0,
IssueYear: 0,
Variant: String,
ArtComment1: String,
ArtComment2: String,
ArtComment3: String,
KeyComment1: String,
KeyComment2: String,
KeyComment3: String,
Ngc: String,
Krause: String,
EbayCategory1: 0,
FeaturedImageUrl: String,
FeaturedImageAttribution: String,
IsType: False,
IsSet: False,
PriceLow: 0,
PriceHigh: 0,
Is100GreatestUSCoins: 0,
Is100GreatestUSPaperMoney: 0,
Is100GreatestWorldPaperMoney: 0,
Is100GreatestModernUsCoins: 0,
IsRedbook: False,
IsCherryPicker: False,
RootNode_Id: 0,
ParentNode_Id: 0,
ParentNodeName: String,
SortingPosition: 0,
CatalogPath:
[
{
Id: 0,
Name: String,
Description: String,
FeaturedImageUrl: String,
FeaturedImageAttribution: String,
FlagCode: String,
CountryName: String,
SortingPosition: 0,
NodeChildrenCountLive: 0,
CollectibleChildrenCountLive: 0,
ParentNode_Id: 0,
RootNode_Id: 0,
ChildNodes:
[
{
Id: 0,
Name: String,
Description: String,
FeaturedImageUrl: String,
FeaturedImageAttribution: String,
FlagCode: String,
CountryName: String,
SortingPosition: 0,
NodeChildrenCountLive: 0,
CollectibleChildrenCountLive: 0,
ParentNode_Id: 0,
RootNode_Id: 0,
ChildNodes:
[
{
Id: 0,
Name: String,
Description: String,
FeaturedImageUrl: String,
FeaturedImageAttribution: String,
FlagCode: String,
CountryName: String,
SortingPosition: 0,
NodeChildrenCountLive: 0,
CollectibleChildrenCountLive: 0,
ParentNode_Id: 0,
RootNode_Id: 0
}
]
}
]
}
]
}
],
Total: 0,
OpCode: 0,
ErrorText: String,
RequestTime: String,
ResponseTime: String,
TotalExecutionTime: String,
CachedResponse: False,
PermitAccess: False,
AccessDeniedMessage: String
}