| GET | /v3.5/product-metadata/lookup |
|---|
Imports System
Imports System.IO
Imports System.Collections
Imports System.Collections.Generic
Imports System.Runtime.Serialization
Imports ServiceStack
Imports ServiceStack.DataAnnotations
Imports GeniuslinkAPI.ServiceModel.V4.Products.Requests
Imports GeniuslinkAPI.ServiceModel.V4.Products.Responses
Imports Geniuslink.Products.QueuedService.Contracts.V1.DTOs
Namespace Global
Namespace Geniuslink.Products.QueuedService.Contracts.V1.DTOs
<DataContract>
Public Partial Class AudiobookAttributes
Inherits BookAttributes
End Class
<DataContract>
Public Partial Class BookAttributes
<DataMember(Name:="authors", EmitDefaultValue:=false)>
Public Overridable Property Authors As List(Of String)
End Class
<DataContract>
Public Partial Class EBookAttributes
Inherits BookAttributes
End Class
<DataContract>
Public Partial Class ItemAttributes
<DataMember(Name:="book", EmitDefaultValue:=false)>
Public Overridable Property Book As BookAttributes
<DataMember(Name:="audiobook", EmitDefaultValue:=false)>
Public Overridable Property Audiobook As AudiobookAttributes
<DataMember(Name:="ebook", EmitDefaultValue:=false)>
Public Overridable Property EBook As EBookAttributes
End Class
<DataContract>
Public Partial Class ProductAttributes
<DataMember(Name:="retailer", EmitDefaultValue:=false)>
Public Overridable Property Retailer As String
<DataMember(Name:="retailerGuid", EmitDefaultValue:=false)>
Public Overridable Property RetailerGuid As Guid
<DataMember(Name:="storefront", EmitDefaultValue:=false)>
Public Overridable Property Storefront As String
<DataMember(Name:="storefrontIso2", EmitDefaultValue:=false)>
Public Overridable Property StorefrontIso2 As String
<DataMember(Name:="storefrontGuid", EmitDefaultValue:=false)>
Public Overridable Property StorefrontGuid As Guid
<DataMember(Name:="category", EmitDefaultValue:=false)>
Public Overridable Property Category As String
<DataMember(Name:="categoryGuid", EmitDefaultValue:=false)>
Public Overridable Property CategoryGuid As Guid
<DataMember(Name:="brand", EmitDefaultValue:=false)>
Public Overridable Property Brand As String
<DataMember(Name:="brandGuid", EmitDefaultValue:=false)>
Public Overridable Property BrandGuid As Guid
<DataMember(Name:="manufacturer", EmitDefaultValue:=false)>
Public Overridable Property Manufacturer As String
<DataMember(Name:="manufacturerGuid", EmitDefaultValue:=false)>
Public Overridable Property ManufacturerGuid As Guid
<DataMember(Name:="identifiers", EmitDefaultValue:=false)>
Public Overridable Property Identifiers As ProductIdentifiers
<DataMember(Name:="itemAttributes", EmitDefaultValue:=false)>
Public Overridable Property ItemAttributes As ItemAttributes
End Class
<DataContract>
Public Partial Class ProductData
<DataMember(Name:="attributes", EmitDefaultValue:=false)>
Public Overridable Property Attributes As ProductAttributes
<DataMember(Name:="retailerSpecificAttributes", EmitDefaultValue:=false)>
Public Overridable Property RetailerSpecificAttributes As RetailerSpecificAttributes
<DataMember(Name:="rawSourceData", EmitDefaultValue:=false)>
Public Overridable Property RawSourceData As String
End Class
<DataContract>
Public Partial Class ProductIdentifiers
<DataMember(Name:="productGuid", EmitDefaultValue:=false)>
Public Overridable Property ProductGuid As Guid
<DataMember(Name:="gtins", EmitDefaultValue:=false)>
Public Overridable Property Gtins As List(Of String)
<DataMember(Name:="mpns", EmitDefaultValue:=false)>
Public Overridable Property Mpns As List(Of String)
<DataMember(Name:="ean8", EmitDefaultValue:=false)>
Public Overridable Property Ean8 As List(Of String)
<DataMember(Name:="ean13", EmitDefaultValue:=false)>
Public Overridable Property Ean13 As List(Of String)
<DataMember(Name:="isbn9", EmitDefaultValue:=false)>
Public Overridable Property Isbn9 As List(Of String)
<DataMember(Name:="isbn10", EmitDefaultValue:=false)>
Public Overridable Property Isbn10 As List(Of String)
<DataMember(Name:="isbn13", EmitDefaultValue:=false)>
Public Overridable Property Isbn13 As List(Of String)
<DataMember(Name:="itf14", EmitDefaultValue:=false)>
Public Overridable Property ITF14 As List(Of String)
<DataMember(Name:="upc12", EmitDefaultValue:=false)>
Public Overridable Property Upc12 As List(Of String)
End Class
<DataContract>
Public Partial Class RetailerSpecificAttributes
<DataMember(Name:="name", EmitDefaultValue:=false)>
Public Overridable Property Name As String
<DataMember(Name:="description", EmitDefaultValue:=false)>
Public Overridable Property Description As String
<DataMember(Name:="skus", EmitDefaultValue:=false)>
Public Overridable Property Skus As List(Of String)
<DataMember(Name:="asin", EmitDefaultValue:=false)>
Public Overridable Property Asin As String
<DataMember(Name:="url", EmitDefaultValue:=false)>
Public Overridable Property Url As Uri
<DataMember(Name:="productImages", EmitDefaultValue:=false)>
Public Overridable Property ProductImages As Dictionary(Of String, Uri)
<DataMember(Name:="additionalData", EmitDefaultValue:=false)>
Public Overridable Property AdditionalData As Dictionary(Of String, String)
End Class
End Namespace
Namespace GeniuslinkAPI.ServiceModel.V4.Products.Requests
<DataContract>
Public Partial Class ProductMetadataLookupRequest
Implements IProductMetadataLookupRequest
<DataMember(Name:="url")>
Public Overridable Property Url As String Implements IProductMetadataLookupRequest.Url
End Class
End Namespace
Namespace GeniuslinkAPI.ServiceModel.V4.Products.Responses
Public Partial Class ProductMetadataLookupResponse
Implements IProductMetadataLookupResponse
<DataMember(Name:="productMetadata")>
Public Overridable Property ProductMetadata As ProductData Implements IProductMetadataLookupResponse.ProductMetadata
<DataMember(Name:="responseStatus")>
Public Overridable Property ResponseStatus As ResponseStatus
End Class
End Namespace
End Namespace
VB.NET ProductMetadataLookupRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v3.5/product-metadata/lookup HTTP/1.1 Host: geniuslink-api-zane.dev.platform.georiot.com Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"productMetadata":{"attributes":{"retailer":"String","storefront":"String","storefrontIso2":"String","category":"String","brand":"String","manufacturer":"String","identifiers":{"gtins":["String"],"mpns":["String"],"ean8":["String"],"ean13":["String"],"isbn9":["String"],"isbn10":["String"],"isbn13":["String"],"itf14":["String"],"upc12":["String"]},"itemAttributes":{"book":{"authors":["String"]},"audiobook":{"authors":["String"]},"ebook":{"authors":["String"]}}},"retailerSpecificAttributes":{"name":"String","description":"String","skus":["String"],"asin":"String","productImages":{},"additionalData":{"String":"String"}},"rawSourceData":"String"},"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}