Skip to main content

Error Handling

How Validation Worksโ€‹

Ympact validates every record asynchronously after receipt. Valid records are processed and made visible in the Ympact portal. Invalid records are rejected and error details are returned through the same channel used for submission.

Message queue (JSON) โ€” validation errors are delivered to a dedicated error queue provisioned by Ympact alongside the submission queue. Your integration should consume this queue to detect and handle rejected records programmatically.

SFTP (CSV) โ€” validation errors are written to an error file deposited on the same SFTP server, in a dedicated output folder. Each error file corresponds to the submitted file and contains one error row per rejected record, including the error code and a description.

Common Validation Errorsโ€‹

ErrorCauseFix
MISSING_REQUIRED_FIELDA required field is absent or emptyAdd the missing field to your payload or CSV row
INVALID_DATE_FORMATDate does not match YYYY-MM-DDUse the correct date format (e.g. 2025-01-15)
INVALID_ENUM_VALUEField value is not in the allowed listCheck the allowed values table in the entity guide
DUPLICATE_PRIMARY_KEYA record with the same primary key already exists with different non-updatable fieldsVerify the primary key values or check if the record was already sent
SHIPMENT_NOT_FOUNDA Document references a shipment_reference_id that does not existSend the Shipment first, then the Document
INVALID_NUMERIC_FORMATA number field contains non-numeric dataEnsure numeric fields contain valid numbers
UNPROCESSABLE_ENTITYBusiness rule violation (e.g. quantity exceeds PO line limit)Review the request logic against the business rules

How to Fix and Resendโ€‹

To correct a rejected record:

  1. Identify the error from the validation feedback
  2. Fix the field value in your payload or CSV
  3. Resend the record with the same primary key

Ympact performs an upsert: if the primary key already exists, the record is updated with the new values. Only updatable fields are changed. See each entity guide for which fields can be updated.

Using traceIdโ€‹

Always include the traceId when reporting issues โ€” it allows the support team to locate the request in server logs.