The IE Common Databus Payload Async API spec is a contract which allows many variations. As long as a connector is fulfilling the contract, it is considered to be compliant, even when it changes its behavior from one version to another one.
For example, numeric values are no longer quoted in the SIMATIC S7 Connector V1.2. The API spec allows both, the quoted and the unquoted variant, but the quoted one is deprecated. This is considered a non-breaking change because both variations are allowed and all clients should be prepared to handle both variants.
This means clients need to:
- Implement against the API (and not against example messages)
- Don’t make any assumption about the content of the “id” field (don’t assume you get the tag name there)
- Be prepared that numbers might be quoted as strings or might be actual numbers (the quoted variant is deprecated, and all connectors shall switch to the non-quoted numbers)
- Expect that the OPC UA Connector uses real arrays instead of using pipe-separated values in strings
- 64-bit integer values are special because they cannot be exactly represented by the JavaScript 'Number' data type and many libraries for other languages face the same problem (that's why we use strings to represent such numbers)
- Test against example messages