Preserve the source version and the canonical column
Before changing an importer, save a small original response, its documented version and the export columns you intend to preserve. A canonical output column needs a meaning, unit and missing-value policy. A similar field name is not enough to establish semantic equivalence.
For this record method, create a mapping row containing source version, original field, declared meaning, unit, conversion rule and evidence reference. Keep the adapter version in the exported file. That way a later reader can tell whether two files used the same interpretation rather than merely the same column heading.
Reject contradictory aliases instead of choosing the last value
Imagine a fictional API v1 calls a value filled_qty and fictional v2 calls it filled_base_qty. Suppose their supplied documentation explicitly says both mean the same accumulated base quantity. A payload with either field equal to the string 4.00 can map to a common column under that declared contract.
If a transition payload contains filled_qty=4.00 and filled_base_qty=5.00, keep a conflict. Taking the first key or last key silently hides an unexplained difference. These names and values are teaching inputs, not a claim about an actual provider's release or compatibility policy.
| Fictional source | Proposed export decision | Reason |
|---|---|---|
| v1 field 4.00 only | Map under documented v1 rule | One supplied interpretation |
| v2 field 4.00 only | Map under documented v2 rule | Meaning explicitly matched |
| Both aliases 4.00 /5.00 | Withhold/conflict | Contradictory supplied values |
Keep absence, null and zero distinct
JSON Schema documents that properties are not automatically required just because they are described, and that a null-valued property differs from an absent property. Your adapter must decide those cases explicitly. Do not coerce all of them to zero to satisfy a spreadsheet formula.
Also check type and precision. A decimal string, an integer count and a formatted display amount may require different handling. If the new field changes from contracts to base units, that is a unit conversion with additional required evidence, not a rename.
A new unit is a new contract, even when the number matches
Suppose a fictional old field means displayed base units while a new field means integer smallest units. Equal strings would not imply equal quantities. The mapping needs a documented scale and a policy for missing precision before any conversion is attempted. Do not guess a decimal count from a token symbol.
Keep unsupported versions as explicit failures or withheld rows. A parser that accepts every new key can silently preserve the wrong meaning. Conversely, an adapter can intentionally support two documented versions without rewriting their original files. Retain the raw fixture, version-specific mapping and canonical output together so a later review can distinguish an observed provider change from your own transformation.
Document the Australian date convention in the mapping
If your supplied export contract states DD/MM/YYYY,22/10/2026 can be mapped to 2026-10-22. Preserve the declared convention. Do not infer every source's convention from an Australian reader's location, and do not strip punctuation from an ambiguous number or date without an explicit rule.
Test the mapping against saved fixtures: one old payload, one new payload, a missing field, an explicit null, a zero and a conflicting alias. Retain the expected output and the adapter version with each case. This is a local compatibility check; it does not send a trading request or certify that every future provider response will follow the same schema.
Close the record by stating which versions are supported and which cases remain withheld. A stable-looking CSV is not proof that its underlying units or definitions stayed stable.
The optional link below leads to this site's separate crypto signals and Telegram updates offer. The record method is usable without that offer. It does not independently verify the offer, establish country eligibility or turn the teaching example into an actual transaction.
Primary sources and scope
- JSON Schema: object properties
Required properties are explicit; an absent property and a null-valued property are different. Checked 2026-10-21.