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

<back to all web services

GetNodeChildrenRequest

Catalog

Retrieve node children for a given node

The following routes are available for this service:
GET/GetNodeChildrenRequestThis will return no data for those nodes with collectible children. There is no advanced APi version for this call.
import Foundation
import ServiceStack

/**
* Retrieve node children for a given node
*/
// @Api(Description="Retrieve node children for a given node")
public class GetNodeChildrenRequest : Codable
{
    public var nodeId:Int?

    required public init(){}
}

public class NodeResponse : BaseResponse
{
    public var data:[NodeDto]

    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([NodeDto].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 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 GetNodeChildrenRequest 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 /GetNodeChildrenRequest HTTP/1.1 
Host: cpgpublicapiv2dev.greysheet.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<NodeResponse 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:NodeDto>
      <d2p1:ChildNodes>
        <d2p1:NodeDto>
          <d2p1:ChildNodes>
            <d2p1:NodeDto>
              <d2p1:ChildNodes i:nil="true" />
              <d2p1:CollectibleChildrenCountLive>0</d2p1:CollectibleChildrenCountLive>
              <d2p1:CountryName>String</d2p1:CountryName>
              <d2p1:Description>String</d2p1:Description>
              <d2p1:FeaturedImageAttribution>String</d2p1:FeaturedImageAttribution>
              <d2p1:FeaturedImageUrl>String</d2p1:FeaturedImageUrl>
              <d2p1:FlagCode>String</d2p1:FlagCode>
              <d2p1:Id>0</d2p1:Id>
              <d2p1:Name>String</d2p1:Name>
              <d2p1:NodeChildrenCountLive>0</d2p1:NodeChildrenCountLive>
              <d2p1:ParentNode_Id>0</d2p1:ParentNode_Id>
              <d2p1:RootNode_Id>0</d2p1:RootNode_Id>
              <d2p1:SortingPosition>0</d2p1:SortingPosition>
            </d2p1:NodeDto>
          </d2p1:ChildNodes>
          <d2p1:CollectibleChildrenCountLive>0</d2p1:CollectibleChildrenCountLive>
          <d2p1:CountryName>String</d2p1:CountryName>
          <d2p1:Description>String</d2p1:Description>
          <d2p1:FeaturedImageAttribution>String</d2p1:FeaturedImageAttribution>
          <d2p1:FeaturedImageUrl>String</d2p1:FeaturedImageUrl>
          <d2p1:FlagCode>String</d2p1:FlagCode>
          <d2p1:Id>0</d2p1:Id>
          <d2p1:Name>String</d2p1:Name>
          <d2p1:NodeChildrenCountLive>0</d2p1:NodeChildrenCountLive>
          <d2p1:ParentNode_Id>0</d2p1:ParentNode_Id>
          <d2p1:RootNode_Id>0</d2p1:RootNode_Id>
          <d2p1:SortingPosition>0</d2p1:SortingPosition>
        </d2p1:NodeDto>
      </d2p1:ChildNodes>
      <d2p1:CollectibleChildrenCountLive>0</d2p1:CollectibleChildrenCountLive>
      <d2p1:CountryName>String</d2p1:CountryName>
      <d2p1:Description>String</d2p1:Description>
      <d2p1:FeaturedImageAttribution>String</d2p1:FeaturedImageAttribution>
      <d2p1:FeaturedImageUrl>String</d2p1:FeaturedImageUrl>
      <d2p1:FlagCode>String</d2p1:FlagCode>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:NodeChildrenCountLive>0</d2p1:NodeChildrenCountLive>
      <d2p1:ParentNode_Id>0</d2p1:ParentNode_Id>
      <d2p1:RootNode_Id>0</d2p1:RootNode_Id>
      <d2p1:SortingPosition>0</d2p1:SortingPosition>
    </d2p1:NodeDto>
  </Data>
</NodeResponse>