POST api/delivery/uploadinvoice

Upload an invoice, a file, order id and supplier id must be provided.

Request Information

URI Parameters

None.

Body Parameters

Invoice
NameDescriptionTypeAdditional information
orderId integer

Required

supplierId integer

Required

files Collection of Base64File

Required

Request Formats

application/json, text/json

Sample:
{
  "orderId": 1,
  "supplierId": 1,
  "files": [
    {
      "base64": "sample string 1",
      "fileName": "sample string 2"
    },
    {
      "base64": "sample string 1",
      "fileName": "sample string 2"
    }
  ]
}

application/xml, text/xml

Sample:
<Invoice xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/TillApi.DTOs.Request.Delivery">
  <Files>
    <Base64File>
      <Base64>sample string 1</Base64>
      <FileName>sample string 2</FileName>
    </Base64File>
    <Base64File>
      <Base64>sample string 1</Base64>
      <FileName>sample string 2</FileName>
    </Base64File>
  </Files>
  <OrderId>1</OrderId>
  <SupplierId>1</SupplierId>
</Invoice>

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 'Invoice'.

multipart/form-data

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

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

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Files[0].Base64"

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

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

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

sample string 2
--MultipartDataMediaFormatterBoundary1q2w3e--

Response Information

Resource Description

ResponseOfListOfInvoiceResponse
NameDescriptionTypeAdditional information
Message string

None.

Success boolean

None.

StatusCode HttpStatusCode

None.

Data Collection of InvoiceResponse

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 2"
    },
    {
      "storageUrl": "sample string 2"
    }
  ],
  "errors": {
    "sample string 1": [
      "sample string 1",
      "sample string 2"
    ],
    "sample string 2": [
      "sample string 1",
      "sample string 2"
    ]
  }
}

application/xml, text/xml

Sample:
<ResponseOfArrayOfInvoicevhWbQmEI 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:Invoice>
      <d2p1:Extension>sample string 4</d2p1:Extension>
      <d2p1:FileName>sample string 3</d2p1:FileName>
      <d2p1:Url>sample string 2</d2p1:Url>
      <d2p1:InvoiceId>1</d2p1:InvoiceId>
    </d2p1:Invoice>
    <d2p1:Invoice>
      <d2p1:Extension>sample string 4</d2p1:Extension>
      <d2p1:FileName>sample string 3</d2p1:FileName>
      <d2p1:Url>sample string 2</d2p1:Url>
      <d2p1:InvoiceId>1</d2p1:InvoiceId>
    </d2p1:Invoice>
  </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>
</ResponseOfArrayOfInvoicevhWbQmEI>

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[0].InvoiceId"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Data[0].Url"

sample string 2
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Data[0].FileName"

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

sample string 4
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Data[1].InvoiceId"

1
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Data[1].Url"

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

sample string 3
--MultipartDataMediaFormatterBoundary1q2w3e
Content-Disposition: form-data; name="Data[1].Extension"

sample string 4
--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--