Fluent Delivery Process

   Journey Manager (JM) The transaction engine for the platform. |   System Manager / DevOps |  All versions This feature is related to all versions.

Manager comes with a service implementing a delivery process that passes form's submission data and attachments to a platform backend or third-party system for processing.

To configure the Fluent delivery process:

  1. Select Services > All Services.
  2. Locate a delivery process service and click Edit.
  3. Configure the standard service settings using the following:
    • Service Type: Delivery Process
    • Service Template: Fluent Delivery Process or Fluent Delivery Process with Checkpoints
  4. Select the Groovy Script tab and update a Groovy script to make use of a service connection.
    import com.avoka.tm.util.*
    import com.avoka.tm.vo.*
    import groovy.transform.TypeChecked
    
    @TypeChecked
    class FluentDeliveryProcess {
    
        // Injected at runtime
        public Logger logger
    
        /*
         * Perform Transaction Delivery Process
         *
         * returns: null if completed or DeliveryResult objet
         */
        DeliveryResult invoke(SvcDef svcDef, Txn txn) {
    
            try {
                // TODO: perform delivery work
    
                return new DeliveryResultBuilder()
                    .setStatus(Txn.DELIVERY_COMPLETED)
                    .build()
    
            } catch (Exception e) {
                return new DeliveryResultBuilder()
                    .setMaxDeliveryAttempts(5)
                    .setMessage(e)
                    .setNextDeliveryMins(30)
                    .setStatus(Txn.DELIVERY_ERROR)
                    .build()
            }
        }
    }
  5. Select the Parameters Edit tab to edit the Groovy service configuration.
  6. Enter the maximum number of checkpoint delivery process attempts to perform (for submission with a delivery status In-Progress or Error) in the Max Checkpoint Delivery Attempts field. That is how many times a single checkpoint can retry before switching to manual intervention. For more information, see Multi-Step Delivery Process.
  7. Enter the maximum number of delivery process attempts to perform (for submission with a delivery status In-Progress or Error) in the Max Delivery Attempts field.
  8. Enter the delivery retry delay in minutes (for submission with a delivery status In-Progress or Error) in the Retry Delay Mins field.
  9. Configure the Unit Test and Test Parameters tabs.
  10. Click Save to update the changes.

Next, learn how to configure a service with multiple endpoints to external services.