| 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 .csv suffix or ?format=csv
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/csv
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}