GeniuslinkAPI

<back to all web services

GetProductMatchesByUrlRequest

Requires Authentication
The following routes are available for this service:
GET/v3.5/product/matches
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

        Public Enum ErrorCode
            Throttled
            TargetRetailerProductNotFound
            Unknown
            NullMatchResult
            NullSourceData
            SourceDataProcessingFailure
            LocalizationFailure
        End Enum

        <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 MatchError
            <DataMember(Name:="message")>
            Public Overridable Property Message As String

            <DataMember(Name:="error")>
            Public Overridable Property Code As ErrorCode
        End Class

        <DataContract>
        Public Partial Class MatchResult
            <DataMember(Name:="retailer")>
            Public Overridable Property Retailer As String

            <DataMember(Name:="retailerGuid")>
            Public Overridable Property RetailerGuid As Guid

            <DataMember(Name:="storefront")>
            Public Overridable Property Storefront As String

            <DataMember(Name:="storefrontIso2")>
            Public Overridable Property StorefrontIso2 As String

            <DataMember(Name:="storefrontGuid")>
            Public Overridable Property StorefrontGuid As Guid

            <DataMember(Name:="data")>
            Public Overridable Property Data As ProductData

            <DataMember(Name:="errors")>
            Public Overridable Property Errors As List(Of MatchError)

            <DataMember(Name:="matchAccuracy")>
            Public Overridable Property MatchAccuracy As String

            <DataMember(Name:="matchingRuleName")>
            Public Overridable Property MatchingRuleName As String

            <DataMember(Name:="dataSource")>
            Public Overridable Property DataSource As String
        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 ProductMetadata
            <DataMember(Name:="title")>
            Public Overridable Property Title As String

            <DataMember(Name:="author")>
            Public Overridable Property Author As String

            <DataMember(Name:="url")>
            Public Overridable Property Url As Uri

            <DataMember(Name:="description")>
            Public Overridable Property Description As String

            <DataMember(Name:="retailer")>
            Public Overridable Property Retailer As String

            <DataMember(Name:="productImages")>
            Public Overridable Property ProductImages As IDictionary(Of String, Uri)

            <DataMember(Name:="rawAttributes")>
            Public Overridable Property RawAttributes As MatchResult
        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 GetProductMatchesByUrlRequest
            Implements IGetProductMatchesByUrlRequest
            <DataMember(Name:="url")>
            Public Overridable Property Url As String Implements IGetProductMatchesByUrlRequest.Url

            <DataMember(Name:="includeRaw")>
            Public Overridable Property IncludeRaw As Boolean Implements IGetProductMatchesByUrlRequest.IncludeRaw
        End Class
    End Namespace

    Namespace GeniuslinkAPI.ServiceModel.V4.Products.Responses

        Public Partial Class GetProductMatchesByUrlResponse
            Implements IGetProductMatchesByUrlResponse
            Public Overridable Property Products As IEnumerable(Of ProductMetadata) Implements IGetProductMatchesByUrlResponse.Products
            Public Overridable Property ResponseStatus As ResponseStatus
        End Class
    End Namespace
End Namespace

VB.NET GetProductMatchesByUrlRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

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

GET /v3.5/product/matches 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

{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}