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

<back to all web services

GetPricingRequest

Pricing

Retrieve pricing data for a collectible.

The following routes are available for this service:
GET/GetPricingRequestGsid or Pcgs Number is required. Grade, MinGrade and MaxGrade are optional. Specify ApiLevel=Advanced for additional collectible information.
import 'package:servicestack/servicestack.dart';

class BaseResponse implements IConvertible
{
    int? Total;
    int? OpCode;
    String? ErrorText;
    String? RequestTime;
    String? ResponseTime;
    String? TotalExecutionTime;
    bool? CachedResponse;
    bool? PermitAccess;
    String? AccessDeniedMessage;

    BaseResponse({this.Total,this.OpCode,this.ErrorText,this.RequestTime,this.ResponseTime,this.TotalExecutionTime,this.CachedResponse,this.PermitAccess,this.AccessDeniedMessage});
    BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Total = json['Total'];
        OpCode = json['OpCode'];
        ErrorText = json['ErrorText'];
        RequestTime = json['RequestTime'];
        ResponseTime = json['ResponseTime'];
        TotalExecutionTime = json['TotalExecutionTime'];
        CachedResponse = json['CachedResponse'];
        PermitAccess = json['PermitAccess'];
        AccessDeniedMessage = json['AccessDeniedMessage'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Total': Total,
        'OpCode': OpCode,
        'ErrorText': ErrorText,
        'RequestTime': RequestTime,
        'ResponseTime': ResponseTime,
        'TotalExecutionTime': TotalExecutionTime,
        'CachedResponse': CachedResponse,
        'PermitAccess': PermitAccess,
        'AccessDeniedMessage': AccessDeniedMessage
    };

    getTypeName() => "BaseResponse";
    TypeContext? context = _ctx;
}

class CdnPricingItemDto implements IConvertible
{
    int? Grade;
    String? GradeLabel;
    bool? IsCac;
    String? CpgVal;
    String? GreyVal;
    String? PcgsVal;
    String? NgcVal;
    String? BlueBookVal;

    CdnPricingItemDto({this.Grade,this.GradeLabel,this.IsCac,this.CpgVal,this.GreyVal,this.PcgsVal,this.NgcVal,this.BlueBookVal});
    CdnPricingItemDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Grade = json['Grade'];
        GradeLabel = json['GradeLabel'];
        IsCac = json['IsCac'];
        CpgVal = json['CpgVal'];
        GreyVal = json['GreyVal'];
        PcgsVal = json['PcgsVal'];
        NgcVal = json['NgcVal'];
        BlueBookVal = json['BlueBookVal'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Grade': Grade,
        'GradeLabel': GradeLabel,
        'IsCac': IsCac,
        'CpgVal': CpgVal,
        'GreyVal': GreyVal,
        'PcgsVal': PcgsVal,
        'NgcVal': NgcVal,
        'BlueBookVal': BlueBookVal
    };

    getTypeName() => "CdnPricingItemDto";
    TypeContext? context = _ctx;
}

class CdnPricingDataDto implements IConvertible
{
    int? GsId;
    String? Name;
    int? SortingPosition;
    bool? IsType;
    bool? IsSet;
    int? UiParentId;
    List<CdnPricingItemDto>? PricingData;

    CdnPricingDataDto({this.GsId,this.Name,this.SortingPosition,this.IsType,this.IsSet,this.UiParentId,this.PricingData});
    CdnPricingDataDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        GsId = json['GsId'];
        Name = json['Name'];
        SortingPosition = json['SortingPosition'];
        IsType = json['IsType'];
        IsSet = json['IsSet'];
        UiParentId = json['UiParentId'];
        PricingData = JsonConverters.fromJson(json['PricingData'],'List<CdnPricingItemDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'GsId': GsId,
        'Name': Name,
        'SortingPosition': SortingPosition,
        'IsType': IsType,
        'IsSet': IsSet,
        'UiParentId': UiParentId,
        'PricingData': JsonConverters.toJson(PricingData,'List<CdnPricingItemDto>',context!)
    };

    getTypeName() => "CdnPricingDataDto";
    TypeContext? context = _ctx;
}

class GetPricingResponse extends BaseResponse implements IConvertible
{
    List<CdnPricingDataDto>? Data;

    GetPricingResponse({this.Data});
    GetPricingResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Data = JsonConverters.fromJson(json['Data'],'List<CdnPricingDataDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Data': JsonConverters.toJson(Data,'List<CdnPricingDataDto>',context!)
    });

    getTypeName() => "GetPricingResponse";
    TypeContext? context = _ctx;
}

/**
* Retrieve pricing data for a collectible.
*/
// @Api(Description="Retrieve pricing data for a collectible.")
class GetPricingRequest implements IConvertible
{
    int? Gsid;
    String? PcgsNumber;
    String? FrNumber;
    int? Grade;
    int? MinGrade;
    int? MaxGrade;
    String? ApiLevel;

    GetPricingRequest({this.Gsid,this.PcgsNumber,this.FrNumber,this.Grade,this.MinGrade,this.MaxGrade,this.ApiLevel});
    GetPricingRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Gsid = json['Gsid'];
        PcgsNumber = json['PcgsNumber'];
        FrNumber = json['FrNumber'];
        Grade = json['Grade'];
        MinGrade = json['MinGrade'];
        MaxGrade = json['MaxGrade'];
        ApiLevel = json['ApiLevel'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Gsid': Gsid,
        'PcgsNumber': PcgsNumber,
        'FrNumber': FrNumber,
        'Grade': Grade,
        'MinGrade': MinGrade,
        'MaxGrade': MaxGrade,
        'ApiLevel': ApiLevel
    };

    getTypeName() => "GetPricingRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'publicapiv2dev.greysheet.com', types: <String, TypeInfo> {
    'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()),
    'CdnPricingItemDto': TypeInfo(TypeOf.Class, create:() => CdnPricingItemDto()),
    'CdnPricingDataDto': TypeInfo(TypeOf.Class, create:() => CdnPricingDataDto()),
    'List<CdnPricingItemDto>': TypeInfo(TypeOf.Class, create:() => <CdnPricingItemDto>[]),
    'GetPricingResponse': TypeInfo(TypeOf.Class, create:() => GetPricingResponse()),
    'List<CdnPricingDataDto>': TypeInfo(TypeOf.Class, create:() => <CdnPricingDataDto>[]),
    'GetPricingRequest': TypeInfo(TypeOf.Class, create:() => GetPricingRequest()),
});

Dart GetPricingRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /GetPricingRequest HTTP/1.1 
Host: publicapiv2dev.greysheet.com 
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Data":[{"GsId":0,"Name":"String","SortingPosition":0,"IsType":false,"IsSet":false,"UiParentId":0,"PricingData":[{"Grade":0,"GradeLabel":"String","IsCac":false,"CpgVal":"String","GreyVal":"String","PcgsVal":"String","NgcVal":"String","BlueBookVal":"String"}]}],"Total":0,"OpCode":0,"ErrorText":"String","RequestTime":"String","ResponseTime":"String","TotalExecutionTime":"String","CachedResponse":false,"PermitAccess":false,"AccessDeniedMessage":"String"}