将重力表条目发送给第 3 方 API

Send gravity form entries to 3rd party API

我目前正在尝试从 Gravity Froms 向第三方发送信息 API。我知道在 Gravity Forms 中有 gform_after_submission 钩子可以将信息发送给第三方 API。

add_action( 'gform_after_submission', 'post_to_third_party', 10, 2 );
function post_to_third_party( $entry, $form ) {

    $post_url = 'http://thirdparty.com';
    $body = array(
        'first_name' => rgar( $entry, '1.3' ), 
        'last_name' => rgar( $entry, '1.6' ), 
        'message' => rgar( $entry, '3' ),
    );
    GFCommon::log_debug( 'gform_after_submission: body => ' . print_r( $body, true ) );

    $request = new WP_Http();
    $response = $request->post( $post_url, array( 'body' => $body ) );
    GFCommon::log_debug( 'gform_after_submission: response => ' . print_r( $response, true ) );
}

我正在尝试使用它,但我还需要根据 API 提供的不同方法发送信息。在这种情况下,我正在为用户创建一个表单来输入新的奖励卡或转移卡。基本上我必须查看我的表格并调用一个方法来检查旧卡号,发送一个调用来添加/更新客户,等等。

现在使用 Gravity Forms gform_after_submission,我如何才能完成将信息输入到 API 上的正确方法所需的一切。请理解,这将是我第一次将信息从 Gravity Forms 发送到像这样的 API。

function post_to_third_party( $entry, $form ) {

//To fetch input inserted into your gravity form//
$old_card  = rgpost( 'input_6' );
$new_card  = rgpost( 'input_3' );

///to send that fetched data to third-party api///
$post_url = 'http://thirdparty.com/{APi request}';
$body = array(
        'old_card' => $old_card, 
        'new_card' => $new_card, 
 );

    GFCommon::log_debug( 'gform_after_submission: body => ' . print_r( $body, true ) );

    $request = new WP_Http();
    $response = $request->post( $post_url, array( 'body' => $body ) );

  //response from api whether card is exist or not///
  $res = json_decode($response['body'],true);

  ///here you can put your logic as per the response//
}
add_action( 'gform_after_submission_4', 'post_to_third_party', 10, 2 );

希望我解释得很好并且可以帮助您更好地理解事情..您可以根据需要更改表单数据 祝你好运。