Email imports: configuration and diagnostics
Read a customer email-import configuration
/a/ImportCustomersEmail_getDetails
Read a customer email-import configuration
When to use this endpoint
Open a configuration from Customers by Email before editing its rules or inspecting its routing address. This is a configuration read, not a lookup of imported customers.
Authentication and permissions
Authenticate with signed API-key fields or a logged-in CRM session. The handler calls Core_requireLogin(); it has no separate page, administrator, or role-permission check.
The account must have Import By Email enabled (employer|features bit 32768). The features_used marker is separate and does not grant access.
The global-table lookup requires owner_id to equal the authenticated tenant. It does not check the configuration type; the route name is not a type boundary.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | Integer | Yes | Positive global import-filter ID, converted with PHP intval(). Obtain it when saving the configuration or opening it from the relevant email-import list. |
Example request
$result = FM_api('ImportCustomersEmail_getDetails', [
'id' => '1042',
]);
Example response
{
"id": "1042",
"owner_id": "12345",
"recipient": "0123456789abcdef0123456789abcdef",
"regexps": "[]",
"form_id": "0",
"sample_email": "",
"sample_email_import": null,
"form_by_regexp": "",
"spreadsheets": "[]",
"regexps_table": "",
"regexps_table_delimiters": "",
"type": "1",
"name": null,
"last_edited": "0",
"sample_email_subject": "",
"notes": null,
"meta": null
}
The response is the raw stored row, not an ok envelope. Database numeric columns are strings in the existing fixtures; nullable columns remain null. Stored JSON in regexps, spreadsheets, regexps_table, regexps_table_delimiters, notes, and meta is not decoded by this handler. Defaults can differ between existing rows; the example is representative, not a guarantee of non-null defaults.
An absent or foreign-owned ID returns JSON false, not an error object. The routing address is recipient@import.fieldmotion.com; treat that address as operational configuration rather than exposing it publicly.
Errors and unusual responses
| Response | Condition |
|---|---|
{"error":"not logged in"} | No authenticated tenant context is available. Invalid signed credentials can be rejected by the dispatcher before the handler runs. |
{"error":"missing or invalid parameter: id"} | The integer-converted ID is less than one; checked before authentication. |
{"error":"Import By Email feature not enabled"} | The account feature bit is disabled. |
Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.
Behaviour and edge cases
- The query is
SELECT *for one owned ID. There is no pagination, ordering control, active/deleted filter, or field projection. It can return an owned filter of any of the three types. - This read performs no writes, timestamp changes, audit entries, cache invalidation, or mailbox processing.
See it in Fieldmotion
CRM1
In Imports → Customers by Email, edit a row. Filter browser requests for ImportCustomersEmail_getDetails to see the raw configuration loaded into the editor.
CRM2
In Customers by Email, edit a row. Filter for ImportCustomersEmail_getDetails; the resulting row is passed to the customer-email editor.
Related endpoints
- ImportCustomersEmail_save: persist the configuration after editing.