Introduction
As is normal with most advanced web services, incoming submissions go through several stages of validation and various responses can be received should the submission fail at any of these stages.
File receipt confirmation
Depending on your setup, you can be configured to receive this email confirmation or not. This email only confirms that the file has been received and nothing more, this is before any validation takes place. The message body will look similar to below:
Stage 1 - File level validation
Incoming files are queued and validated. The initial validation checks that submitted files:
- Are constructed correctly as per their file type (valid CSV / valid XML)
- Meet our expected file format
- Contain the correct data types for each element
Should the submission fail, an email will be sent to you with a message body similar to below:
In this instance, the entire file has failed and none of the contents will be processed.
Stage 2 - Item level validation
Should your submission pass the first stage of validation, it will then move on to the second stage. Here we're checking the individual records within the file submitted. So if you've sent in a Sales Order file, then we're checking each individual sales order within, if it's a Product file, then each individual product, and so on...
The validations which occur here are specific to each file type, but to give a basic idea of what occurs:
- We're performing the more advanced checks to ensure what has been sent in is logical (e.g. a Sales Order sent in for delivery, but with no delivery address)
- That the data submitted exists in our system (where necessary, e.g. a Purchase Order sent in with values and currencies, but the currency code submitted is invalid and does not exist in our system)
Should the submission fail these checks, you will receive an email with a message body similar to below:
In this instance, some of the items within the file could've failed validation and others passed. Any which have failed will not stop the ones which have passed from being processed, but the failed ones will be held until corrected.