Asynchronous writes
Master Data accepts work and completes it later. Treating 202 as success is
the single most common integration mistake.
What happens when you POST
Schema validation, synchronous
The payload is validated against the schema immediately. A malformed body
returns 400 and nothing is queued. Retrying will not help; fix the body.
Acceptance: 202 with a location
A valid body returns 202 Accepted and a reference to the created resource
in the Location header. This means “queued”, not “applied”.
A polling loop
Bound the wait. An unbounded poll turns a stuck write into a stuck worker.
Replays are safe
POSTs are insert-or-update keyed on object_id, so replaying a batch after an
ambiguous failure converges rather than duplicating. This makes Master Data
considerably easier to integrate than Register Sale, where you
must track correlation IDs yourself.
“Safe to replay” is not “free to replay”. A replayed 2 MB batch still consumes rate-limit budget, so reconcile before resending rather than retrying on a timer.
Ordering across batches
Nothing sequences your batches for you. If batch B references entities created in batch A, wait for A to reach a terminal status before sending B. See load order.