GeniuslinkAPI

<back to all web services

GetProductMatchesByCriteriaRequest

Requires Authentication
The following routes are available for this service:
POST/v3.5/product/search
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 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 MatchCriteria
            <DataMember(Name:="retailerGuid")>
            Public Overridable Property RetailerGuid As Guid

            <DataMember(Name:="timeoutMs")>
            Public Overridable Property TimeoutMs As UInt32

            <DataMember(Name:="countryIso2s")>
            Public Overridable Property CountryIso2s As IEnumerable(Of String)

            <DataMember(Name:="maxStalenessMs")>
            Public Overridable Property MaxStalenessMs As UInt64

            <DataMember(Name:="targetProductCategories")>
            Public Overridable Property TargetProductCategories As IEnumerable(Of 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 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

        Public Partial Class GetProductMatchesByCriteriaRequest
            Implements IGetProductMatchesByCriteriaRequest
            Public Overridable Property Data As IEnumerable(Of ProductData) Implements IGetProductMatchesByCriteriaRequest.Data
            Public Overridable Property MatchCriteria As IEnumerable(Of MatchCriteria) Implements IGetProductMatchesByCriteriaRequest.MatchCriteria
            Public Overridable Property MaxTimeoutMs As UInt32 Implements IGetProductMatchesByCriteriaRequest.MaxTimeoutMs
            Public Overridable Property SkipCriteriaCheck As Boolean Implements IGetProductMatchesByCriteriaRequest.SkipCriteriaCheck
        End Class
    End Namespace
End Namespace

VB.NET GetProductMatchesByCriteriaRequest DTOs

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

HTTP + CSV

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

POST /v3.5/product/search HTTP/1.1 
Host: geniuslink-api-zane.dev.platform.georiot.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"maxTimeoutMs":0,"skipCriteriaCheck":false}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"maxTimeoutMs":0,"skipCriteriaCheck":false}