Skip to main content

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):

  1. Mark operation as UNKNOWN in your integrator state.
  2. Wait short backoff (1-2 s).
  3. Resend the same operation with the same documentExtID.
  4. If response is final (docStatus = 1), stop.
  5. If response indicates still processing (code = 44 or docStatus = 0), switch to /check_status polling.

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.