Interface Inx_Api_TriggerMailing_Descriptor_IntervalTriggerDescriptorBuilder

Description

The Inx_Api_TriggerMailing_Descriptor_IntervalTriggerDescriptorBuilder is used to easily create interval triggers.

The Inx_Api_TriggerMailing_Descriptor_IntervalTriggerDescriptorBuilder is used to easily create interval triggers. The following settings are mandatory:

  • The start date: Defines the date at which the trigger will be fired for the first time.
  • The sending time: Defines the time at which the trigger will be fired during each dispatch cycle.
  • The interval: Defines the interval at which the trigger will be fired.

Using only these settings the easiest possible interval trigger descriptor can be built using the following statements:

 $intFactory = $session->getTriggerMailingManager()->getTriggerIntervalBuilderFactory();
 $intBuilder = $intFactory->getDailyIntervalBuilder();
 $intBuilder->intervalCount( 1 );
 $interval = $intBuilder->build();
 $sendingTime = date('c', mktime(12, 30));

 $factory = $session->getTriggerMailingManager()->getTriggerDescriptorBuilderFactory();
 $builder = $factory->createIntervalTriggerDescriptorBuilder();
 $builder->startDate( date('c') );
 $builder->sendingTime( $sendingTime );
 $builder->interval( $interval );
 $descriptor = $builder->build();

There are also some optional settings which can be set:

  • The end date: Defines the date at which the trigger mailing will be dispatched for the last time.
  • The attribute value setters: Can be used to set recipient attribute values along with the dispatch of the trigger mailing.

Using all of these settings, the trigger descriptor could be built with the following statements:

 $intFactory = $session->getTriggerMailingManager()->getTriggerIntervalBuilderFactory();
 $interval = $intFactory->getWeeklyIntervalBuilder()->intervalCount( 2 )->dispatchIntervals(
      array(Inx_Api_TriggerMailing_Descriptor_TimeTriggerDispatchInterval::MONDAY(),
          Inx_Api_TriggerMailing_Descriptor_TimeTriggerDispatchInterval::FRIDAY() ) )->build();

 $rmd = $session->createRecipientContext()->getMetaData();
 $counterId = $rmd->getUserAttribute( "Counter" )->getId();
 $endDate = date('c', strtotime('+1 year'));
 $sendingTime = date('c', mktime(12, 30));

 $cmdFactory = $session->getActionManager()->getCommandFactory();
 $cmd = $cmdFactory->createSetRelativeValueCmd( $counterId, "1" );
 $commands = array( $cmd );

 $factory = $session->getTriggerMailingManager()->getTriggerDescriptorBuilderFactory();
 $descriptor = $factory->createIntervalTriggerDescriptorBuilder()->startDate( date('c') )
      ->sendingTime( $sendingTime )->endDate( $endDate )->interval( $interval )
      ->attributeValueSetters( $commands )->build();
The created trigger will fire every two weeks on Monday and Friday at 12:30 and will increase the Counter attribute. The trigger will be active from now on till the next year.

Located in /Api/TriggerMailing/Descriptor/IntervalTriggerDescriptorBuilder.php (line 73)

Inx_Api_TriggerMailing_Descriptor_TriggerDescriptorBuilder
   |
   --Inx_Api_TriggerMailing_Descriptor_TimeTriggerDescriptorBuilder
      |
      --Inx_Api_TriggerMailing_Descriptor_IntervalTriggerDescriptorBuilder
Method Summary
Methods
interval (line 85)

Sets the Inx_Api_TriggerMailing_Descriptor_TriggerInterval used to define the dispatch intervals of an interval trigger mailing.

Sets the Inx_Api_TriggerMailing_Descriptor_TriggerInterval used to define the dispatch intervals of an interval trigger mailing. This setting is mandatory.

  • return: the builder.
  • throws: Inx_Api_NullPointerException if the given interval is null.
  • access: public

Inherited Methods

Inherited From Inx_Api_TriggerMailing_Descriptor_TimeTriggerDescriptorBuilder

Inx_Api_TriggerMailing_Descriptor_TimeTriggerDescriptorBuilder::attributeValueSetters()
Inx_Api_TriggerMailing_Descriptor_TimeTriggerDescriptorBuilder::endDate()
Inx_Api_TriggerMailing_Descriptor_TimeTriggerDescriptorBuilder::sendingTime()
Inx_Api_TriggerMailing_Descriptor_TimeTriggerDescriptorBuilder::startDate()

Inherited From Inx_Api_TriggerMailing_Descriptor_TriggerDescriptorBuilder

Inx_Api_TriggerMailing_Descriptor_TriggerDescriptorBuilder::build()
Inx_Api_TriggerMailing_Descriptor_TriggerDescriptorBuilder::validate()

Documentation generated on Thu, 17 Sep 2015 14:27:26 +0200 by phpDocumentor 1.3.2