Some messages (almost exclusively resource GETs) allow you to specify includeOptional or excludeOptional query parameters to suppress or activate sections of data within the response.
There are a number of reasons why sections might be optional or why you might to exclude them:
- You may want to exclude sections to reduce the amount of data transmitted and/or reduce response parsing time. This is especially important for low-power, low-bandwidth devices like smart phones using a 2.5/3G connection.
- A section may be optional because generating the optional section may be slow. Product Availability GET is a good example of this.
Using optional sections
The includeOptional or excludeOptional parameters expect a comma separated list of section names e.g:
/some/resource?includeOptional=sectionOne,SectionFour&exlcudeOptional=sectionTwo