Class WriteJourneyRequest

java.lang.Object
software.amazon.awssdk.services.pinpoint.model.WriteJourneyRequest
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<WriteJourneyRequest.Builder,WriteJourneyRequest>

@Generated("software.amazon.awssdk:codegen") public final class WriteJourneyRequest extends Object implements SdkPojo, Serializable, ToCopyableBuilder<WriteJourneyRequest.Builder,WriteJourneyRequest>

Specifies the configuration and other settings for a journey.

See Also:
  • Method Details

    • hasActivities

      public final boolean hasActivities()
      For responses, this returns true if the service returned a value for the Activities property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • activities

      public final Map<String,Activity> activities()

      A map that contains a set of Activity objects, one object for each activity in the journey. For each Activity object, the key is the unique identifier (string) for an activity and the value is the settings for the activity. An activity identifier can contain a maximum of 100 characters. The characters must be alphanumeric characters.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasActivities() method.

      Returns:
      A map that contains a set of Activity objects, one object for each activity in the journey. For each Activity object, the key is the unique identifier (string) for an activity and the value is the settings for the activity. An activity identifier can contain a maximum of 100 characters. The characters must be alphanumeric characters.
    • creationDate

      public final String creationDate()

      The date, in ISO 8601 format, when the journey was created.

      Returns:
      The date, in ISO 8601 format, when the journey was created.
    • lastModifiedDate

      public final String lastModifiedDate()

      The date, in ISO 8601 format, when the journey was last modified.

      Returns:
      The date, in ISO 8601 format, when the journey was last modified.
    • limits

      public final JourneyLimits limits()

      The messaging and entry limits for the journey.

      Returns:
      The messaging and entry limits for the journey.
    • localTime

      public final Boolean localTime()

      Specifies whether the journey's scheduled start and end times use each participant's local time. To base the schedule on each participant's local time, set this value to true.

      Returns:
      Specifies whether the journey's scheduled start and end times use each participant's local time. To base the schedule on each participant's local time, set this value to true.
    • name

      public final String name()

      The name of the journey. A journey name can contain a maximum of 150 characters. The characters can be alphanumeric characters or symbols, such as underscores (_) or hyphens (-). A journey name can't contain any spaces.

      Returns:
      The name of the journey. A journey name can contain a maximum of 150 characters. The characters can be alphanumeric characters or symbols, such as underscores (_) or hyphens (-). A journey name can't contain any spaces.
    • quietTime

      public final QuietTime quietTime()

      The quiet time settings for the journey. Quiet time is a specific time range when a journey doesn't send messages to participants, if all the following conditions are met:

      • The EndpointDemographic.Timezone property of the endpoint for the participant is set to a valid value.

      • The current time in the participant's time zone is later than or equal to the time specified by the QuietTime.Start property for the journey.

      • The current time in the participant's time zone is earlier than or equal to the time specified by the QuietTime.End property for the journey.

      If any of the preceding conditions isn't met, the participant will receive messages from the journey, even if quiet time is enabled.

      Returns:
      The quiet time settings for the journey. Quiet time is a specific time range when a journey doesn't send messages to participants, if all the following conditions are met:

      • The EndpointDemographic.Timezone property of the endpoint for the participant is set to a valid value.

      • The current time in the participant's time zone is later than or equal to the time specified by the QuietTime.Start property for the journey.

      • The current time in the participant's time zone is earlier than or equal to the time specified by the QuietTime.End property for the journey.

      If any of the preceding conditions isn't met, the participant will receive messages from the journey, even if quiet time is enabled.

    • refreshFrequency

      public final String refreshFrequency()

      The frequency with which Amazon Pinpoint evaluates segment and event data for the journey, as a duration in ISO 8601 format.

      Returns:
      The frequency with which Amazon Pinpoint evaluates segment and event data for the journey, as a duration in ISO 8601 format.
    • schedule

      public final JourneySchedule schedule()

      The schedule settings for the journey.

      Returns:
      The schedule settings for the journey.
    • startActivity

      public final String startActivity()

      The unique identifier for the first activity in the journey. The identifier for this activity can contain a maximum of 128 characters. The characters must be alphanumeric characters.

      Returns:
      The unique identifier for the first activity in the journey. The identifier for this activity can contain a maximum of 128 characters. The characters must be alphanumeric characters.
    • startCondition

      public final StartCondition startCondition()

      The segment that defines which users are participants in the journey.

      Returns:
      The segment that defines which users are participants in the journey.
    • state

      public final State state()

      The status of the journey. Valid values are:

      • DRAFT - Saves the journey and doesn't publish it.

      • ACTIVE - Saves and publishes the journey. Depending on the journey's schedule, the journey starts running immediately or at the scheduled start time. If a journey's status is ACTIVE, you can't add, change, or remove activities from it.

      PAUSED, CANCELLED, COMPLETED, and CLOSED states are not supported in requests to create or update a journey. To cancel, pause, or resume a journey, use the Journey State resource.

      If the service returns an enum value that is not available in the current SDK version, state will return State.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from stateAsString().

      Returns:
      The status of the journey. Valid values are:

      • DRAFT - Saves the journey and doesn't publish it.

      • ACTIVE - Saves and publishes the journey. Depending on the journey's schedule, the journey starts running immediately or at the scheduled start time. If a journey's status is ACTIVE, you can't add, change, or remove activities from it.

      PAUSED, CANCELLED, COMPLETED, and CLOSED states are not supported in requests to create or update a journey. To cancel, pause, or resume a journey, use the Journey State resource.

      See Also:
    • stateAsString

      public final String stateAsString()

      The status of the journey. Valid values are:

      • DRAFT - Saves the journey and doesn't publish it.

      • ACTIVE - Saves and publishes the journey. Depending on the journey's schedule, the journey starts running immediately or at the scheduled start time. If a journey's status is ACTIVE, you can't add, change, or remove activities from it.

      PAUSED, CANCELLED, COMPLETED, and CLOSED states are not supported in requests to create or update a journey. To cancel, pause, or resume a journey, use the Journey State resource.

      If the service returns an enum value that is not available in the current SDK version, state will return State.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from stateAsString().

      Returns:
      The status of the journey. Valid values are:

      • DRAFT - Saves the journey and doesn't publish it.

      • ACTIVE - Saves and publishes the journey. Depending on the journey's schedule, the journey starts running immediately or at the scheduled start time. If a journey's status is ACTIVE, you can't add, change, or remove activities from it.

      PAUSED, CANCELLED, COMPLETED, and CLOSED states are not supported in requests to create or update a journey. To cancel, pause, or resume a journey, use the Journey State resource.

      See Also:
    • waitForQuietTime

      public final Boolean waitForQuietTime()

      Specifies whether endpoints in quiet hours should enter a wait till the end of their quiet hours.

      Returns:
      Specifies whether endpoints in quiet hours should enter a wait till the end of their quiet hours.
    • refreshOnSegmentUpdate

      public final Boolean refreshOnSegmentUpdate()

      Indicates whether the journey participants should be refreshed when a segment is updated.

      Returns:
      Indicates whether the journey participants should be refreshed when a segment is updated.
    • journeyChannelSettings

      public final JourneyChannelSettings journeyChannelSettings()

      The channel-specific configurations for the journey.

      Returns:
      The channel-specific configurations for the journey.
    • sendingSchedule

      public final Boolean sendingSchedule()

      Indicates if journey has Advance Quiet Time enabled. This flag should be set to true in order to allow using OpenHours and ClosedDays.

      Returns:
      Indicates if journey has Advance Quiet Time enabled. This flag should be set to true in order to allow using OpenHours and ClosedDays.
    • openHours

      public final OpenHours openHours()

      The time when journey allow to send messages. QuietTime should be configured first and SendingSchedule should be set to true.

      Returns:
      The time when journey allow to send messages. QuietTime should be configured first and SendingSchedule should be set to true.
    • closedDays

      public final ClosedDays closedDays()

      The time when journey will stop sending messages. QuietTime should be configured first and SendingSchedule should be set to true.

      Returns:
      The time when journey will stop sending messages. QuietTime should be configured first and SendingSchedule should be set to true.
    • timezoneEstimationMethods

      public final List<__TimezoneEstimationMethodsElement> timezoneEstimationMethods()

      An array of time zone estimation methods, if any, to use for determining an Endpoints time zone if the Endpoint does not have a value for the Demographic.Timezone attribute.

      • PHONE_NUMBER - A time zone is determined based on the Endpoint.Address and Endpoint.Location.Country.

      • POSTAL_CODE - A time zone is determined based on the Endpoint.Location.PostalCode and Endpoint.Location.Country.

        POSTAL_CODE detection is only supported in the United States, United Kingdom, Australia, New Zealand, Canada, France, Italy, Spain, Germany and in regions where Amazon Pinpoint is available.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTimezoneEstimationMethods() method.

      Returns:
      An array of time zone estimation methods, if any, to use for determining an Endpoints time zone if the Endpoint does not have a value for the Demographic.Timezone attribute.

      • PHONE_NUMBER - A time zone is determined based on the Endpoint.Address and Endpoint.Location.Country.

      • POSTAL_CODE - A time zone is determined based on the Endpoint.Location.PostalCode and Endpoint.Location.Country.

        POSTAL_CODE detection is only supported in the United States, United Kingdom, Australia, New Zealand, Canada, France, Italy, Spain, Germany and in regions where Amazon Pinpoint is available.

    • hasTimezoneEstimationMethods

      public final boolean hasTimezoneEstimationMethods()
      For responses, this returns true if the service returned a value for the TimezoneEstimationMethods property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • timezoneEstimationMethodsAsStrings

      public final List<String> timezoneEstimationMethodsAsStrings()

      An array of time zone estimation methods, if any, to use for determining an Endpoints time zone if the Endpoint does not have a value for the Demographic.Timezone attribute.

      • PHONE_NUMBER - A time zone is determined based on the Endpoint.Address and Endpoint.Location.Country.

      • POSTAL_CODE - A time zone is determined based on the Endpoint.Location.PostalCode and Endpoint.Location.Country.

        POSTAL_CODE detection is only supported in the United States, United Kingdom, Australia, New Zealand, Canada, France, Italy, Spain, Germany and in regions where Amazon Pinpoint is available.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTimezoneEstimationMethods() method.

      Returns:
      An array of time zone estimation methods, if any, to use for determining an Endpoints time zone if the Endpoint does not have a value for the Demographic.Timezone attribute.

      • PHONE_NUMBER - A time zone is determined based on the Endpoint.Address and Endpoint.Location.Country.

      • POSTAL_CODE - A time zone is determined based on the Endpoint.Location.PostalCode and Endpoint.Location.Country.

        POSTAL_CODE detection is only supported in the United States, United Kingdom, Australia, New Zealand, Canada, France, Italy, Spain, Germany and in regions where Amazon Pinpoint is available.

    • toBuilder

      public WriteJourneyRequest.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<WriteJourneyRequest.Builder,WriteJourneyRequest>
      Returns:
      a builder for type T
    • builder

      public static WriteJourneyRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends WriteJourneyRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.