POST api/delivery/createproduct

Create a new product. An image can also be uploaded in this call if provided.

Request Information

URI Parameters

None.

Body Parameters

CreateProduct
NameDescriptionTypeAdditional information
siteId integer

Required

productId integer

None.

productName string

None.

supplierId integer

Required

categoryId integer

Required

unitId integer

Required

price decimal number

Required

volume decimal number

Required

quantity integer

Required

requiresVAT boolean

Required

barcodeNumber string

None.

imageUrl string

None.

weighedOnDelivery boolean

None.

file Base64File

None.

Request Formats

application/json, text/json

Sample:
{
  "siteId": 1,
  "productId": 1,
  "productName": "sample string 1",
  "supplierId": 1,
  "categoryId": 1,
  "unitId": 1,
  "price": 1.0,
  "volume": 1.0,
  "quantity": 1,
  "requiresVAT": true,
  "barcodeNumber": "sample string 2",
  "imageUrl": "sample string 3",
  "weighedOnDelivery": true,
  "file": {
    "base64": "sample string 1",
    "fileName": "sample string 2"
  }
}

application/xml, text/xml

Sample:
<CreateProduct xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TillApi.DTOs.Request.Delivery">
  <BarcodeNumber>sample string 2</BarcodeNumber>
  <CategoryId>1</CategoryId>
  <File>
    <Base64>sample string 1</Base64>
    <FileName>sample string 2</FileName>
  </File>
  <ImageUrl>sample string 3</ImageUrl>
  <Price>1</Price>
  <ProductId>1</ProductId>
  <ProductName>sample string 1</ProductName>
  <Quantity>1</Quantity>
  <RequiresVAT>true</RequiresVAT>
  <SiteId>1</SiteId>
  <SupplierId>1</SupplierId>
  <UnitId>1</UnitId>
  <Volume>1</Volume>
  <WeighedOnDelivery>true</WeighedOnDelivery>
</CreateProduct>

application/x-www-form-urlencoded

Sample:

Failed to generate the sample for media type 'application/x-www-form-urlencoded'. Cannot use formatter 'JQueryMvcFormUrlEncodedFormatter' to write type 'CreateProduct'.

multipart/form-data

Sample:
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="SiteId"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="ProductId"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="ProductName"

sample string 1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="SupplierId"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="CategoryId"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="UnitId"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Price"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Volume"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Quantity"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="RequiresVAT"

True
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="BarcodeNumber"

sample string 2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="ImageUrl"

sample string 3
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="WeighedOnDelivery"

True
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="File.Base64"

sample string 1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="File.FileName"

sample string 2
--MultipartDataMediaFormatterBoundary1q2w3e--

Response Information

Resource Description

ResponseOfFileUpload
NameDescriptionTypeAdditional information
Message string

None.

Success boolean

None.

StatusCode HttpStatusCode

None.

Data FileUpload

None.

Errors Dictionary of string [key] and Collection of string [value]

None.

Response Formats

application/json, text/json

Sample:
{
  "message": "sample string 1",
  "success": true,
  "statusCode": 100,
  "data": {
    "storageUrl": "sample string 1"
  },
  "errors": {
    "sample string 1": [
      "sample string 1",
      "sample string 2"
    ],
    "sample string 2": [
      "sample string 1",
      "sample string 2"
    ]
  }
}

application/xml, text/xml

Sample:
<ResponseOfFileUploadvhWbQmEI xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TillApi.DTOs.Response">
  <Data xmlns:d2p1="http://schemas.datacontract.org/2004/07/TillApi.DTOs.Response.Delivery">
    <d2p1:Extension>sample string 3</d2p1:Extension>
    <d2p1:FileName>sample string 2</d2p1:FileName>
    <d2p1:Url>sample string 1</d2p1:Url>
  </Data>
  <Errors xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringArrayOfstringty7Ep6D1>
      <d2p1:Key>sample string 1</d2p1:Key>
      <d2p1:Value>
        <d2p1:string>sample string 1</d2p1:string>
        <d2p1:string>sample string 2</d2p1:string>
      </d2p1:Value>
    </d2p1:KeyValueOfstringArrayOfstringty7Ep6D1>
    <d2p1:KeyValueOfstringArrayOfstringty7Ep6D1>
      <d2p1:Key>sample string 2</d2p1:Key>
      <d2p1:Value>
        <d2p1:string>sample string 1</d2p1:string>
        <d2p1:string>sample string 2</d2p1:string>
      </d2p1:Value>
    </d2p1:KeyValueOfstringArrayOfstringty7Ep6D1>
  </Errors>
  <Message>sample string 1</Message>
  <StatusCode>Continue</StatusCode>
  <Success>true</Success>
</ResponseOfFileUploadvhWbQmEI>

multipart/form-data

Sample:
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Message"

sample string 1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Success"

True
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="StatusCode"

Continue
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Data.Url"

sample string 1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Data.FileName"

sample string 2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Data.Extension"

sample string 3
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Errors[0].Key"

sample string 1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Errors[0].Value[0]"

sample string 1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Errors[0].Value[1]"

sample string 2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Errors[1].Key"

sample string 2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Errors[1].Value[0]"

sample string 1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Errors[1].Value[1]"

sample string 2
--MultipartDataMediaFormatterBoundary1q2w3e--