Hi Everyone,
I'm currently able to return an entry from the API however, I don't see anyway to get the full url without getting the parent product/nodes to build the url which wouldn't be efficient.
Here's my code so far.
if (_token == null || !_token.IsExpired()) _token = GetToken(this.ApiConfig.Username, this.ApiConfig.Password);
using (var client = new HttpClient() { BaseAddress = new Uri(this.ApiConfig.URL) })
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _token.AccessToken);
HttpResponseMessage response = client.GetAsync(String.Format($"/episerverapi/commerce/entries/{entryCode}", entryCode)).Result;
if (response.StatusCode == HttpStatusCode.OK)
{
using (StreamReader reader = new StreamReader(response.Content.ReadAsStreamAsync().Result))
{
var json = reader.ReadToEnd();
ce = JsonConvert.DeserializeObject<Entry>(json);
}
}
}
I'm using the models right out of the github api sample located here: https://github.com/episerver/ServiceApi-Client/tree/master/EPiServer.ServiceApi.Client/Models/Catalog.
The, API call to '/episerverapi/commerce/entries/{entryCode}' returns this json.
{ "Code":"32452","ApplicationId":"e14675f9-a54b-40bd-a9a1-ccf63e5dd6dd","Name":"11.5mm Dia x 20mm FL, Grade 1, Achromatic Lens","StartDate":"2016-07-08T04:00:00Z","EndDate":"2026-07-19T19:48:24.85Z","IsActive":true,"MetaClass":"Part Number","Catalog":"EdmundOptics","MetaFields":[
{ "Name":"AdditionalDetail","Type":"LongHtmlString","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":""
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
},
{ "Name":"ceCertified","Type":"Boolean","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":""
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
},
{ "Name":"DisplayName","Type":"ShortString","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":"11.5mm Dia x 20mm FL, Grade 1, Achromatic Lens"
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
},
{ "Name":"Epi_IsPublished","Type":"Boolean","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":"True"
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
},
{ "Name":"Epi_StartPublish","Type":"DateTime","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":"7/8/2016 4:00:00 AM"
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
},
{ "Name":"Epi_StopPublish","Type":"DateTime","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":"7/19/2026 7:48:24 PM"
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
},
{ "Name":"groupCode","Type":"LongString","Data":[
{ "Language":"de","Value":"OPL A"
},
{ "Language":"en","Value":"OPL A"
},
{ "Language":"en-au","Value":"OPL A"
},
{ "Language":"en-gb","Value":"OPL A"
},
{ "Language":"en-ie","Value":"OPL A"
},
{ "Language":"en-sg","Value":"OPL A"
},
{ "Language":"es-es","Value":"OPL A"
},
{ "Language":"es-mx","Value":"OPL A"
},
{ "Language":"fr","Value":"OPL A"
},
{ "Language":"ja-jp","Value":"OPL A"
},
{ "Language":"ko-kr","Value":"OPL A"
},
{ "Language":"zh-cn","Value":"OPL A"
},
{ "Language":"zh-tw","Value":"OPL A"
}
]
},
{ "Name":"hazmat","Type":"Boolean","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":""
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
},
{ "Name":"InternalNotes","Type":"LongHtmlString","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":""
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
},
{ "Name":"isAccessory","Type":"Boolean","Data":[
{ "Language":"de","Value":"True"
},
{ "Language":"en","Value":"True"
},
{ "Language":"en-au","Value":"True"
},
{ "Language":"en-gb","Value":"True"
},
{ "Language":"en-ie","Value":"True"
},
{ "Language":"en-sg","Value":"True"
},
{ "Language":"es-es","Value":"True"
},
{ "Language":"es-mx","Value":"True"
},
{ "Language":"fr","Value":"True"
},
{ "Language":"ja-jp","Value":"True"
},
{ "Language":"ko-kr","Value":"True"
},
{ "Language":"zh-cn","Value":"True"
},
{ "Language":"zh-tw","Value":"True"
}
]
},
{ "Name":"itemClassId","Type":"Integer","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":""
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
},
{ "Name":"newItemClassDate","Type":"DateTime","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":""
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
},
{ "Name":"oversized","Type":"Boolean","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":""
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
},
{ "Name":"partNumber","Type":"LongString","Data":[
{ "Language":"de","Value":"32-452"
},
{ "Language":"en","Value":"32-452"
},
{ "Language":"en-au","Value":"32-452"
},
{ "Language":"en-gb","Value":"32-452"
},
{ "Language":"en-ie","Value":"32-452"
},
{ "Language":"en-sg","Value":"32-452"
},
{ "Language":"es-es","Value":"32-452"
},
{ "Language":"es-mx","Value":"32-452"
},
{ "Language":"fr","Value":"32-452"
},
{ "Language":"ja-jp","Value":"32-452"
},
{ "Language":"ko-kr","Value":"32-452"
},
{ "Language":"zh-cn","Value":"32-452"
},
{ "Language":"zh-tw","Value":"32-452"
}
]
},
{ "Name":"partNumberDescription","Type":"LongString","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":"11.5mm Dia x 20mm FL, Grade 1, Achromatic Lens"
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
},
{ "Name":"productClass","Type":"LongString","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":""
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
},
{ "Name":"ProductSchema","Type":"Integer","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":""
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
},
{ "Name":"rohsStatus","Type":"LongString","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":""
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
},
{ "Name":"Specifications","Type":"LongString","Data":[
{ "Language":"de","Value":""
},
{ "Language":"en","Value":""
},
{ "Language":"en-au","Value":""
},
{ "Language":"en-gb","Value":""
},
{ "Language":"en-ie","Value":""
},
{ "Language":"en-sg","Value":""
},
{ "Language":"es-es","Value":""
},
{ "Language":"es-mx","Value":""
},
{ "Language":"fr","Value":""
},
{ "Language":"ja-jp","Value":""
},
{ "Language":"ko-kr","Value":""
},
{ "Language":"zh-cn","Value":""
},
{ "Language":"zh-tw","Value":""
}
]
}
],"SeoInformation":[
{ "Title":"","Uri":"115mm-Dia-x-20mm-FL-Grade-1-Achromatic-Lens-de.aspx","UriSegment":"11.5mm-dia-x-20mm-fl-grade-1-achromatic-lens","Description":"","Keywords":"","LanguageCode":"de"
},
{ "Title":"","Uri":"115mm-Dia-x-20mm-FL-Grade-1-Achromatic-Lens-en-au.aspx","UriSegment":"11.5mm-dia-x-20mm-fl-grade-1-achromatic-lens","Description":"","Keywords":"","LanguageCode":"en-au"
},
{ "Title":"","Uri":"115mm-Dia-x-20mm-FL-Grade-1-Achromatic-Lens-en-gb.aspx","UriSegment":"11.5mm-dia-x-20mm-fl-grade-1-achromatic-lens","Description":"","Keywords":"","LanguageCode":"en-gb"
},
{ "Title":"","Uri":"115mm-Dia-x-20mm-FL-Grade-1-Achromatic-Lens-en-ie.aspx","UriSegment":"11.5mm-dia-x-20mm-fl-grade-1-achromatic-lens","Description":"","Keywords":"","LanguageCode":"en-ie"
},
{ "Title":"","Uri":"115mm-Dia-x-20mm-FL-Grade-1-Achromatic-Lens-en-sg.aspx","UriSegment":"11.5mm-dia-x-20mm-fl-grade-1-achromatic-lens","Description":"","Keywords":"","LanguageCode":"en-sg"
},
{ "Title":"","Uri":"115mm-Dia-x-20mm-FL-Grade-1-Achromatic-Lens-es-es.aspx","UriSegment":"11.5mm-dia-x-20mm-fl-grade-1-achromatic-lens","Description":"","Keywords":"","LanguageCode":"es-es"
},
{ "Title":"","Uri":"115mm-Dia-x-20mm-FL-Grade-1-Achromatic-Lens-es-mx.aspx","UriSegment":"11.5mm-dia-x-20mm-fl-grade-1-achromatic-lens","Description":"","Keywords":"","LanguageCode":"es-mx"
},
{ "Title":"","Uri":"115mm-Dia-x-20mm-FL-Grade-1-Achromatic-Lens-fr.aspx","UriSegment":"11.5mm-dia-x-20mm-fl-grade-1-achromatic-lens","Description":"","Keywords":"","LanguageCode":"fr"
},
{ "Title":"","Uri":"115mm-Dia-x-20mm-FL-Grade-1-Achromatic-Lens-ja-jp.aspx","UriSegment":"11.5mm-dia-x-20mm-fl-grade-1-achromatic-lens","Description":"","Keywords":"","LanguageCode":"ja-jp"
},
{ "Title":"","Uri":"115mm-Dia-x-20mm-FL-Grade-1-Achromatic-Lens-ko-kr.aspx","UriSegment":"11.5mm-dia-x-20mm-fl-grade-1-achromatic-lens","Description":"","Keywords":"","LanguageCode":"ko-kr"
},
{ "Title":"","Uri":"115mm-Dia-x-20mm-FL-Grade-1-Achromatic-Lens-zh-cn.aspx","UriSegment":"11.5mm-dia-x-20mm-fl-grade-1-achromatic-lens","Description":"","Keywords":"","LanguageCode":"zh-cn"
},
{ "Title":"","Uri":"115mm-Dia-x-20mm-FL-Grade-1-Achromatic-Lens-zh-tw.aspx","UriSegment":"11.5mm-dia-x-20mm-fl-grade-1-achromatic-lens","Description":"","Keywords":"","LanguageCode":"zh-tw"
},
{ "Title":"","Uri":"32452","UriSegment":"11.5mm-dia-x-20mm-fl-grade-1-achromatic-lens","Description":"","Keywords":"","LanguageCode":"en"
}
],"Prices":[
],"EntryType":"Variation","ChildCatalogEntries":[
],"InventoryStatus":"Disabled","WarehouseInventories":[
],"Associations":[
],"Assets":[
],"Nodes":[
{ "Title":"Achromatic Lenses","Type":"CatalogNode","Href":"/episerverapi/commerce/nodes/310","Properties":[
{ "Name":"Code","Value":"310"
}
]
}
],"Variation":{ "MinQuantity":0.000000000,"MaxQuantity":0.000000000,"Weight":0.0,"TaxCategory":""
}
}
Again, I'm looking to get the full url of the given entry. Any idea how to do this without doing additional calls to the parents to get the permalink of each parent product/node?
Thanks,
Paul