Troubleshooting the Infoplus API

This article contains some common issues that users may experience when first trying to work with the Infoplus API and how to fix them.

If you are having trouble getting a new integration to work, please see if you're running into any of the issues listed here.  If you're still having issues, please get in touch with our Support Team for further assistance.

Missing Tables/Unable to Access Fields

Make sure you are using the beta version (not v1.0/v2.0) to access all tables and fields within the most current version of Infoplus WMS.  

Permission Issues

If you are receiving a 500 error when you are querying a table for data, be sure to check the permissions of the API user on the User level. 


If you are querying a table and receiving a 200 response but not receiving data, verify that your API user has permissions on the User level to fully access the table you are querying. 


If you are setting up a new Line of Business and continue to see endpoints and data that do not correlate with their LOB, verify the API's User and Role permissions. If you added an incorrect Role, remove the incorrect Role. You will also need to delete the old API key and create a new API key for the new Role permissions to take effect. 

Querying Using cURL

If you are receiving an invalid character error when querying a table using a cURL method such as, ?filter=sku like "P0000%", you may receive a 400 error. This means that operation is currently not available for that table. 

Content-Type: application/json

The Infoplus API uses only application/json as its Content-Type, for all types of requests (i.e., GET, POST, PUT).  


This means that any requests to the API which include a body (i.e., POST or PUT) MUST include an HTTP header of "Content-Type:application/json".  Furthermore, the body content of any POST or PUT's must be a well-formed JSON object (not an XML document, form-data, x-www-form-urlencoded, or anything else).  


Similarly, since all Infoplus API endpoints return Content-Type:application/json, your requests should include an HTTP header of "Accept:application/json" (or an equivalent, such as "Accept:*/json" or "Accept:*/*").  


If you violate any of these Content-Type requirements, you will most likely receive an invalid response, with an HTTP 503 response code.  

SSL Certificate Trust

The Infoplus API requires that all requests be issued over HTTPS, and the SSL certificate with which Infoplus signs all requests is one issued by AWS's Certificate Manager.  This can potentially cause an issue for API clients whose local security trust stores are not updated to be aware of the intermediate certificates in our trust chain, which were released in 2015.  


This error may present itself (for a client using a Java application) as javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.  Other client programming environments may offer similar error messaging.  


If you are running into this type of error, the way to solve it is to update your application/server to accept our SSL certificate (specifically, the intermediate certificates in our certificate's trust chain).  Oracle offers this path to update a java installation.  

Timezone Behavior

There is a bug in the implementation of timezones in versions 1, 2, and the current beta of the Infoplus API, where times are indicated as GMT/UTC, despite their values actually being shifted to be US Central time.  For example, a value returned by the Infoplus API of 2020-07-04T16:00:00.000Z should actually be: 2020-07-04T21:00:00.000Z (it is off by the US-Central timezone offset, which is 5 hours during daylight saving time, 6 hours during standard time).


To avoid this behavior, and get proper timezone behavior from the Infoplus API, you can include the HTTP header:  X-Infoplus-Proper-Timezone-Behavior with a value of 1 in your API requests.  

Non-ASCII Characters

If you are receiving a 400 error from the API, it may be because you are trying to submit a Non-ASCII character. The Infoplus API does not support Non-ASCII characters because the backend database will not accept them. One way that you can test your call is by using a ASCII checker like WISC ACSII Tester.


Example Error:

Response Code

400

Response Message

{errors=[An error has occurred saving this Item. Please try again or contact Support.]}

Examples of Non-ASCII Characters:

Character
Description
euro sign
single low-9 quotation mark
ƒ
lowercase letter f with hook
double low-9 quotation mark
horizontal ellipsis
dagger
double dagger
ˆ
modifier letter circumflex accent
per mille sign
Š
capital letter S with caron
single left-pointing angle quotation
Œ
capital ligature OE
Ž
captial letter Z with caron
left single quotation mark
right single quotation mark
left double quotation mark
right double quotation mark
bullet
en dash
em dash
˜
tilde
TM trademark sign
š
lowercase letter S with caron
right-pointing angle quotation mark
œ
lowercase ligature oe
ž
lowercase letter z with caron
Ÿ
capital letter Y with diaeresis
 
non-breaking space
¡
inverted exclamation mark
¢
cent sign
£
pound sign (currency)
¤
currency sign
¥
yen/yuan sign
¦
broken vertical bar
§
section sign
¨
diaeresis
©
copyright sign
ª
feminine ordinal indicator
«
left double angle quotation mark (guillemet)
¬
not sign (logic)
­
soft/discretionary hyphen
®
registered trademark sign
¯
spacing macron / overline
°
degree sign
±
plus/minus sign
²
superscript two (squared)
³
superscript three (cubed)
´
acute accent
µ
micro sign
paragraph sign (pilcrow)
·
middle dot
¸
cedilla
¹
superscript one
º
masculine ordinal indicator
»
right double angle quotation mark (guillemet)
¼
one-quarter fraction (1 over 4)
½
one-half fraction (1 over 2)
¾
three-quarters fraction (3 over 4)
¿
inverted question mark
À
capital letter A with grave accent
Á
capital letter A with acute accent
Â
capital letter A with circumflex
Ã
capital letter A with tilde
Ä
capital letter A with diaeresis
Å
capital letter A with ring above
Æ
capital AE ligature
Ç
capital letter C with cedilla
È
capital letter E with grave accent
É
capital letter E with acute accent
Ê
capital letter E with circumflex
Ë
capital letter E with diaeresis
Ì
capital letter I with grave accent
Í
capital letter I with acute accent
Î
capital letter I with circumflex
Ï
capital letter I with diaeresis
Ð
capital letter ETH(Dogecoin symbol)
Ñ
capital letter N with tilde
Ò
capital letter O with grave accent
Ó
capital letter O with acute accent
Ô
capital letter O with circumflex
Õ
capital letter O with tilde
Ö
capital letter O with diaeresis
×
multiplication sign
Ø
capital letter O slash
Ù
capital letter U with grave accent
Ú
capital letter U with acute accent
Û
capital letter U with circumflex
Ü
capital letter U with diaeresis
Ý
capital letter Y with acute accent
Þ
capital letter THORN
ß
lowercase letter sharp s (Eszett / scharfes S )
à
small letter a with grave accent
á
lowercase letter a with acute accent
â
lowercase letter a with circumflex
ã
lowercase letter a with tilde
ä
lowercase letter a with diaeresis
å
lowercase letter a with ring above
æ
lowercase ae ligature
ç
lowercase letter c with cedilla (cé cédille)
è
lowercase letter e with grave accent
é
lowercase letter e with acute accent
ê
lowercase letter e with circumflex
ë
lowercase letter e with diaeresis
ì
lowercase letter i with grave accent
í
lowercase letter i with acute accent
î
lowercase letter i with circumflex
ï
lowercase letter i with diaeresis
ð
lowercase letter eth
ñ
lowercase letter n with tilde
ò
lowercase letter o with grave accent
ó
lowercase letter o with acute accent
ô
lowercase letter o with circumflex
õ
lowercase letter o with tilde
ö
lowercase letter o with diaeresis
÷
division sign
ø
lowercase letter o with slash
ù
lowercase letter u with grave accent
ú
lowercase letter u with acute accent
û
lowercase letter u with circumflex
ü
lowercase letter u with diaeresis
ý
lowercase letter y with acute accent
þ
lowercase letter thorn
ÿ
lowercase letter y with diaeresis