GeniuslinkAPI

<back to all web services

ProductMetadataLookupRequest

Requires Authentication
The following routes are available for this service:
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 .jsv suffix or ?format=jsv

HTTP + JSV

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/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
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
		}
	}
}