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: 'cpgpublicapiv2dev.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 .xml suffix or ?format=xml

HTTP + XML

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

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

<GetPricingResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Cdn.PublicApiV2.ResponseObjects">
  <AccessDeniedMessage>String</AccessDeniedMessage>
  <CachedResponse>false</CachedResponse>
  <ErrorText>String</ErrorText>
  <OpCode>0</OpCode>
  <PermitAccess>false</PermitAccess>
  <RequestTime>String</RequestTime>
  <ResponseTime>String</ResponseTime>
  <Total>0</Total>
  <TotalExecutionTime>String</TotalExecutionTime>
  <Data xmlns:d2p1="http://schemas.datacontract.org/2004/07/Cdn.PublicApiV2.Dto">
    <d2p1:CdnPricingDataDto>
      <d2p1:GsId>0</d2p1:GsId>
      <d2p1:IsSet>false</d2p1:IsSet>
      <d2p1:IsType>false</d2p1:IsType>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:PricingData>
        <d2p1:CdnPricingItemDto>
          <d2p1:BlueBookVal>String</d2p1:BlueBookVal>
          <d2p1:CpgVal>String</d2p1:CpgVal>
          <d2p1:Grade>0</d2p1:Grade>
          <d2p1:GradeLabel>String</d2p1:GradeLabel>
          <d2p1:GreyVal>String</d2p1:GreyVal>
          <d2p1:IsCac>false</d2p1:IsCac>
          <d2p1:NgcVal>String</d2p1:NgcVal>
          <d2p1:PcgsVal>String</d2p1:PcgsVal>
        </d2p1:CdnPricingItemDto>
      </d2p1:PricingData>
      <d2p1:SortingPosition>0</d2p1:SortingPosition>
      <d2p1:UiParentId>0</d2p1:UiParentId>
    </d2p1:CdnPricingDataDto>
  </Data>
</GetPricingResponse>