# jetformbuilder/3.6.6/modules/active-campaign/api/retrieve-custom-fields-action.php

JetFormBuilder — Dynamic Blocks Form Builder, version 3.6.6. 52 lines.

- Page: https://pluginprobe.com/plugins/jetformbuilder/3.6.6/code/modules/active-campaign/api/retrieve-custom-fields-action.php
- Raw: https://pluginprobe.com/plugins/jetformbuilder/3.6.6/raw/modules/active-campaign/api/retrieve-custom-fields-action.php
- Modified: 2023-11-20T11:46:54+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/jetformbuilder/3.6.6/code/modules/active-campaign/api/retrieve-custom-fields-action.php#L10-L20`.

```php
<?php


namespace JFB_Modules\Active_Campaign\Api;

use Jet_Form_Builder\Classes\Arrayable\Arrayable;

// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) ) {
	die;
}

class Retrieve_Custom_Fields_Action extends Base_Action implements Arrayable {

	protected $method = \WP_REST_Server::READABLE;

	public function action_endpoint() {
		return 'fields';
	}

	public function action_query_args(): array {
		return array(
			'limit' => -1,
		);
	}

	public function to_array(): array {
		$response = array();

		foreach ( $this->response_body['fields'] as $field ) {
			$response[] = array(
				'value' => $field['id'],
				'label' => $field['title'],
			);
		}

		return $response;
	}

	public function get_field_id( string $key ): int {
		foreach ( $this->response_body['fields'] as $field ) {
			if ( $field['perstag'] !== $key ) {
				continue;
			}

			return (int) $field['id'];
		}

		return 0;
	}
}

```
