PageNumber | integer($int32) Specify page number. Default is 1. PageNumber starts at 1. |
PageSize | integer($int32) Specify page size. Default is 100. |
PSQL v13 extends its support for SQL with the following new features: As an alternative to TOP, LIMIT… OFFSET… syntax is now supported to extract a set of rows from a query result
Service | SOAP Method | Option | JSON Route | Changes |
CustomerInquiry | Customer Resource | |||
GetCustomerInfo | /Customer/get | |||
GetARCodes | ||||
GetARSLMFIL | /ElliottQuery/executeQuery | |||
GetARCUSTYP | /ElliottQuery/executeQuery | |||
GetSTATEFIL | /ElliottQuery/executeQuery | |||
GetSHIPVIA | /Customer/shipViaCodes/get | |||
GetTerms | /Customer/termsCodes/get | |||
GetTax | /Customer/taxCodes/get | |||
SearchCustomer | /Customer/search | Order by restricted to CUS_NO and CUS_SEARCH_NAME. Numeric search fields that supported operators such as > or < should be processed using the AdditionalWhere parameter. The DetailLevel parameter is now supported through the ResultColumns parameter. | ||
FFLNearYou | FFLNearYou Resource | |||
Find FFL | /FFLNearYou/get | Byte stream array of link images not supported at this time. | ||
InvoiceInquiry | Invoice Resource | |||
GetInvHdrByCusNo | /Invoice/search | Order by restricted to INV_NO, INV_CUSTOMER_NO, INV_ORDER_NO, INV_DATE. | ||
GetOneInvoiceDetail | /Invoice/get | |||
ItemInquiry | GetIMCodes | Item Resource | ||
GetProductCategories | /Item/productCategories/get | |||
GetUserDefinedCodes | /ElliottQuery/executeQuery | |||
GetMatCstTypes | /ElliottQuery/executeQuery | |||
GetBuyerCodes | /Item/buyerCodes/get | |||
GetDistinctValues | Not Supported | |||
SearchItem | /Item/search | Order by restricted to ITEM_NO and ITEM_DESC_SEARCH. The DetailLevel parameter is now supported through the ResultColumns parameter. The customerNo parameter is not supported at this time. | ||
SearchItemMultipleLocation | /Item/search | Quantities from multiple locations not supported at this time. | ||
GetItemAttrib | /Item/attributes/get | |||
GetItemNote | /Item/notes/get | |||
GetItemSetup | /ElliottQuery/executeQuery | |||
GetAllMatCstType | /ElliottQuery/executeQuery | |||
GetAllPrdCat | /Item/productCategories/get | |||
GetOnePrdCat | /ElliottQuery/executeQuery | |||
GetAllBuyerCode | /Item/buyerCodes/get | |||
GetItemDistinctValue | Not Supported | |||
GetOneItemDetail | /Item/get | |||
customerNo | Not supported at this time | |||
attribWebFlag | /Item/attributes/get | |||
noteWebFlag | /Item/notes/get | |||
imageLinkType | /Item/links/get | Byte stream array of link images not supported at this time. | ||
additionalLinkType | /Item/links/get | Not supported at this time | ||
GetFeatureOption | /Item/featureOption/get | |||
GetInvoiceHistory | /Item/searchItemInvoice | Order by option not supported at this time. | ||
OrderInquiry | Order Resource | |||
GetOrder | /Order/search | Order by restricted to ORDER_NO and ORDER_CUSTOMER_NO | ||
GetOneOrderDetail | /Order/get | |||
ResellerFinder | ResellerFinder Resource | |||
FindReseller | /ResellerFinder/get | Order by option not supported at this time. | ||
Vendor | Vendor Resource | |||
GetAllVendor | /Vendor/search | Order by restricted to VEND_NO and VEND_SEARCH_NAME |
Elliott API uses aspnetcore + nlog for logging. The configuration can be configured with the nlog.config. There are two main sections targets and rules.
Targets
Targets specify the destination log entries will be written to.
Exampe - the following entry is the default target for database trace.
<target name="databaestracefile" xsi:type="AsyncWrapper" queueLimit="5000" overflowAction="Discard">
<target
xsi:type="File"
layout="${longdate} ${message}"
fileName="logs/database/database.txt"
archiveFileName="logs/database/database.{#####}.txt"
archiveAboveSize="10240000"
archiveNumbering="Sequence"
maxArchiveFiles="10"
concurrentWrites="true"
keepFileOpen="false" />
</target>
Rules
Rules specify the what will be logged, and where it will be logged.
Example:- following entry will log all log entries output by any classes in "ElliottApi.Infrastructure.Owin.ApiLoggingMiddleware" to the apitracetarget.
<logger enabled="true" name="ElliottApi.Infrastructure.Owin.ApiLoggingMiddleware.*" level="Trace" writeTo="apitracefile" final="true" />
Elliott API is distributed with a set of common rules that provide extensive logging that's intended to provide detail logging when it's first setup. Prior to going to production, you may choose to adjust the loggers to only log errors and re-enable detail logging when you need to troubleshoot problems. The following are the default loggers, at the minimum, you will want to enable the logger than writes to "errorfile" (bolded in the example below).
<logger enabled="true" name="ElliottApi.Infrastructure.Data.*" level="Trace" writeTo="databaestracefile" final="true" />
<logger enabled="true" name="ElliottApi.Infrastructure.Owin.ApiLoggingMiddleware.*" level="Trace" writeTo="apitracefile" final="true" />
<logger enabled="true" name="ElliottApi.Infrastructure.Providers.Nmi.*" level="Trace" writeTo="nmitracefile" final="true" />
<logger enabled="true" name="*" minlevel="Error" writeTo="errorfile" />
<logger enabled="true" name="*" minlevel="Trace" writeTo="logfile" />
API Logging Configuration
The default rule logs all API raw requests responses to the apitracefile target.
<logger enabled="true" name="ElliottApi.Infrastructure.Owin.ApiLoggingMiddleware.*" level="Trace" writeTo="apitracefile" final="true" />
The "name" follows this pattern " ElliottApi.Infrastructure.Owin.ApiLoggingMiddleware.{route-where-slash-is-replaced-by-dash}". You can use it to target a specific API. For example, if you are only interested in the log messages for "order/search" route. You can have the following rule entry:
<logger enabled="true" name="ElliottApi.Infrastructure.Owin.ApiLoggingMiddleware.order-search*" level="Trace" writeTo="apitracefile" final="true" />
You can also target multiple routes by having multiple entries that target different routes. For example, to target "order/search" and "vendor/search" routes:
<logger enabled="true" name="ElliottApi.Infrastructure.Owin.ApiLoggingMiddleware.order-search*" level="Trace" writeTo="apitracefile" final="true" />
<logger enabled="true" name="ElliottApi.Infrastructure.Owin.ApiLoggingMiddleware.vendor-search*" level="Trace" writeTo="apitracefile" final="true" />
Application: ElliottApi.Web.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.MissingMethodException
Stack:
at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build()
at ElliottApi.Web.Program.Main(System.String[])
{
"AdditionalWhere": "VEND_ST = 'OH'",
"PageNumber": 1,
"PageSize": 10
}
{
"AdditionalWhere": 'VEND_ST = "OH"',
"PageNumber": 1,
"PageSize": 10
}