This article contains PHP code and is intended for developers. We offer this code as a courtesy, but don't provide support for code customizations or 3rd party development.
This hook allows you to do something with the response returned after an API call.
Usage
add_action( 'frmapi_post_response', 'frm_save_api_response', 10, 3 );
Parameters
- $response (array)
- $entry (array)
- $form_action (array)
Examples
Save a value from the response
After an API request is sent, a response is often returned. Use this example to save that response into a field in the entry. You must include a default value in this field (like 0) so it can be updated.
add_action( 'frmapi_post_response', 'frm_save_api_response', 10, 3 );
function frm_save_api_response( $response, $entry, $form_action ) {
$body = json_decode($response["body"], true);
$returned_id = $body["CHANGEME"]; // this line will change based on the API you are sending to
if ( $returned_id ) {
FrmProEntryMeta::update_single_field( array(
'entry_id' => $entry->id,
'field_id' => 12, // change to the ID of the field to change
'value' => $returned_id,
) );
}
}
Show the API response
Check the response from the webhook, and add a message to the success message shown after your entry is submitted. This is based on the status the API call returns.
add_action( 'frmapi_post_response', 'frm_get_api_response', 10, 3 );
function frm_get_api_response( $response, $entry, $form_action ) {
$status = wp_remote_retrieve_response_code( $response );
if ( $status == 200 ) {
add_filter('frm_main_feedback', 'frm_add_200_to_message' );
} else {
add_filter('frm_main_feedback', 'frm_add_500_to_message' );
}
}
function frm_add_200_to_message( $message ) {
$message .= ' The API call was successful';
return $message;
}
function frm_add_500_to_message( $message ) {
$message .= ' The API call was not successful';
return $message;
}