API Reference - Data Flows

Link: https://support.brilliantdirectories.com/support/solutions/articles/12000108106

← Back to API Reference | Getting Started

Data Flows

Data Flows define the lead routing and matching workflows on your directory site. Each flow configures how visitor submissions are processed, which search engine and UI handles matching, and the parameters used for automatic member-to-lead assignment.

Model name in URL: data_flows — DB table: data_flows

The Data Flow Object

FieldTypeDescription
flow_idintegerUnique data flow ID (primary key, read-only)
flow_namestringInternal machine-readable name for the flow (EG default_flow) required on create
flow_nicknamestringHuman-readable display label for the flow (EG Default Flow) required on create
auto_matchstringAuto-match method identifier; empty string disables auto-matching
search_enginestringSearch widget or engine slug used to find matching members for this flow
search_uistringSearch UI widget slug used to present the lead form to visitors
search_radiusintegerGeographic radius in miles used for auto-matching members to leads
auto_match_numberintegerMaximum number of members to automatically match to each lead submission
auto_match_acceptanceintegerWhether matched members must accept the lead before being connected: 1 yes, 0 no
user_no_email_notificationintegerWhether to suppress email notifications to members for leads from this flow: 1 suppress, 0 send
fromcronintegerWhether this flow can be triggered via cron/scheduled processing: 1 yes, 0 no

List Data Flows

GET /api/v2/data_flows/get

Example Request

Copy
curl -X GET "https://www.yourdomain.com/api/v2/data_flows/get?limit=25" \
  -H "X-Api-Key: your-api-key-here"

Example Response

Copy
{
  "status": "success",
  "message": [
    {
      "flow_id": "1",
      "flow_name": "default_flow",
      "flow_nickname": "Default Flow",
      "auto_match": "",
      "search_engine": "Search - Member - Search Query",
      "search_ui": "get match lead search ui",
      "search_radius": "50",
      "auto_match_number": "5",
      "auto_match_acceptance": "1",
      "user_no_email_notification": "0",
      "fromcron": "0"
    }
  ],
  "total": "1",
  "current_page": 1,
  "total_pages": 1
}

Retrieve a Data Flow

GET /api/v2/data_flows/get/{flow_id}

Example Request

Copy
curl -X GET "https://www.yourdomain.com/api/v2/data_flows/get/1" \
  -H "X-Api-Key: your-api-key-here"

Example Response

Copy
{
  "status": "success",
  "message": [
    {
      "flow_id": "1",
      "flow_name": "default_flow",
      "flow_nickname": "Default Flow",
      "auto_match": "",
      "search_engine": "Search - Member - Search Query",
      "search_ui": "get match lead search ui",
      "search_radius": "50",
      "auto_match_number": "5",
      "auto_match_acceptance": "1",
      "user_no_email_notification": "0",
      "fromcron": "0"
    }
  ],
  "total": "1",
  "current_page": 1,
  "total_pages": 1
}

Create a Data Flow

POST /api/v2/data_flows/create

Example Request

Copy
curl -X POST "https://www.yourdomain.com/api/v2/data_flows/create" \
  -H "X-Api-Key: your-api-key-here" \
  -d "flow_name=premium_flow" \
  -d "flow_nickname=Premium+Member+Flow" \
  -d "search_engine=Search+-+Member+-+Search+Query" \
  -d "search_ui=get+match+lead+search+ui" \
  -d "search_radius=25" \
  -d "auto_match_number=3" \
  -d "auto_match_acceptance=1"

Example Response

Copy
{
  "status": "success",
  "message": {
    "flow_id": "2",
    "flow_name": "premium_flow",
    "flow_nickname": "Premium Member Flow",
    "auto_match": null,
    "search_engine": "Search - Member - Search Query",
    "search_ui": "get match lead search ui",
    "search_radius": "25",
    "auto_match_number": "3",
    "auto_match_acceptance": "1",
    "user_no_email_notification": null,
    "fromcron": null
  }
}

Update a Data Flow

PUT /api/v2/data_flows/update

Example Request

Copy
curl -X PUT "https://www.yourdomain.com/api/v2/data_flows/update" \
  -H "X-Api-Key: your-api-key-here" \
  -d "flow_id=2" \
  -d "search_radius=10" \
  -d "auto_match_number=5"

Example Response

Copy
{
  "status": "success",
  "message": {
    "flow_id": "2",
    "flow_name": "premium_flow",
    "flow_nickname": "Premium Member Flow",
    "auto_match": null,
    "search_engine": "Search - Member - Search Query",
    "search_ui": "get match lead search ui",
    "search_radius": "10",
    "auto_match_number": "5",
    "auto_match_acceptance": "1",
    "user_no_email_notification": null,
    "fromcron": null
  }
}

Delete a Data Flow

DELETE /api/v2/data_flows/delete

Example Request

Copy
curl -X DELETE "https://www.yourdomain.com/api/v2/data_flows/delete" \
  -H "X-Api-Key: your-api-key-here" \
  -d "flow_id=2"

Example Response

Copy
{
  "status": "success",
  "message": "data_flows record was deleted"
}