Cdn Public Collector's Pricing Guide (CPG) API V2

<back to all web services

GetCollectibleRequest

Catalog

Retrieve collectible(s)

The following routes are available for this service:
GET/GetCollectibleRequestSpecify 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

HTTP + 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
}