How to get wordpress gravityforms calculated field value with api [RESOLVED]

I am using api v2 for gravityforms to submit to a form from a telegram bot.

This form have some calculation fields(value is calculated based on other fields).

I need to get the values of the calculated fields and show them to the bots user before actually submitting the form.

When there is only one calculation field, I can handle it, I get the form, and extract the formula from the field and parse it and get the value.

  public function calculateFieldValue(&$form, $fields, $fieldId) {
    $formula = $fields[$fieldId]['calculationFormula'];
    preg_match_all('/\{[^\}]*\}/', $formula, $output_array);
    foreach ($output_array[0] as $row) {
      preg_match('/[0-9]+/', $row, $id);
      $id         = $id[0];
      $fieldValue = $form['input_' . $id];
      $formula    = str_replace($row, $fieldValue, $formula);

    return $form['input_' . $fieldId] = eval('return ' . $formula . ';');

But some of the fields are using conditional logic to have different formulas based on the input …

So is there any api or hack to tell gravity form to calculate the fields values before submitting it? or do I have to recreate the entire conditional logic of the gravityform and extract the correct field from the list?

would it be possible to do this with a plugin?

also posted here

Ended up writing my own helper class

1 Like

Thank you for sharing that.