ProductMatching.API

<back to all web services

PostProductMatchingCallbackRequest

Requires Authentication
The following routes are available for this service:
POST/v1/product-matching-callback
namespace ProductMatching.API.ServiceModel.DTOs

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type PostProductMatchingCallbackResponse() = 
        member val ResponseStatus:ResponseStatus = null with get,set

    [<DataContract>]
    [<AllowNullLiteral>]
    type ProductMatch() = 
        [<DataMember(Name="retailerGuid")>]
        member val RetailerGuid:Guid = new Guid() with get,set

        [<DataMember(Name="retailerName")>]
        member val RetailerName:String = null with get,set

        [<DataMember(Name="brand")>]
        member val Brand:String = null with get,set

        [<DataMember(Name="productName")>]
        member val ProductName:String = null with get,set

        [<DataMember(Name="description")>]
        member val Description:String = null with get,set

        [<DataMember(Name="sku")>]
        member val SKU:String = null with get,set

        [<DataMember(Name="gtin")>]
        member val GTIN:String = null with get,set

        [<DataMember(Name="ean8")>]
        member val EAN8:String = null with get,set

        [<DataMember(Name="ean13")>]
        member val EAN13:String = null with get,set

        [<DataMember(Name="isbn")>]
        member val ISBN:String = null with get,set

        [<DataMember(Name="upc")>]
        member val UPC:String = null with get,set

        [<DataMember(Name="productImageUrl")>]
        member val ProductImageUrl:Uri = null with get,set

        [<DataMember(Name="productUrl")>]
        member val ProductUrl:Uri = null with get,set

        [<DataMember(Name="auditResult")>]
        member val AuditResult:String = null with get,set

        [<DataMember(Name="auditResultReasons")>]
        member val AuditResultReasons:ResizeArray<String> = new ResizeArray<String>() with get,set

    [<AllowNullLiteral>]
    type PostProductMatchingCallbackRequest() = 
        member val MatchedProducts:ResizeArray<ProductMatch> = new ResizeArray<ProductMatch>() with get,set
        member val Request:IDictionary<String, String> = null with get,set

F# PostProductMatchingCallbackRequest 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.

POST /v1/product-matching-callback HTTP/1.1 
Host: product-matching-api.kit.co 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	matchedProducts: 
	[
		{
			retailerGuid: 00000000000000000000000000000000,
			retailerName: String,
			brand: String,
			productName: String,
			description: String,
			sku: String,
			gtin: String,
			ean8: String,
			ean13: String,
			isbn: String,
			upc: String,
			auditResult: String,
			auditResultReasons: 
			[
				String
			]
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

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