Goal Settings

Enabling the user to define and manage their goals: add, pause and restart, stop goal, change goal definitions and more.

Goal Name

setGoalSettings request, for setting or changing the goal name. Set the following values:

  • goalId – goal id, fetched from a getGoalSettings response / insight payload
  • name – new goal name

Example:

{ 
     "type": "setGoalSettings", 
     "protocolVersion": "2.6", 
     "settings": { 
     "goals": [{ 
           "goalId": "12345", 
           "name": "Eve’s Winter Camp" 
           }] 
      } 
}

Goal Image

setGoalSettings request, for changing a goal's image. Set the following values:

  • goalId – The goal id (should be fetched from a getGoalSettings response / insight payload)
  • image – The new goal image url

Example:

{ 
     "type": "setGoalSettings", 
     "protocolVersion": "2.6", 
     "settings": { 
     "goals": [{ 
           "goalId": "12345", 
           "image": "url12" 
           }] 
      } 
}

Goal Target Amount

setGoalSettings request, for changing a goal's target amount. Set the following values:

  • goalId – goal id, fetched from a getGoalSettings response / insight payload
  • targetAmount - target amount of goal

Example:

{ 
     "type": "setGoalSettings", 
     "protocolVersion": "2.6", 
     "settings": { 
     "goals": [{ 
           "goalId": "12345", 
           "targetAmount": "30000" 
           }] 
      } 
}

Goal Target Date

setGoalSettings request, for changing a goal's target date. Set the following values:

  • goalId – goal id, fetched from a getGoalSettings response / insight payload
  • targetDate – goal target date

Example:

{ 
     "type": "setGoalSettings", 
     "protocolVersion": "2.6", 
     "settings": { 
     "goals": [{ 
           "goalId": "12345", 
           "targetDate": "09/23/2026 11:00 AM" 
           }] 
      } 
}

Goals Distribution Ratio

setGoalSettings request, for changing changing the ratio of transfers from each source. Set the following values:

  • goalId – goal id, fetched from a getGoalSettings response / insight payload
  • distribution – goals distribution ratio to be set per account from which money will be transferred.

    Note: Be sure the total 'distribution' ratio does not exceed 1.0. That includes goals previously set in the corresponding DB table and not included in the current setGoalSettings request.

Example:

{ 
     "type": "setGoalSettings", 
     "protocolVersion": "2.6", 
     "settings": { 
     "goals": [{ 
           "goalId": "12345",
                  "accountId": "111",
			     "distribution": 0.6
		}, {
			      "goalId": "23456",
                  "accountId": "111",
		      	"distribution": 0.4

           }] 
      } 
}

Pausing a Goal

A goal can be paused by the customer anytime. Paused goals continue to be presented in the tracking insights and in the program controls page, and can be resumed anytime by the customer. The goal balance and distribution ratio will remain static.

Note: Unless the customer actively changes the distribution, the ratio set for this goal will be allocated between the other active and non-paused goals hosted at the same target account.

setGoalSettings request, for pausing a goal. Set the following values:

  • goalId – goal id, fetched from a getGoalSettings response / insight payload
  • pauseStart – The date when the pause should start
  • pauseEnd – The date when the pause should end

Note: For an indefinite pause period send "pauseEnd" with value of "12/31/2999 11:00 AM"

Example:

{ 
     "type": "setGoalSettings", 
     "protocolVersion": "2.6", 
     "settings": { 
     "goals": [{ 
           "goalId": "12345", 
           "pauseStart": "09/09/2021 11:00 AM",
                 "pauseEnd": "09/20/2021 11:00 AM"
 
           }] 
      } 
}

Resuming a Goal

A goal can be resumed by the customer anytime. The goal distribution ratio will remain as previously defined.

Note: Unless the customer actively changes the distribution, the ratio set for this goal will be allocated between the other active and non-paused goals hosted at the same target account.

setGoalSettings request, for resuming a goal. Set the following values:

  • goalId – goal id, fetched from a getGoalSettings response / insight payload
  • pauseStart – null
    • pauseEnd – null
    • distribution –

Example:

{ 
     "type": "setGoalSettings", 
     "protocolVersion": "2.6", 
     "settings": { 
     "goals": [{ 
           "goalId": "12345", 
           "pauseStart": "",
                 "pauseEnd": "", 
                      "distribution": 0.4
           }] 
      } 
}

Stopping a Goal

A stopped goal cannot be reactivated, and will no longer be presented in the tracking insights and in the program control page. In addition:

  • The goal balance will be transferred to the core savings goal balance
  • The goal distribution ratio of the stopped goal is allocated to the Core Savings Goal and the stopped goal’s ratio will reset to zero ('0').

Note: If the stopped goal is the last goal of the target account, a setProgramSettings to opt out from the program should be sent as well.

setGoalSettings request, for resuming a goal. Set the following values:

  • goalId – goal id, fetched from a getGoalSettings response / insight payload
  • "activationStatus": false,
  • "distribution": 0.0

Example:

{ 
     "type": "setGoalSettings", 
     "protocolVersion": "2.6", 
     "settings": { 
     "goals": [{ 
           "goalId": "12345", 
           "activationStatus": false, 
           "distribution": 0.0

           }] 
      } 
}