Skip to main content

deliverOutboundTransaction

Creates a new outbound EDI transaction for an order and immediately attempts to deliver it to Endless EDI synchronously. This combines the create and schedule operations into a single mutation for convenience.

Requirements​

  • User must have edi:deliver_outbound_transaction permission
  • Order must exist
  • Integration must exist and be valid
  • Transaction type must be a valid EDI transaction type (e.g., "856", "855", "810")

Transaction Creation and Delivery​

  • If transactionId is provided, it will be used as the transaction ID
  • If transactionId is not provided, a new UUID will be generated
  • The transaction will be created with direction outbound
  • The transaction will immediately be sent to Endless EDI synchronously
  • Delivery status and errors will be available in the response
  • If fulfillmentId is provided, a rendered 856 or 810 covers only that fulfillment, and a provided message is sent unchanged

Message Data​

  • message is optional and should contain the full transaction message as a Hash
  • If message is not provided, it will be generated using the transaction mapping factory
  • The message will be stored in the transaction's transaction_data field

Error Responses​

  • ValidationError: Business rule violations including:
    • Order not found
    • Integration not found
    • Transaction already exists (if transactionId provided)
    • Fulfillment not found for order (if fulfillmentId provided)
  • PermissionError: Insufficient permissions for transaction delivery
  • Delivery errors will be included in the transaction's deliveryErrors field
deliverOutboundTransaction(
input: DeliverOutboundTransactionInput!
): Transaction!

Arguments​

deliverOutboundTransaction.input ● DeliverOutboundTransactionInput! non-null input common​

Parameters for DeliverOutboundTransaction

Type​

Transaction object integrations​

Represents an Endless EDI transaction record.