Transport-level failures
HTTP examples:
- TCP disconnect before response
- HTTP timeout on client side
Serial examples:
- No response frame before timeout
- CRC mismatch in received frame
- Broken/incomplete frame
Recovery steps for unknown delivery state (timeout/disconnect/CRC failure):
- Mark operation as
UNKNOWNin your integrator state. - Wait short backoff (
1-2 s). - Resend the same operation with the same
documentExtID. - If response is final (
docStatus = 1), stop. - If response indicates still processing (
code = 44ordocStatus = 0), switch to/check_statuspolling.
When to prefer /check_status first instead of resend:
- If your client cannot safely reconstruct the original payload byte-for-byte.
- If your policy requires a read-only recovery step before any write retry.
- For non-receipt operations where idempotency is not guaranteed by
documentExtID.