GetInvoiceHistory

Description

Using this method we want to receive the outstanding invoices of the given customer.

Note that the invoices should be returned in reversed order. The invoice history is shown on the shop in a paged manner. The first page contains the most recent invoices with the latest invoice on top of the list.

The default number of invoices on a page can be set to 20. Note that the the shop's design may define a different number so it is wise to make this parameter configurable.

SOAP API:

Action

http://shoxl.com/ShoxlService/GetInvoiceHistory

Please note: this is not a working url, but a combination of namespace and method. Do not expect the url to return a result.

Style

Document

Input (Literal)

The input of this method is the document element tns:GetInvoiceHistory having the structure defined by the following table.

Element

Type

Occurs

Description

Sequence

1..1

request

tns:GetInvoiceHistoryRequest

0..1

Complex Type: tns:GetInvoiceHistoryRequest

Description

The GetInvoiceHistoryRequest contains all the information to get the outstanding

invoices of the customer.

Component

Type

Occurs

Description

Sequence

1..1

AccountNumber

s:string

1..1

This is the (project) account number of the customer.

PageNumber

s:int

0..1

The number of the page. The page numbering is 1-based: first page has number 1.

Output (Literal)

The output of this method is the document element tns:GetInvoiceHistoryResponse having the structure defined by the following table.

Element

Type

Occurs

Description

Sequence

1..1

GetInvoiceHistoryResult

tns:GetInvoiceHistoryResult

0..1

Complex Type: tns:GetInvoiceHistoryResult

Description

The GetInvoiceHistoryResult contains all the outstanding invoices of the given

customer.

Component

Type

Occurs

Description

Sequence

1..1

ErrorCode

s:string

0..1

An error code returned by the ERP system

ErrorDescription

s:string

0..1

The error description related to the error code returned by the ERP system

Orders

tns:ArrayOfInvoiceHistoryItem

0..1

A list of InvoiceHistoryItems, the ComplexType InvoiceHistoryItems contains some invoice details like; invoice date and total outstanding. For the complete description check the InvoiceHistoryItems section in the documentation.

Request

tns:GetInvoiceHistoryRequest

1..1

The sent request by Shoxl Shop.

TotalPages

s:int

0..1

Total number of pages with results

Complex Type: tns:ArrayfInvoiceHistoryItem

Type

Occurs

Description

Sequence

1..1

InvoiceHistoryItem

tns:InvoiceHistoryItem

0..*

Complex Type: tns:InvoiceHistoryItem

A InvoiceHistoryItem contains the main information of an invoice from the ERP system.

Component

Type

Occurs

Description

Sequence

1..1

DownloadablePdfUri

s:string

0..1

A link to the Invoice document (PDF format) which will be generated by the ERP system.

InvoiceDate

s:dateTime

0..1

The invoice date.

InvoiceNumber

s:string

1..1

A unique invoice number from the ERP System

OrderNumber

s:string

0..1

The associated order number

CustomerNumber

s:string

1..1

A unique customer number

TotalOutstanding

s:decimal

0..1

The total outstanding amount of the invoice.

TotalPrice

s:decimal

0..1

The total price of the invoice.

REST API:

URL: /Shoxl/v1/GetInvoiceHistory Method: POST

Changes in ShoxlRestApiSwagger_v16

  • A new field "context" is introduced in the request body. When configured this object contains key value pairs (e.g. divisionCode).

Request body:

GetInvoiceHistoryRequest{

parameter

value

accountNumber

string required

pageNumber

integer($int32)

context

object

}

Example:

{
  "accountNumber": "string",
  "pageNumber": 0,
  "context": {
    "divisionCode": "string"
  }  
}

Response body:

GetInvoiceHistoryResult{

parameter

value

errorCode

string nullable: true

errorDescription

string nullable: true

orders

[InvoiceHistoryItem]

request

GetInvoiceHistoryRequest

totalPages

integer($int32)

}

InvoiceHistoryItem{

parameter

value

customerNumber

string required

downloadablePdfUri

string nullable: true

invoiceDate

string($date-time)

invoiceNumber

string required

OrderNumber

string optional

totalOutstanding

number($double)

nullable: true

totalPrice

number($double)

nullable: true

}

Example:

{
  "errorCode": "string",
  "errorDescription": "string",
  "orders": [
    {
      "customerNumber": "string",
      "downloadablePdfUri": "string",
      "invoiceDate": "2021-07-21",
      "invoiceNumber": "string",
      "OrderNumber": "string",
      "totalOutstanding": 0,
      "totalPrice": 0
    }
  ],
  "request": {
    "accountNumber": "string",
    "pageNumber": 0
  },
  "totalPages": 0
}